- STL to Solid, STL 파일을 솔리드 객체로 생성하기
- 솔리드웍스 옵션 설정을 통해, STL 파일 포맷으로 이루어진 3D 모델을 솔리드 모델링 파일로 변환
STL 파일 또는 OBJ파일은 3D 프린터를 한 번이라도 사용해 본 사람이라면 누구나 알 수 있는 파일 형식이고, 아마 3D 프린터라는 장비가 대중화되면서, 급격하게 신분 상승한 파일 형식일 것이다.
STL (Stereo Lithography)은 3D 시스템즈가 개발한 스테레오 리소그래피 CAD 소프트웨어의 파일 포맷으로, 3D 모델링 된 데이터를 표준 형식의 교환 파일로 저장하는데 제공하는 파일 형식이다.
즉, CAD 소프트웨어에서 생성된 모델링 데이터를 3D 그래픽 소프트웨어과 호환을 목적으로 만들어진 포맷이라 볼 수 있다.
또한, OBJ도 STL과 비슷한 목적의 파일 포맷이며, Wavefront 사의 Advanced visualizer라는 프로그램의 데이터 형식으로 3차원 좌표, 이진법 형식, 컬러 정보 등으로 저장할 수 있다.
보통 STL은 3D 캐드 소프트웨어에서 지원하고, OBJ는 3D 그래픽 소프트웨어에서 지원하는 파일 포맷으로 구분할 수 있다.
둘 다 지원하는 소프트웨어도 있지만, 대부분 구분되어 지원한다.
3D 프린터에서는 G코드 슬라이싱 소프트웨어로 모델링 데이터를 불러오기 위해서 필수적으로 변경해야 하는 포맷이기도 하고, CAM프로그램에서도 STL, OBJ파일을 가져와서 가공 데이터(G코드)를 생성할 수 도 있다.
또한, 3D 스캐너를 통해 들어오는 3D 형상 데이터 파일의 저장 형식도 거의 대부분 STL과 OBJ파일로 저장이 된다.
하지만, STL과 같은 파일 포맷은 3D 캐드를 이용한 설계를 목적으로 하시는 분들은 거의 사용하지 않는 호환 파일 형식이다.
대부분 STEP(*. stp)나 IGES(*. igs), Parasolid(*. x_t)와 같은 파일 포맷을 이용해서 협력/협업하는 업체로 파일을 교환한다.
STL과 STEP등과 같은 파일 포맷의 차이점은 솔리드 객체 또는 곡면 객체로 호환되느냐, 폴리곤 메시 또는 삼각형 면(Polygon Mesh, Face)으로 변환되어 호환되느냐에 대한 차이이다.
STEP나 IGES, Parasolid와 같은 파일 형식은 솔리드 개체 또는 곡면 객체로 이루어진 파일 형식으로, 거의 모든 3D 캐드 소프트웨어에서 저장 및 불러오기가 가능하고, 100%는 아니지만, 호환 파일을 이용해서 부품 파일 수정, 변경 및 조립, 도면 작성까지 기존의 전용 포맷으로 작업하는 모든 내용으로 작업할 수 있다.
반면, STL은 폴리곤 메시 또는 삼각형 면으로 이루어져 있어, 3D 캐드 소프트웨어에서는 실질적으로 추가적인 작업을 할 수 없는 파일 형식이다.
※ 폴리곤 메시는 삼각형 면의 집합체로 면 한 장 한 장이 평면으로 구성된 다각형 면을 뜻하며, 대부분 3Ds 맥스, 지브러시와 같은 3D 그래픽 소프트웨어서 사용하는 프리폼 모델링 방식으로 사용되는 면이다.
그런데, 외부에서 공급되는 STL 파일을 3D 캐드에서 수정/편집이 필요한 경우나, 3D 스캐너를 통해서 스캔된 STL(OBJ) 형상 데이터를 3D 캐드를 통해 역설계해야 하는 경우, 지금까지는 전문적인 역설계 소프트웨어를 사용하거나, 3D 캐드에서 무식하게 솔리드로 다시 모델링해야 하는 엄청난 수고스러운 작업을 해야만 했다.
대부분 기본 옵션으로 STL 파일을 솔리드웍스로 가져오면 위 그림과 같이 그래픽으로 이루어진 형상 모델로 열리게 되고, 각종 솔리드 객체를 편집할 수 있는 도구는 모두 잠겨있는 것을 볼 수 있을 것이다.
솔리드뿐만 아니라, 곡면에 해당되는 작업도 모두 잠겨있다.
지금까지 이런 폴리곤 데이터는 맥스나 지브러시 같은 소프트웨어를 사용해야 했지만, 그러한 3D 그래픽 소프트웨어를 배워서 수정하기에는 시간도 금전적인 부분에서도 많은 제약이 따랐을 것이다.
이러한 불편한 작업을 정말 손쉽게 솔리드웍스에서 STL 또는 OBJ파일과 같이 폴리곤 메시로 이루어진 모델 데이터를 솔리드 객체로 변환해 보자.
나 또한, 얼마 전까지는 이 기능의 존재를 모르고 있었고, 정말 무식하게 작업했던 기억이 있고, 특히나 원점 평면이 뒤틀려 있는 경우에는 거의 작업을 포기하다시피 한 경우도 많이 있었다.
솔리드웍스에서 STL 파일을 솔리드 객체로 변환
STL를 솔리드로 변환하는 방법은 정말 간단하고, 그 해답은 솔리드웍스 옵션에서 찾을 수 있다.
STL 파일을 불러오기 전에 수행해야 하는 작업임으로, 솔리드웍스가 실행되고 난 후, 바로 옵션을 수정해야 한다.
① 솔리드웍스 시스템 옵션 카테고리에서 불러오기를 선택한다.
② 옵션 설정 창에서 파일 형식 리스트에서 STL/OBJ/OFF/PLY/PLY2를 선택한다.
불러올 파일 형식의 기본적으로 "그래픽 바디"로 되어있다.
기본값인 그래픽 바디로 STL이나 OBJ를 불러들이면, 솔리드웍스에서는 그 어떠한 작업도 어려워진다.
① 불러올 형식에서 "솔리드 바디"를 선택한다.
② 메시 바디 옵션에서 대한 내용은 아래 내용에서 확인해서 사용하면 된다.
③ 단위는 기본 값인 mm로 두거나 필요하면 단위를 변경하지만, 추천하지는 않는다.
메시 바디 옵션에 따른 면 생성 형태
1. 메시 바디 옵션을 사용하지 않은 경우
메시 바디 옵션을 사용하지 않는 경우, STL이 생성될 때 만들어진 면의 구조를 그대로 인식해서 들어온다.
실질적으로, STL 메시 모델 데이터를 솔리드 객체로 변경되기 위해서는 메시 바디 옵션을 사용하지 않는 것이 가장 좋다.
하지만, 위 그림과 같이 어느 정도 직전 면을 많이 가지고 있는 경우는 큰 문제가 없지만, 원통이나 기하 곡면으로 이루어진 객체는 엄청나게 많은 면 조각으로 이루어지기 때문에 작업이 많이 불편하고, 면이 많이 조각난 경우, 작업 처리 속도도 상당히 느리다.
솔리드웍스 기능을 전부 활용하고, STL객체를 수정하기 위해서는 어쩔 수 없이 어느 정도의 불편함은 감수해야 하는 부분이다.
조립품에서 조립 구속이 적용되며, 도면에서 치수 및 주서 기입이 가능한 상태의 솔리드로 변경된다.
다만, 폴리곤 메시 자체가 직선면이기 때문에, 완벽한 곡면으로는 변환되지 않는다.
2. 단일 면이 경계로 구성된 메시 바디 작성만 체크한 경우
단일 면이 경계로 구성된 메시 바디 작성만 체크한 경우, STL객체는 기존의 그래픽 바디와 같이 하나의 객체 덩어리로 들어온다.
형식은 솔리드 형식으로 불러왔지만, 그래픽 바디와 동일하게 적용된 상태이기 때문에, 솔리드웍스의 각종 기능을 이용해서 수정/편집은 거의 불가능하다.
차후, 메시 분할 기능을 이용해서 메시를 분할하여, 필렛과 같은 간단한 편집은 가능하다.
조립품으로 파일을 가져갈 수 있지만, 조립 구속을 적용할 수 없다.
그리고, 도면에서도 투상 뷰로 생성은 가능하지만, 치수 및 주서 기입은 불가능하다.
3. 다면체를 면으로 그룹화를 선택한 경우
단일 면이 경계로 구성된 메시 바디 작성 옵션을 사용하지 않은 경우와 사용한 경우의 중간 정도의 기능으로, 특정한 각도 내에 있는 면을 하나의 면으로 묶고, 나머지 면은 각각의 면으로 분리된 상태로 들어오는 옵션이다.
마찬가지로, 돌출 컷, 보스 베이스와 같은 추가 생성 작업은 할 수 없으며, 필렛과 같은 편집만 사용할 수 있다.
솔리드로서의 편집이 아닌, STL 폴리곤 메시로 수정된다.
조립품으로 파일을 가져갈 수 있지만, 조립 구속을 적용할 수 없으며, 도면에서도 투상 뷰로 생성은 가능하지만, 치수 및 주서 기입은 불가능하다.
여기까지 STL 파일로 이루어진 모델을 솔리드 모델로 변환하기 위해서 알아야 하는 설정 방법에 대해서 알아보았다.
가장 좋은 것은 STEP와 같은 솔리드 파일을 이용하는 것이 좋겠지만, 어쩔 수 없이 STL과 같은 파일을 이용해야 한다면, 이 방법을 이용하는 것이 가장 현명하겠지만, 수많은 조각으로 이루어진 면으로 인해, 작업 속도나 수정/편집에서 작업의 불편함은 어쩔 수 없는 부분인 것 같다.
그래도, 불편하지만 메시 면 그대로 두고, 처음부터 리모델링하는 것보다 100배 편리할 것이고, 인터넷상에 공개된 각종 3D 프린팅용 모델을 가져와서 역설계를 통해 새롭게 형상을 만들고자 하는 분들에게 유용한 기능일 것이다.
특히, 3D 스캐너를 이용해 역설계하시는 분들은 가히 없어서는 안 될 기능일 것이다.
역설계란
리버스 엔지니어링(Reverse Engineering, RE) 또는 역공학(逆工學)은 장치 또는 시스템의 기술적인 원리를 그 구조 분석을 통해 발견하는 과정이다. 이것은 종종 대상(기계 장치, 전자 부품, 소프트웨어 프로그램 등)을 조각내서 분석하는 것을 포함한다. 그리고 유지 보수를 위해, 또는 같은 기능을 하는 새 장치를 원본의 일부를 이용하지 않고 만들기 위해 대상의 세부적인 작동을 분석하는 것을 포함한다.
리버스 엔지니어링의 기원은 상업적 또는 군사적으로 하드웨어를 분석한 것에서 시작되었다. 목적은 원본 생산의 절차에 관한 지식이 거의 없는 상태에서, 최종 제품을 가지고 디자인 결정 과정을 추론하는 것이다. 같은 기술이 레거시 소프트웨어 시스템을 응용하기 위해 현재 연구되고 있는데, 산업이나 국방이 아니고, 오류, 미완성, 접근 불가인 문서를 수정하기 위함이다. - 위키백과 참고-