STL 파일이란?
STL(stereolithrography)은 3차원 표면 형상을 나타내는 교환 가능한 파일 형식입니다. 파일 형식은 신속한 프로토타이핑, 3D 인쇄 및 컴퓨터 지원 제조와 같은 여러 분야에서 사용됩니다. 각 면은 수직 방향과 삼각형의 꼭짓점을 나타내는 세 개의 점으로 설명되는 면이라고 하는 일련의 작은 삼각형으로 표면을 나타냅니다. 결과 데이터는 Fabber가 구축할 3D 모양의 단면을 결정하기 위해 응용 프로그램에서 사용됩니다. 색상, 질감 또는 기타 일반적인 CAD 모델 속성의 표현을 위해 STL 파일 형식에서 사용할 수 있는 정보가 없습니다.
간략한 역사
STL 파일 형식의 개발은 1987년으로 거슬러 올라갑니다. 상업용 3D 프린터에서 사용하기 위해 3D Systems에서 개발했습니다. STL 2.0으로 알려진 STL 파일 형식의 수정된 버전은 파일 형식에 대한 업데이트와 함께 2009년에 제안되었습니다.
파일 형식 사양
STL 파일은 면을 사용하여 표면 형상을 나타냅니다. 면은 3D 개체의 표면을 정의하고 길이가 1.0인 삼각형에 수직인 선인 단위 법선과 세 개의 꼭짓점으로 고유하게 식별됩니다. 각 패싯에 대해 총 12개의 숫자가 Normal로 저장되며 각 정점은 각각 3개의 좌표로 지정됩니다. StL 파일에는 축척 정보가 포함되어 있지 않습니다. 좌표는 임의의 단위입니다.
STL 파일 형식의 사양은 다음 두 가지 측면에서 검토할 수 있습니다.
패싯 방향
면의 방향은 단위 법선의 방향과 정점이 나열되는 순서에 따라 결정됩니다. 패싯의 방향은 다음과 같은 두 가지 방법으로 지정됩니다.
- 법선의 방향은 바깥쪽
- 꼭짓점은 오른손 법칙에 따라 외부에서 시계 반대 방향으로 나열됩니다.
꼭짓점 대 꼭짓점 규칙
이 규칙에 따르면 각 삼각형은 인접한 각 삼각형과 두 개의 꼭짓점을 공유합니다. 따라서 한 삼각형의 꼭짓점은 다른 삼각형의 측면에 놓일 수 없습니다.
파일 형식
STL은 ASCII 및 압축 파일 형식에 대한 이진 표현으로 사용할 수 있습니다.
STL ASCII 형식
ASCII 버전의 STL 파일 형식은 일반 ASCII로 작성됩니다. 그러나 파일 형식이 크기 때문에 선호하는 사용 형식으로 선택되지 않습니다. ASCII STL 파일의 구문은 다음과 같습니다.
solid name
facet normal ni nj nk
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet
endsolid name
볼드체 단어는 항상 소문자여야 하는 키워드를 나타냅니다. 기울임꼴 기호는 사용자 지정 값으로 대체되는 변수입니다. 패싯 법선 및 정점 라인의 숫자 데이터는 단정밀도 부동 소수점입니다(예: 1.23456E+789). 패싯 법선 좌표에는 앞에 빼기 기호가 있을 수 있습니다. 정점 좌표는 그렇지 않을 수 있습니다.
STL 바이너리 형식
이진 형식은 IEEE 정수 및 부동 소수점 숫자 표현을 사용합니다. 파일 형식은 다음과 같이 표시됩니다.
필드 | 정보 |
---|---|
헤더 | 80자 |
삼각형 수 | 4바이트 리틀 엔디안 부호 없는 정수 |
각 삼각형에 대한 데이터 | 12개의 32비트 부동 소수점 숫자 |
파일 형식을 좀 더 자세히 보면 아래와 같습니다.
UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end