입체조형 STL (.stl)
3D 표준Standard Triangle Language(STL, Stereolithography라고도 함)는 3D 프린팅 및 쾌속 조형 업계의 필수 범용 형식입니다. 원시 삼각형 면으로 고체 3D 객체의 표면 형상을 표현합니다.
OBJ을(를) STL(으)로 변환
무료 브라우저 내 OBJ에서 STL로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 STL 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 STL 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
73 6F 6C 69 64ASCII 표현: solid
표준화: 3D Systems Stereolithography Specification
기술 사양
| 컨테이너 아키텍처 | “solid”로 시작하는 ASCII 형식 또는 바이너리 형식(80바이트 헤더, 32비트 삼각형 개수, 면당 50바이트 레코드) |
| 압축 | 압축하지 않은 원시 삼각형 면 |
| 바이트 엔디안 | 바이너리 STL은 리틀 엔디안(Intel x86) |
| 색 공간 | 없음(단색 지오메트리; 독점 VisCAM/Magics 색상 확장 방식은 존재) |
| 채널 및 구조 | 삼각형 면: 표면 법선 벡터(I, J, K) 및 정점 3개의 좌표(X, Y, Z) |
| 최대 크기 | 3D 물리 좌표 크기 제한 없음(보통 밀리미터 단위) |
| 투명도 | 없음(고체 물체) |
| 스트리밍 및 프로그레시브 | 면을 순차 스트리밍하여 슬라이스를 계속 생성할 수 있음 |
기술 비교 매트릭스: STL 대 경쟁사
| 기술적 속성 | STL (현재) | OBJ | 3MF | STEP |
|---|---|---|---|---|
| 3D 프린팅 슬라이서 채택률 | 보편적인 표준으로 폭넓게 지원됨 | 폭넓게 지원됨 | 최신 후속 표준 | CAD 엔지니어링 표준 |
| 색상 및 텍스처 지원 | 없음 (순수 표면 형상) | 전체 UV 텍스처 매핑 | 전체 색상, 재질 및 다중 압출기 지원 | 파라메트릭 단색상 |
| 면 구조 | 독립된 삼각형 면 | 공유 정점을 사용하는 연결 메시 | 공유 정점 기반 인덱스 메시 | 정확한 파라메트릭 곡선(NURBS) |
| 단위 정의 | 단위 없음(밀리미터로 가정) | 단위 없음(미터 또는 밀리미터로 가정) | 명시적 단위 (mm, cm, 인치) | 명시적 엔지니어링 단위 |
일반적인 손상 모드 및 헥스 복구 가이드
3D 슬라이서에서 “모델이 매니폴드가 아님 / 매니폴드가 아닌 모서리가 있음”이라는 경고가 표시됩니다.
근본 원인: 삼각형 메시의 구멍, 자체 교차 삼각형 또는 뒤집힌 표면 법선
복구: File2File.app 3D Mesh Repair Tool 또는 Netfabb로 메시를 폐곡면(watertight)으로 복구하십시오.
보안 분석 및 파서 공격 벡터
바이너리 STL 파서는 32비트 삼각형 개수를 처리합니다. 정수 오버플로가 발생하면 힙 할당 크기가 부족해져 범위를 벗어난 쓰기가 가능해집니다.
알려진 공격 벡터
- triangle_count * 50바이트 메모리 할당 중 발생하는 정수 오버플로
- 실제 파일 크기가 선언된 삼각형 개수에 필요한 크기보다 작을 때 발생하는 버퍼 초과 읽기
- 수 GB 규모 삼각형 할당을 통한 서비스 거부(DoS)
방어적 모범 사례: 읽기 전에 선언된 삼각형 개수가 (file_size - 84) / 50과 정확히 일치하는지 검증하십시오.
역사적 배경 및 주요 이력
주요 장점
- 3D 프린팅 분야의 독보적인 세계 표준으로 PrusaSlicer, Cura, Bambu Studio 등 모든 슬라이서와 CAM 소프트웨어에서 지원됩니다.
- 간단하고 컴팩트한 바이너리 형식: 헤더는 정확히 84바이트이며 삼각형 면마다 50바이트입니다.
- 적층 제조 툴패스 생성에 필요한 폐쇄형(watertight) 표면 경계를 직접 표현합니다.
기술적 제한 사항 및 단점
- 색상, 재질 또는 텍스처를 지원하지 않아 풀컬러 3D 프린트를 기본 표현할 수 없습니다.
- 곡면을 수천 개의 평면 삼각형으로 근사해야 해 폴리곤 수가 크게 늘어납니다.
- 물리적 측정 단위를 지정하지 않아 슬라이서가 밀리미터 또는 인치로 가정해야 합니다.
흥미로운 기술적 상식
- Chuck Hull은 1986년에 3D 프린팅 특허를 취득하고 1987년에 자신의 SLA-1 프린터에 3D 모델을 전달하기 위한 STL 형식을 만들었습니다.
- STL 파일에는 단위 메타데이터가 없습니다. 치수가 10인 큐브는 슬라이서 설정에 따라 10mm, 10m 또는 10인치일 수 있습니다.
- 바이너리 STL 파일은 어떤 텍스트든 담을 수 있는 80바이트 헤더를 사용하지만, 일부 디코더가 ASCII 파일로 오인할 수 있으므로 “solid”로 시작하면 안 됩니다.
자주 묻는 기술 질문
어떤 프로그램에서 STL 파일을 열 수 있습니까?
Cura, PrusaSlicer, Bambu Studio 같은 3D 프린팅 슬라이서나 Fusion 360, Blender 같은 CAD 프로그램에서 STL을 열 수 있습니다. File2File.app에서 온라인으로 바로 볼 수도 있습니다.
ASCII STL과 바이너리 STL은 어떻게 다릅니까?
바이너리 STL은 ASCII STL보다 약 5~6배 작고 훨씬 빨리 로드되므로 3D 프린팅에 더 적합합니다.
STL 파일을 OBJ 또는 GLB로 어떻게 변환할 수 있습니까?
File2File.app을 사용하면 브라우저에서 STL 파일을 텍스처가 적용된 OBJ 모델이나 웹용 GLB 파일로 변환할 수 있습니다.