적층 제조 파일 형식
Additive manufacturing file format![]() |
![]() AMF 아이콘 | |
파일 이름 확장자 | .amf |
---|---|
인터넷 미디어 유형 | 응용 프로그램/x-amf |
개발자 | ASTM/ISO |
초기 릴리즈 | 2011년 5월 2일( |
최신 릴리즈 | 1.2 |
표준. | ISO / ASTM52915 - 16[1] |
AMF(Additive Manufacturing File Format)는 3D 프린팅과 같은 적층 제조 공정의 객체를 기술하기 위한 개방형 표준입니다.공식 ISO/ASTM 52915[1][2]:2016 표준은 모든 컴퓨터 지원 설계 소프트웨어가 컴퓨터 지원 제조 소프트웨어를 통해 모든 3D 프린터에서 3D 물체의 모양과 구성을 기술할 수 있도록 설계된 XML 기반 형식입니다.이전 STL 형식과 달리 AMF는 색상, 재료, 격자 및 별자리를 기본적으로 지원합니다.
구조.
AMF는 1개의 오브젝트 또는 1개의 Constellation에 배치된 복수의 오브젝트를 나타낼 수 있습니다.각 개체는 겹치지 않는 볼륨 집합으로 설명됩니다.각 볼륨은 점 세트(수직)를 참조하는 삼각형 메시로 설명됩니다.이러한 정점은 동일한 개체에 속하는 볼륨 간에 공유할 수 있습니다.AMF 파일은 각 볼륨의 재료와 색상뿐만 아니라 메시에 있는 각 삼각형의 색상도 지정할 수 있습니다.AMF 파일은 zip 압축 형식을 사용하여 압축되지만 ".amf" 파일 확장자는 유지됩니다.최소 AMF 리더 구현에서는 AMF 파일의 압축을 풀고 최소 지오메트리 정보(곡률 무시)를 가져올 수 있어야 합니다.
기본 파일 구조
AMF 파일은 XML 버전과 인코딩을 지정하는 XML 선언 행으로 시작합니다.파일의 나머지 부분은 개구부 사이에 둘러싸여 있습니다.<amf>
요소 및 마감</amf>
요소.장치 시스템도 지정할 수 있습니다(밀리미터, 인치, 피트, 미터 또는 마이크로미터).단위 규격이 없는 경우 밀리미터로 가정합니다.
AMF 브래킷에는 5개의 최상위 요소가 있습니다.완전히 기능하는 AMF 파일에는 하나의 객체 요소만 필요합니다.
<object>
객체 요소는 인쇄를 위한 재료 ID와 연결된 재료의 볼륨을 정의합니다.파일에 하나 이상의 개체 요소가 있어야 합니다.추가 개체는 옵션입니다.<material>
선택적 재료 요소는 연관된 재료 ID로 인쇄하기 위한 하나 이상의 재료를 정의합니다.재료 요소가 포함되지 않은 경우 단일 기본 재료를 가정합니다.<texture>
선택적 텍스처 요소는 색상 또는 텍스처 매핑을 위한 하나 이상의 이미지 또는 텍스처를 정의합니다. 각 이미지 또는 텍스처는 연관된 텍스처 ID를 가집니다.<constellation>
옵션인 Constellation 요소는 오브젝트와 다른 Constellation을 인쇄를 위해 상대적인 패턴으로 계층적으로 결합합니다.<metadata>
선택적 메타데이터 요소는 파일에 포함된 개체 및 요소에 대한 추가 정보를 지정합니다.
지오메트리 사양
형식은 면-버텍스 폴리곤 망사 레이아웃을 사용합니다.각 최상위 수준<object>
element는 일의입니다.id
.그<object>
요소를 선택적으로 지정할 수도 있습니다.전체 메쉬 형상이 단일에 포함됩니다.mesh
요소.메시는 다음 중 하나를 사용하여 정의됩니다.<vertices>
요소 및 하나 이상의<volume>
요소들.필요한 것<vertices>
요소는 이 개체에서 사용되는 모든 정점을 나열합니다.각 정점에는 0부터 시작하여 선언된 순서대로 암묵적으로 번호가 할당됩니다.필요한 자식 요소<coordinates>
를 사용하여 3D 공간에서 점의 위치를 제공합니다.<x>
,<y>
그리고.<z>
요소들.정점 정보 뒤에 하나 이상의 정점 정보<volume>
요소를 포함해야 합니다.각 볼륨은 개체의 닫힌 볼륨을 캡슐화합니다. 단일 개체에서 여러 볼륨을 지정할 수 있습니다.볼륨은 인터페이스에서 정점을 공유할 수 있지만 겹치는 볼륨을 가질 수 없습니다.각 볼륨 내에서 자 요소는<triangle>
볼륨 표면을 테셀링하는 삼각형을 정의하는 데 사용됩니다.각각<triangle>
요소는 이전에 정의된 정점의 색인 집합에서 세 개의 정점을 나열합니다.<vertices>
요소.삼각형의 세 꼭지점 색인은 다음과 같이 지정됩니다.<v1>
,<v2>
그리고.<v3>
요소들.정점의 순서는 오른쪽 규칙에 따라 정점이 외부에서 볼 때 시계 반대 방향으로 나열되도록 해야 합니다.각 삼각형에는 선언된 순서대로 0부터 시작하는 번호가 암묵적으로 할당됩니다.
색상 사양
색채는 다음 명령어를 사용하여 도입됩니다.<color>
sRGBcolor 공간에 있는 빨간색, 녹색, 파란색 및 알파(투명) 채널을 0 ~1 범위의 숫자로 지정함으로써 요소를 지정합니다.그<color>
요소는 재료, 객체, 볼륨, 정점 또는 삼각형 레벨에 삽입할 수 있으며 역순으로 우선됩니다(색상은 가장 우선됩니다).투명 채널은 낮은 레벨의 색상이 어느 정도 혼합되는지 지정합니다.기본적으로는 모든 값은 0으로 설정됩니다.
색상은 다양한 좌표의존 함수를 사용할 수 있는 공식을 참조하여 지정할 수도 있다.
텍스처 맵
텍스처 맵을 사용하면 그래픽의 텍스처 매핑 아이디어에서 차용하여 표면 또는 볼륨에 색상 또는 재료를 할당할 수 있습니다.그<texture>
요소는 처음에 관련지어집니다.texture-id
특정 텍스처 데이터를 사용합니다.데이터는 색상과 재료 중 어느 쪽을 지표면에 매핑해야 하는지 또는 볼륨에 매핑해야 하는지에 따라 2D 또는 3D 배열로 표시할 수 있습니다.데이터는 0-255 범위의 그레이스케일 레벨을 지정하는 픽셀당 1바이트씩 Base64 인코딩의 바이트 문자열로 표시됩니다.
texture-id가 할당되면 아래 예시와 같이 색상 수식으로 텍스처 데이터를 참조할 수 있습니다.
그러나 일반적으로 좌표는 위와 같이 직접 사용되지 않고 먼저 객체 좌표에서 텍스처 좌표로 변환됩니다.예를들면,tex(1,f1(x,y,z),f2(x,y,z),f3(x,y,z))
어디에f1(), f2(), f3()
는 일부 함수이며, 일반적으로 선형입니다.
재료사양서
소재는 <material> 요소를 사용하여 도입됩니다.각 재료에는 고유한 ID가 할당됩니다.기하학적 볼륨은 <볼륨> 요소 내에서 재료 ID를 지정함으로써 재료와 관련지어집니다.
혼합 재료, 등급별 재료, 격자 재료 및 랜덤 재료
새로운 재료는 다른 재료의 성분으로 정의할 수 있습니다.요소<composite>
는 구성의 비율을 상수 또는 x, y 및 z 좌표에 종속된 공식으로 지정하는 데 사용됩니다.일정한 혼합 비율은 균일한 재료로 이어집니다.좌표 의존성 조성물은 등급 매겨진 재료로 이어질 수 있다.좌표 의존 비율이 더 복잡하면 비선형 재료 구배와 주기적 및 비주기적 하위 구조가 발생할 수 있습니다.비율 공식은 또한 다음을 사용하여 텍스처 맵을 참조할 수 있습니다.tex(textureid,x,y,z)
기능.material-id "0"(void)에 대한 참조는 예약되어 있으며 다공질 구조를 지정하는 데 사용될 수 있다.에 대한 참조rand(x,y,z)
함수를 사용하여 유사 합성 재료를 지정할 수 있습니다.그rand(x,y,z)
함수는 0에서 1 사이의 해당 좌표에 대해 영속적인 난수를 반환합니다.
별자리 인쇄
를 사용하여 여러 개체를 함께 배열할 수 있습니다.<constellation>
요소.별자리는 물체의 위치와 방향을 지정하여 패킹 효율을 높이고 동일한 물체의 대규모 배열을 설명할 수 있습니다.그<instance>
요소는 기존 개체가 별자리 위치에 도달하기 위해 거쳐야 하는 변위 및 회전을 지정합니다.변위 및 회전은 항상 객체가 정의된 원래 위치와 방향에 대해 상대적으로 정의됩니다.별자리는 순환 참조가 회피되는 한 다른 별자리를 참조할 수 있다.
여러 개의 최상위 별자리를 지정하거나 별자리 없는 다중 개체를 지정한 경우 상대 위치 데이터 없이 각 개체를 가져옵니다.Import 프로그램은 상대적인 위치를 자유롭게 결정할 수 있습니다.
메타 데이터
그<metadata>
요소를 선택적으로 사용하여 정의할 객체, 지오메트리 및 재료에 대한 추가 정보를 지정할 수 있습니다.예를 들어, 이 정보는 이름, 텍스트 설명, 저자, 저작권 정보 및 특별 지침을 지정할 수 있습니다.그<metadata>
요소를 최상위 레벨에 포함시켜 전체 파일의 속성을 지정하거나 객체, 볼륨 및 재료 내에 포함시켜 해당 엔티티에 대해 로컬 속성을 지정할 수 있습니다.
옵션 곡선 삼각형
기하학적 충실도를 높이기 위해 이 형식을 사용하면 삼각형 패치를 구부릴 수 있습니다.기본적으로 모든 삼각형이 평평하고 모든 삼각형의 모서리가 두 정점을 연결하는 직선으로 간주됩니다.그러나 곡면을 기술하는 데 필요한 메시 요소의 수를 줄이기 위해 곡면 삼각형 및 곡면 모서리를 선택적으로 지정할 수 있습니다.곡률 정보는 동일한 수의 평면 [1]삼각형으로 기술된 표면에 비해 구면 표면의 오차를 1000배 감소시키는 것으로 나타났다.곡률로 인해 삼각형의 가장 큰 치수의 50%를 초과하는 평면 삼각형의 평면에서 편차가 생겨서는 안 됩니다.
곡면성을 지정하려면 정점에 선택적으로 하위 요소를 포함할 수 있습니다.<normal>
정점 위치에서 원하는 표면 법선을 지정합니다.노멀은 유닛의 길이와 바깥쪽을 가리켜야 합니다.이 법선이 지정된 경우 해당 정점에서 만나는 모든 삼각형 모서리는 법선과 수직이 되도록 그리고 법선과 원래 직선 모서리에 의해 정의된 평면에서 곡선됩니다.정점에서 표면의 곡률이 정의되지 않은 경우(예: 첨두부, 모서리 또는 모서리),<edge>
요소를 사용하여 두 정점을 연결하는 단일 비선형 모서리의 곡률을 지정할 수 있습니다.곡률은 해당 모서리의 시작과 끝에 있는 접선 방향 벡터를 사용하여 지정됩니다.그<edge>
에 의해 암시되는 곡률과의 경합이 발생했을 경우 요소가 우선됩니다.<normal>
요소.
곡률을 지정하면 삼각형이 4개의 하위 삼각으로 재귀적으로 분해됩니다.원래 곡선 삼각형이 최종적으로 1024개의 평면 삼각형으로 대체되도록 재귀는 5단계 깊이로 실행되어야 합니다.이 1024개의 삼각형은 "즉각" 생성되며 해당 삼각형과 교차하는 레이어가 제조를 위해 처리되는 동안에만 일시적으로 저장됩니다.
수식
양쪽에서<color>
그리고.<composite>
요소, 좌표 의존 공식을 상수 대신 사용할 수 있습니다.이러한 공식은 다양한 표준 대수 및 수학 연산자와 식을 사용할 수 있습니다.
압축
AMF는 일반 텍스트 또는 압축 텍스트로 저장할 수 있습니다.압축된 경우 압축은 ZIP 아카이브 형식입니다.압축된 AMF 파일은 일반적으로 동등한 압축 바이너리 STL [3]: 275 파일의 절반 크기입니다.압축은 압축 소프트웨어를 사용하여 수동으로 수행하거나 쓰기 중에 내보내기 소프트웨어를 통해 자동으로 수행될 수 있습니다.압축된 파일과 압축되지 않은 파일 모두.amf
파일이 압축되어 있는지, 압축되어 있는지, 압축되어 있는 경우는 Import시에 압축을 해제하는 것은, 해석 프로그램의 책임입니다.
설계에 관한 고려 사항
ASTM 설계 소위원회가 AMF 규격[when?] 개발을 시작했을 때, 이해관계자 조사에[4] 따르면 새 표준의 핵심 우선순위는 비독점적 형식에 대한 요건이었다.STL 포맷의 문제에서는 유닛과 빌드빌리티의 문제가 해결되지 않았습니다.기타 주요 요구사항으로는 높은 충실도와 작은 파일 크기, 여러 재료, 색상 및 미세 구조를 사용하여 지오메트리를 지정할 수 있는 기능이 있었습니다.적층 제조 분야에서 성공을 거두기 위해 이 파일 형식은 다음과 같은 문제를 해결하도록 설계되었습니다.
- 테크놀로지의 독립성:파일 형식은 모든 시스템이 개체를 최대한 구축할 수 있도록 일반적인 방법으로 개체를 기술해야 합니다.분해능과 층 두께에 의존하지 않으며, 어떤 제조 공정이나 기술에 고유한 정보도 포함되어 있지 않습니다.이것은 특정 고급 머신만이 지원하는 속성(예를 들어 색상, 여러 재료 등)을 포함하는 것을 부정하는 것은 아니지만, 이러한 속성은 배타성을 회피하는 방식으로 정의됩니다.
- 심플성:파일 형식은 구현하고 이해하기 쉬워야 합니다.이 형식은 단순한 텍스트 뷰어에서 읽고 편집할 수 있어야 하며, 이를 통해 이해와 채택을 촉진할 수 있어야 합니다.동일한 정보를 여러 곳에 저장해서는 안 됩니다.
- 확장성:파일 형식은 부품의 복잡성과 크기가 증가하고 제조 장비의 해상도와 정확도가 향상됨에 따라 적절하게 확장되어야 합니다.여기에는 동일한 오브젝트의 대규모 어레이, 복잡한 반복적인 내부 기능(메쉬 등), 섬세한 인쇄 해상도의 매끄러운 곡면, 최적의 인쇄용 패킹으로 배열된 여러 컴포넌트 등이 포함됩니다.
- 퍼포먼스:파일 형식은 읽기 및 쓰기 작업에 대한 적절한 기간(대화 시간)과 일반적인 큰 개체에 대한 적절한 파일 크기를 사용하도록 설정해야 합니다.
- 하위 호환성:기존 STL 파일은 정보를 잃지 않고 추가 정보를 요구하지 않고 유효한 AMF 파일로 직접 변환할 수 있어야 합니다.AMF 파일은 기존 시스템에서 사용하기 위해 STL로 쉽게 변환할 수 있지만 고급 기능은 손실됩니다.
- 향후 호환성:급변하는 업계에서 계속 유용하게 쓰려면 이 파일 형식은 이전 버전 및 기술과 호환성을 유지하면서 쉽게 확장할 수 있어야 합니다.이것에 의해, 새로운 기능을 테크놀로지의 진보에 수반해 추가할 수 있습니다.또, 가장 오래된 하드웨어의 단순한 균질한 지오메트리에 대해서도, 흠잡을 데 없이 동작합니다.
역사
1980년대 중반부터 STL 파일 형식은 설계 프로그램과 적층 제조 장비 간에 정보를 전송하는 사실상의 업계 표준이 되어 왔습니다.STL 형식에는 표면 메쉬에 대한 정보만 포함되어 있으며, 가공된 타깃 객체의 색상, 텍스처, 재료, 서브구조 및 기타 속성을 나타내는 규정은 없었습니다.적층 제조 기술이 주로 단일 재료, 균질한 형상을 만드는 것에서 기능적으로 등급이 매겨진 재료 및 미세 구조를 사용하여 전체 색상으로 복합 재료 기하학을 만드는 것으로 발전함에 따라, 이러한 기능을 지원할 수 있는 표준 교환 파일 형식이 점점 더 필요하게 되었습니다.표준 개발을 이끈 두 번째 요인은 적층 제조 기술의 해상도 향상이었다.인쇄 공정의 충실도가 마이크로 스케일 해상도에 가까워짐에 따라 부드러운 곡면을 묘사하는 데 필요한 삼각형의 수는 허용할 수 없을 정도로 큰 파일 크기를 [4]초래했습니다.
1990년대와 2000년대 동안 다양한 기업에서 제조 기기의 특정 기능을 지원하기 위해 많은 자체 파일 형식을 사용해 왔지만, 업계 전체의 합의가 이루어지지 않아 단일 형식을 널리 채택할 수 없었습니다.2006년, 조나단 D.힐러와 호드 립슨은 "STL 2.0"[3]이라는 이름의 AMF의 초기 버전을 발표했다.2009년 1월에는 적층 제조 기술에 관한 새로운 ASTM 위원회 F42가 설치되었고 새로운 표준을 개발하기 위한 설계 소위원회가 구성되었다.2009년 말에[4] 설문조사가 실시되어 새로운 표준에 대한 1년 이상의 심의가 이루어졌다.그 결과 AMF 표준의 첫 번째 개정은 2011년 [5]5월 2일에 공식화되었습니다.
2013년 7월 영국 노팅엄에서 열린 ASTM의 F42와 ISO의 TC261의 회의에서 적층 제조 표준 개발을 위한 공동 계획이 승인되었습니다.이후 AMF 표준은 ISO와 ASTM이 공동으로 관리하고 있습니다.
샘플 파일
아래는 AMF[6] 튜토리얼(548바이트 압축)에서 개작된 두 가지 재료로 구성된 피라미드를 설명하는 간단한 AMF 파일입니다.이 AMF 파일을 만들려면 아래 텍스트를 복사하여 텍스트 편집기 또는 xml 편집기에 붙여넣고 파일을 "pyramid.amf"로 저장하십시오.그런 다음 파일을 ZIP으로 압축하고 파일 확장자의 이름을 ".zip"에서 ".zip.amf"로 변경합니다.
<?xml version="1.0" encoding="utf-8"?> < amf unit = "inch" version = " 1 .1"> <blash type="name"> 분할 피라미드 </metadata> <blash type="author">존 Smith<, /metadata>,<>개체 id="1">,<>mesh>,<>vertices>,<>vertex>,>coordinates>,<>x>, 0<, /x>,<>y>, 0<, /y>,<>z>, 0<, /z>,<>/coordinates>,<>/vertex>,<>vertex>,>coordinates>,<>x>, 1<, /x>,<>y>, 0<, /y>,<>z>, 0<, /z>,<>/coordinates>,<>/vertex>,<>vertex&g.t,<>coordinates>,<>x>, 0<, /x>,<>y>, 1<, /y>,<>z>, 0<, /z>,<>/coordinates>,<>/vertex>,<>vertex>,>coordinates>,<>x>, 1<, /x>,<>y>, 1<, /y>,<>z>, 0<, /z>,<>/coordinates>,<>/vertex>,<>vertex>,<>coordinates><x>0.5</x><y>0 입니다.5 </y> </z> 1 </z> </filename> </filename> </filename> <volume materialid="2"> <filename type="name">하드 side<, /metadata>,<>triangle>,<>v1>, 2<, /v1>,<>v2>, 1<, /v2>,<>v3>, 0<, /v3>,<>/triangle>,<>triangle>,<>v1>, 0<, /v1>,<>v2>, 1<, /v2>,<>v3>, 4<, /v3>,<>/triangle>,<>triangle>,<>v1>, 4<, /v1>,<>v2>, 1<, /v2>,<>v3>, 2<, /v3>,<>/triangle>,<>triangle>,<>v1&.그레이트;0<, /v1>,<>v2>, 4<, /v2>,<>v3>, 2<, /v3>,<>/triangle>,<>/volume>,<>볼륨 materialid="3">,>메타 데이터 type="이름">을 말한다.부드러운 side<, /metadata>,<>triangle>,<>v1>, 2<, /v1>,<>v2>, 3<, /v2>,<>v3>, 1<, /v3>,<>/trIangle>,<>triangle>,<>v1>, 1<, /v1>,<>v2>, 3<, /v2>,<>v3>, 4<, /v3>,<>/triangle>,<>triangle>,<>v1>, 4<, /v1>,<>v2>, 3<, /v2>,<>v3>, 2<, /v3>,<>/triangle>,<>triangle>,<>v1>, 4<, /v1>,<>v2>, 2<, /v2>,<>v3>, 1<, /v3>,<>/triangle>,<>/volume>,<>/mesh>,<>/obje.Ct>,<>재료 id="2">,<>메타 데이터 type="이름">을 말한다.하드 머티리얼 </color> </r> </g> 0.1 </g> </b> </color> </material> </material id="3"> </material type="name"> 소프트 머티리얼 </color> </color> </color> </r> 0> </g>9 </g> <b> 0.9 </b> <a> 0.5 </a> </color> </material> </amf>
「 」를 참조해 주세요.
- X3D
- 3D 프린팅 시장
- 3D 제조 형식
- glTF - 3D 장면 및 모델을 위한 Khronos 그룹 파일 형식입니다.
메모들
- ^ a b c 적층 제조를 위한 데이터 교환 형식 규격
- ^ ISO 웹 페이지의 AMF 사양
- ^ a b Hiller, Jonathan D.; Lipson, Hod (2009). STL 2.0: A Proposal for a Universal Multi-Material Additive Manufacturing File Format (PDF). Solid Freeform Fabrication Symposium (SFF'09). Austin, TX, USA: Cornell University. Archived from the original (PDF) on 2020-06-11. Retrieved 5 May 2017.
- ^ a b c STL 2.0은 제한된 오래된 파일 포맷을 대체할 가능성이 있습니다(2009년 10월).
- ^ 새로운 ASTM 적층 제조 사양 ASTM, 2011년 7월 20일 표준 교환 파일 포맷의 필요성에 대한 답변
- ^ AMF 튜토리얼:기본 (파트 1)
외부 링크
- AMF Wiki: AMF 리소스, 샘플 파일 및 소스 코드 저장소
- Jon Hiller의 AMF 페이지