자동화 도구 ToolBOX

ToolBOX에 OBJ 뷰어 기능을 추가 합니다. OBJ에 대해 알아보기

ToolBOX01 2021. 7. 22. 13:24

"Part List, BOM 기능에 "뷰" 기능을 추가 하기 위해, Opoen 소스인 OBJ 뷰 기능을 추가 합니다. "뷰" 기능을 사용 하기 위해 CREO 파일을 OBJ로 변환 합니다.  OBJ 파일 포맷에 대해 알아 봅니다."

 

OBJ 파일 형식은 3D 인쇄 및 3D 그래픽 응용 프로그램에서 가장 중요한 파일 형식 중 하나입니다. 다중 색상 3D 인쇄에 선호되는 형식이며 그래픽 응용 프로그램에서 애니메이션이 아닌 3D 모델에 대한 중립 교환 형식으로 널리 사용됩니다.

 

OBJ 파일 형식은 3D 모델에 대한 정보를 저장합니다. 3D 모델의 표면 형상을 인코딩할 수 있으며 색상 및 질감 정보도 저장할 수 있습니다. 이 형식은 장면 정보(예: 조명 위치) 또는 애니메이션을 저장하지 않습니다. OBJ 파일은 일반적으로 3D 모델링 프로세스의 최종 제품으로 CAD(Computer Aided Design) 소프트웨어에 의해 생성됩니다. OBJ 파일 형식에 해당하는 파일 확장자는 단순히 ".OBJ"입니다.

OBJ 파일 형식은 오픈 소스이며 중립적입니다. 거의 모든 CAD 소프트웨어에서 가져오기 및 내보내기 지원이 좋기 때문에 그래픽 응용 프로그램에서 3D 모델을 공유하는 데 많이 사용됩니다. 최근에는 표준 3D 인쇄 형식인 STL이 색상 및 질감 정보를 지원하지 않기 때문에 다색 3D 인쇄를 위한 사실상의 파일 형식으로도 널리 사용되고 있습니다.

OBJ 파일 형식은 원래 선, 다각형, 자유형 곡선 및 표면으로 구성된 기하학적 개체를 저장하기 위한 Advanced Visualizer 응용 프로그램을 위해 Wavefront Technologies 에서 만들었습니다 

 


3D 프린팅의 세계에서 가장 지배적인 형식은 STL입니다. 그러나 STL은 매우 인기가 있지만 실제로 시대를 따라가지 못하는 오래된 파일 형식입니다.3D 프린팅의 정확도는 미크론 수준의 해상도에 빠르게 접근하고 있으며 멀티 컬러 모델이 점점 대중화되고 있습니다. STL 파일 형식은 고해상도를 가져오면 파일 크기가 커지므로 고해상도를 잘 처리할 수 없습니다. STL 형식은 색상 및 질감 정보를 지원하지 않기 때문에 다색 3D 인쇄에도 적합하지 않습니다.

대조적으로 파일 크기를 늘리지 않고도 필요한 만큼 정확하게 표면 형상을 근사화할 수 있습니다. 이것은 베지어 곡선과 이 기사의 뒷부분에서 논의할 NURBS라는 방법을 사용하여 가능합니다. 또한 OBJ 파일 형식은 동일한 모델 내에서 여러 색상과 질감을 기본적으로 지원합니다. 따라서 정확한 다중 색상 모델이 필요한 경우 OBJ 파일 형식이 STL 형식보다 유리하며 이로 인해 향후 매우 인기 있는 3D 인쇄 형식이 될 가능성이 높습니다.

반대로 OBJ 파일 형식은 STL 형식만큼 보편적이지 않습니다. 거의 모든 3D 프린터는 STL 형식을 지원합니다. 합리적인 채택과 지원을 받고 있지만 형식에 대해서도 마찬가지입니다. 따라서 표준 프린터로 단색 모델을 3D 인쇄하는 경우 STL 형식이 여전히 선호됩니다. OBJ 및 STL 형식은 모두 대규모 투자 사용자 기반과 많은 타사 도구를 갖춘 매우 성숙한 생태계를 가지고 있습니다. 다른 3D 인쇄 파일 형식 경쟁자는 VRML, AMF 및 3MF입니다. 그러나 그들은 비교할 만한 지원이 없으며 현시점에서 STL 및 OBJ 파일 형식에 대한 진지한 대안이 아닙니다.


3D 그래픽 응용 프로그램에서 가장 일반적으로 사용되는 파일 형식은 OBJ, FBX 및 COLLADA입니다.

 

[OBJ, FBX, COLLADA 파일 형식의 차이점]
OBJ 파일 형식과 다른 형식의 가장 중요한 차이점은 장면 정보(예: 광원) 및 애니메이션에 대한 지원입니다. OBJ 파일 형식은 FBX 및 COLLADA가 지원하는 동안 장면 정보 및 애니메이션을 지원하지 않습니다. 따라서 게임이나 영화에 애니메이션이 필요한 경우 FBX 및 COLLADA 형식을 사용하는 것이 좋습니다. 그러나 전체 장면이나 애니메이션이 필요하지 않은 경우 OBJ 파일 형식을 사용하면 몇 가지 이점이 있습니다.

 

[OBJ 파일 형식의 장점]
첫째, OBJ 파일 형식은 단순하고 개방적인 형식입니다. CAD 소프트웨어 중 광범위한 내보내기 및 가져오기 지원이 있습니다. 즉, 3D 모델을 OBJ 파일로 공유하면 다른 CAD 소프트웨어가 이를 정확하고 일관되게 해석합니다. FBX 나 COLLADA 형식에 대해서도 마찬가지입니다. COLLADA 형식도 오픈 소스이지만 상당히 복잡합니다. CAD 소프트웨어마다 해석이 다르므로 불일치가 발생합니다.

FBX 형식은 폐쇄적이고 독점적인 형식이며 기존 형식을 FBX(내보내기)로 변환하기 위한 SDK를 제공합니다. 그러나 FBX 파일을 다른 형식(가져오기)으로 변환하는 다른 방법으로 이동하는 것은 그리 쉽지 않습니다. AutoDesk가 아닌 CAD 소프트웨어 개발자는 일반적으로 그럴듯한 FBX 가져오기를 구현하는 방법을 해킹해야 합니다. 이는 AutoDesk가 아닌 소프트웨어를 사용하는 경우 불일치로 이어집니다.

OBJ 파일은 또한 동일한 3D 모델의 FBX 파일 또는 COLLADA 파일에 비해 훨씬 가볍고 크기가 작을 것입니다. 이는 다른 사양에 비해 OBJ 파일 형식이 단순하고 기본 바이너리 인코딩 때문입니다.

따라서 전체 장면이나 애니메이션이 필요하지 않고 다른 CAD 소프트웨어의 지원과 일관된 해석에 관심이 있다면 OBJ 파일 형식이 올바른 형식입니다. 다른 거의 모든 경우에 FBX는 3D 그래픽 응용 프로그램에 가장 적합한 형식입니다.

 

https://all3dp.com/1/obj-file-format-3d-printing-cad/

 

 

라이브러리, Part List, BOM에서 CREO 파일을 WEB에서 볼수 있도록 하려 합니다.  

CREO가 없는 사용자도 CREO  3D 이미지를 보고, 속성값을 확인할 수 있습니다

 

http://plm.idt21c.com:9000/view/3d/viewer.html?objFile=helth_cycle_2&size=10000&xPos=0&yPos=-600&zPos=0

 


Wavefront Material Template Library(MTL) 파일 형식

 


Wavefront Material Template Library(MTL) 파일은 하나 이상의 Wavefront OBJ 파일에 대한 동반 파일입니다 . OBJ 형식과 마찬가지로 MTL 형식은 1990년대 Wavefront Technologies 에서 Advanced Visualizer 와 함께 사용하고 문서화했습니다.소프트웨어. ASCII 기반 MTL 파일은 OBJ 파일에 정의된 다각형 면 또는 자유형 곡선 패치에 적용할 표면 모양 속성을 설명합니다. MTL 파일은 하나 이상의 명명된 재료 정의를 포함할 수 있는 "라이브러리"이며, 각각은 색상, 질감 및 반사 특성을 지정할 수 있습니다. 예를 들어 재료에 대한 정의는 굴절률 및 투명도와 같은 다른 특성과 함께 재료의 확산, 주변 및 정반사에 대한 RGB 값을 지정할 수 있습니다. OBJ 파일은 mtllib 선언 의 MTL 파일을 참조하고 OBJ 파일 내의 객체(다각형 또는 자유형)에 대한 정의는 usemtl 문을 사용하여 명명된 특정 재료 정의를 참조할 수 있습니다 .

 

MTL 파일에는 각각 키워드 newmtl 과 재료 이름으로 시작하는 일련의 재료 정의가 포함되어 있습니다 . 재료 정의의 명령문은 키워드와 키워드별 옵션, 값 또는 텍스처 맵으로 사용하기 위한 보충 파일에 대한 참조로 구성됩니다. 재료 정의는 파일 끝이나 다음 newmtl 문 에서 끝납니다 . 재료의 특성을 정의하는 설명은 임의의 순서로 지정할 수 있습니다. 재료 정의의 예는 다음과 같습니다.

 

      newmtl Wood
      Ka 1.000000 1.000000 1.000000
      Kd 0.640000 0.640000 0.640000
      Ks 0.500000 0.500000 0.500000
      Ns 96.078431
      Ni 1.000000
      d 1.000000
      illum 0
      map_Kd woodtexture.jpg

 

 

1. Ka :

   RGB 구성 요소에 대해 0과 1 사이의 값을 사용하여 전체 장면에 대해 산란되는 빛을 설명하기 위해 주변 색상을
   지정합니다 .   ▶ Phong reflection model

 

2. Kd :
  일반적으로 개체에 대부분의 색상을 기여하는 확산 색상을 지정 합니다. 위 예제의 Kd는 회색을 나타내며 map_Kd
  문에 지정된 컬러 텍스처 맵에 의해 수정됩니다. ▶ Diffuse reflection

   

3.Ks :

  specular color를 지정 합니다. 표면이 반짝이고 거울과 같은 곳에서 보이는 색상입니다. ▶ Specular reflection

 

4.Ns :

  재질에서 반사 하이라이트 의 초점을 정의합니다 . Ns 값의 범위는 일반적으로 0에서 1000까지이며 값이 높으면
  조밀하고 집중된 강조 표시가 나타납니다.

 

5.Ni :

  현재 재료  광학 밀도 (굴절률이라고도 함)를 정의합니다 . 값 범위는 0.001에서 10까지입니다. 값 1.0은 빛이 개체를
 통과할 때 구부러지지 않음을 의미합니다. 

 

6.d :

  이 재료가 배경에 얼마나 용해 되는지에 대한 요소를 지정합니다 . 계수 1.0은 완전히 불투명합니다. 계수 0.0은 완전히
 투명합니다.

 

7. illum :

  숫자 값을 사용하여 조명 모델을 지정합니다. 값 0은 존재하는 경우 map_Kd 문에 지정된 텍스처 맵에 의해 수정된 재질에 대한 Kd에 의존하는 가장 단순한 조명 모델을 나타냅니다 . 이 리소스의 컴파일러는 조명 모델의 선택이 3D 인쇄 사용과 관련이 없으며 일부 소프트웨어 응용 프로그램에서 가져올 때 무시된다고 생각합니다. 예를 들어 threejs Javascript 라이브러리  MTL 로더  illum  을 무시하는 것으로 보입니다 

 

 

8. map_Kd :

  재질의 확산 반사율에 적용할 컬러 텍스처 파일  지정합니다 . 렌더링하는 동안 map_Kd 값에 Kd 값을 곱하여 RGB
  구성 요소를 파생합니다.

 

map_kd 적용 전 map_kd 적용 후

MTL 사양은 1995 년에 발표 하였습니다. 오늘날의 소프트웨어에서 지원되지 않는 옵션의 상당수가 포함되어 있습니다. 일부는 Advanced Visualizer에만 국한된 것으로, 서로 다른 3D 모델링 응용 프로그램 간의 교환이나 3D 인쇄에 널리 사용되지 않은 것으로 보입니다. 

단점에도 불구하고 OBJ 형식과 이에 상응하는 MTL 형식은 3D 인쇄 및 소프트웨어 응용 프로그램 간의 3D 모델 교환에 널리 사용됩니다.