elsa in mac

[3D 프린터 출력기] Alien Xenomorph 본문

3D 프린터/3D 프린팅 갤러리

[3D 프린터 출력기] Alien Xenomorph

elsa in mac 2019. 12. 17. 13:42

이번 포스트에서는 지난 번 Hellboy에 이은 MyMiniFactory에 등록된 Printed Obsession의 Alien Xenomorph 피큐어 출력기 입니다. Hellboy 피규어를 제작한 동일한 분의 작품이죠..

아래 기술한 내용들은 제 나름데로의 Know-How 일뿐, Best Practice(모범 사례)는 아닙니다. 단지 필요에 따라 맘에 드시는 부분만 선택적으로 참고 하시면 될 것 같습니다. 

파트 구성
이 모델은 Full Figure는 물론, FDM 프린터에서 출력의 용이성을 위해 각각 파트별로 분리한 모델들을 함께 제공하고 있습니다. 

출력물의 크기는 Full Figure 기준으로 250 mm (길이) x 60 mm (폭) x 120 mm (높이) 크기로 큰 편에 속합니다.
0.1mm Layer Height, Infill 0%, No Support를 기준으로 하면, 출력 예상 시간만 28시간이 넘는 모델이어서, 3D 프린터 입문자가 출력하기에는 난이도가 있는 모델 입니다. 

표면이 매우 울퉁불퉁하고 변화가 많기 때문에, 출력품질 저하가 잘 눈에 띄지 않는다는 장점이 있지만, 전체적으로 Over-hang이 많이 존재하기 때문에, Support를 필수적으로 사용해야 합니다. 이 경우, 출력 시간은 더 많이 걸리게 되겠죠. 

출력시간이 길어지면, 그 만큼 출력 성공율이 낮아지는 리스크가 발생할 수 있기 때문에, 일반 FDM 3D 프린터에서 출력을 한다면, Full Figure 보다는 시간날때마다 여유를 갖고 각각의 파트를 따로 출력한 후, 나중에 조립하는 방법이 좋을 것 같습니다. 

그럼 각 파트를 단계적로 분석해 보도록 합니다.  

Head

머리 부분은 전체 Figure를 통틀어 가장 매끄러운  표면을 보이는 파트 입니다. 머리 부분이죠, 이렇게 매끄러운 부분을 잘 살려서 출력을 하려면, Z축 즉, 적층방향을 따라 출력 해야 합니다. 아래는 세웠을 경우와 눞혔을 경우의 출력 품질을 보여 줍니다. 

보시는 바와 같이 눞혀서 출력을 할 경우, 각 Layer 적층에 따른 층이 두드러 지는 것을 확인할 수 있습니다.
세워서 출력을 해야 보다 좋은 품질의 결과물을 얻은 것은 자명하긴 한데, 문제는 아래와 같이 Bed에 접하는 면적이 매우 협소하다는 문제가 존재 합니다. 

물론, Support를 적용하면 어느정도 문제를 보완할 수 있기는 하지만, 모델 자체의 바닥 면적이 저렇게 협소하게 되면, Support를 적용한다고 해도, 출력이 완료될 때까지 온전히 모델이 붙어 있을지 여부는 단언할 수 없지요.

이 문제를 해결하기 위한 방법으로, Bed의 접촉부분을 일부 잘라내어 면적을 넓히는 방법을 적용했습니다.

PrusaSlicer의 Cut 기능을 이용하여, 위와 같이 대략 Bed에서 2mm 정도를 잘라 내었습니다. 매우 작은 부분이기 때문에, 출력을 해서, 접착제로 본딩을 해도 되고, 아니면, 그냥 잘려진 상태로 사용해도 무방할 것으로 판단됩니다. 어차피 조립했을 때, 뒷쪽이고, 안쪽이라 눈에 잘 띄지는 않을 것 같습니다. 

Head 출력과 관련된 두 번째 고려 사항은 출력 후 Body와 조립을 하기 위한 Guide 부분에 대한 것으로 아래에 표시한 부분입니다. 

일단 위의 스샷과 같이 세워서 출력을 해야 하다 보니, 이 부분이 온전히 Over-hang 속성을 갖게 되는데, 출력을 하더라도 Body쪽 홀과 사이즈 매칭이 잘 될지의 여부에 대해 확신이 서지 않습니다. 따라서, 이 부분은 모델에서 제거를 하고, 조립 시, 접착제로 본딩하는 것으로 결론을 내렸습니다. 

문제는 이 부분을 어떻게 깔끔하게 제가하는가 ? 하는 것인데, Autodesk의 Meshmixer를 이용하면, 비교적 쉽고 효과적으로 빠르게 제가할 수 있습니다. 

우선, PrusaSlicer에서 출력 방향 및 자세를 결정한 후, Export STL로 저장을 합니다. 
그리고, Meshmixer에서 이 저장한 파일을 불러 옵니다. 

다음, 삭제할 부분을 선택하기 위해 위의 스샷과 같이 Select 를 선택한 후, Brush의 사이즈를 적당히 조정해 줍니다. 위의 스샷에서 화살표가 가리키고 있는 부분이 Brush 입니다. 

이제, Brush를 이용하여, 삭제할 부분을 선택해 줍니다. 마우스 클릭을 하면, 하나의 Face Segment가 선택되며, 클릭을 한 상태에서 Drag을 하게 되면, 연속적으로 Face가 선택되게 되지요.

3D 모델이므로, 돌아가면서 삭제할 Face를 빠짐없이 꼼꼼히 선택을 해 줍니다. 

자 이제, 선택한 부분을 제거해야 하는데, 위의 스샷에서 보는 바와 같이, Select > Edit > Discard를 선택해 줍니다. 
모델의 일부분을 제거하는 것이기 때문에, Erase(지우기)를 선택하는 것이 아닌가  생각할 수 있는데, Erase 보다는 Discard (버리기)를 사용하는 것이 훨씬 효과적입니다. 

Discard를 실행하게 되면, 아래와 같이 선택된 Face가 제거 되면서 구멍이 뚫리게 됩니다.  
다행히도 일단은 매우 깔끔하게 제거가 되었네요.

문제는 이 뚫린 부분을 어떯게 매꿔야 하는가 ? 하는 것인데, 곡면이기 때문에 주변 곡면과 자연스럽게 매꿔져야 합니다. 
이것은 MeshMixer의 분석 및 Repair 기능을 사용하면 쉽게 해결할 수 있습니다. 

위의 스샷과 같이 Analysis를 선택하고, Inspector를 선택하면 Meshmixer가 자동으로 모델의 결함 부분을 찾고, 표시를 해 주게 됩니다. 

Hall 주변이 곡면이기 때문에, Flat Fill 대신, 위의 스샷과 같이 Smooth Fill로 Auto Repair를 해 줍니다.  결과가 매우 만족스러운 것을 확인할 수 있습니다. 

다음으로 Support 문제 입니다. 
아래 보시는 바와 같이 세워서 출력을 하는 관계로 불가피하게 Overhang 요소가 있는 것을 알 수 있습니다. 박스 부분이지요.

이 부분을 매끄럽게 출력하기 위해서 Support가 필요한데, Slicer가 지원하는 Support 보다는 Meshmixer의 Tree Support를 이용합니다. 어떤 Support를 사용할 것인지는 개인적인 판단과 선호도에 따른 것이기 때문에 Meshmixer의 Tree Support가 Slicer가 제공하는 Support보다 무조건 좋다고 볼 수는 없습니다.  Support의 구조와 구성에 따라 출력 리스크와 출력 시간에 영향을 미치기 때문입니다. 

위의 스샷은 Analysis > Overhangs를 통해 Tree Support를 자동 생성한 1차 결과 입니다. Tree Support와 관련된 파라미터가 대단히 많기 때문에, 파라미터 설정 조합에 따라 다양한 결과가 나올 수 있습니다. 충분한 검토와 실제 출력 경험이 필요하죠.

위의 화살표 부분에서 보는 바와 같이 예상치 못한 엉뚱한 결과가 포함되어 있을 수도 있습니다. 이런 Tree Support 부분은 제거를 해야 하는데, Mac의 경우에는 Command, WIndows의 경우에는 Ctrl 키를 누른 상태에서 마우스로 해당 Support를 선택하면 쉽게 제거를 할 수 있습니다. 반대로 자동 생성으로 커버되지 않은 부분의 경우 해당 부분을 클릭하면 쉽게 추가를 할 수 있습니다. 추가할 부분을 클릭한 상태에서 Drag를 통해 가지의 방향과 길이를 정할 수도 있죠.

위의 스샷은 자동 생성 후에, 수작업으로 삭제와 보강 작업을 거쳐 완성한 모습입니다. 

Tree Support를 세울 때 유의해야할 점은 Tree가 모델의 Face에 너무 근접하여 붙어 버리는 부분이 있는지의 여부를 확인하는 것입니다. 모델 표면을 따라 붙게 되면, 나중에 제거할 때 힘들게 됩니다. 두 번째는 Tree Suppport의 각도 입니다. Overhang을 커버하기 위해 Support를 세우는 것인데, 생성된 Support 자체의 각도가 너무 낮게 되면, Support 자체가 Overhang 속성을 띌 수 있기 때문입니다.  세 번째로 Support의 굵기 입니다. 너무 두꺼우면 정작 필요한 부분에 Support를 생성할 수 없고, 너무 얇으면 출력 자체가 어려 울 수 있습니다.  이러한 것들은 자신이 사용하고 있는 3D 프린터의 성능과 관련되어 있기 때문에 어느 정도의 두께와 각도까지 제대로 출력할 수 있는지를 사전에 확인하는 경험이 필요 합니다. 

불필요한 부분을 제고하고 Tree Support까지 완성했다면, STL 파일로 저장을 한 후, 다시 Slicer로 불러 옵니다. 

위의 스샷은 PrusaSlicer로 불러온 후, 후 처리를 한 결과입니다. 
모델의 Bed 접합 면적이 작고(잘라냈지만..), 각각 Tree Support의 Bed 접촉면도 작기 때문에, 그대로 출력을 하면 출력 중 떨어질 수 있습니다. 이를 보강하기 위해, 위에 보시는 바와 같이 0.2mm 두께의 적당한 원 object를 중첩 시켜 놓습니다. 

PrusaSlicer의 경우 Object가 중첩된 부분은 기본적으로 하나의 모델처럼 출력하게 됩니다. 이러한 점을 이용하여, Bed와 접촉되는 First Layer의 출력 면적을 넓힐 수 있고, 이를 통해 전체적인 출력 안정성을 높일 수 있습니다. 

아래는 출력 결과 입니다. 

                                                              

Leg & Arm
다음은 팔과 다리 부분 입니다. 

팔과 다리부분은 형태는 각기 다르지만, 보시는 바와 같이 행태의 특성 상, 다른 방향으로 출력할 수 없고 발바닥/손바닥이 Bed에 접하는 정상적인 방향으로 출력을 할 수 밖에 없어 보입니다.

하지만, 위의 스샷에서 볼 수 있듯이, 이렇게 출력을 할 경우, 거의 모든 부분에 Overhang 이 생기게 됩니다.  당연히 Support를 사용하애 하고, 이번 출력에서는 앞서와 마찬가지로 Meshmixer의 Tree Support를 사용합니다. 

위의 스샷은 Meshmixer에서 Tree Support를 자동으로 생성한 1차 결과 입니다. 일단 생성된 포인트가 적고, 발 바닥 부분의 Overhang은 커버를 못하는 것을 알 수 있습니다. 이러한 결과가 나오는 이유는 Tree Support의 설정과 관련된 것으로 일부 Overhang 포인트들의 경우 Tree Support를 세우기에 높이가 부족하기 때문입니다. 

이러한 문제를 해결하기 위해서는 출력물을 Bed에서 일정 높이 띄워주는 트릭(Trick)을 사용해야 합니다. 아래의 스샷은 바닥면으로 부터 일정 높이를 띄운 것으로 Overhang의 메인 옵션 중 Y-Offset 값을 5mm로 준 결과 입니다. 

위의 결과는 물론, 자동 생성된 결과에 수동으로 Support를 더 추가한 결과 입니다. (너무 많이 만든 것 같기도 하고... ><)

위의 결과를 그대로 사용하여 출력할 경우, 발 바닥 부분에 매우 많은 Tree support를 출력하기 위해 상당히 많은 시간이 소요된다는 점을 예상할 수 있습니다. 따라서, 일단은 Tree Suppport를 만든 위의 결과를 저장한 후, 다시 Slicer로 불러 들여와서, 아래와 같이 강제로 높힌 5mm를 다시 Cut 해주는 작업을 합니다. 

이렇게 하면, 발 바닥을 원래 모델과 마찬가지로 정확히 Bed에 일치시킬 수 있음은 물론, Tree Support를 출력하기 위한 시간을 줄일 수 있게 됩니다.  아래는 5mm를 Cut 하고 난 후의 First Layer 입니다. 

Tree Support와 모델의 First Layer가 매우 작은 Dot 형태로 분포하고 있는 것을 알 수 있습니다. 매우 작은 면적들이기 때문에, 첫 레이어를 출력할 때 문제가 발생할 수 있음은 물론, Support를 출력해 나가면서 떨어질 확률도 높습니다.  따라서, Head 때와 마찬가지로 0.2mm 높이의 Base Object를 아래와 같이 깔아 줍니다.

 위의 예는 단일 Object를 넓게 깔아 주었지만, 출력시간 단축을 위해 여러 개의 작은 원으로 구성할 수도 있습니다. 그건 개인의 판단..

자, 아래는 위와 같은 Tree Support 작업과 PrusaSlicer에서의 후속 작업을 통해 출력한 결과물들 입니다. 

 

Body
다음으로 Body, 몸통 입니다.
앞서 살펴본 바와 같은 과정을 거쳐 Tree Support를 생성하고, Slicer 설정을 통해, 아래와 같이 셋팅했습니다. 
팔과 다리 때와 마찬가지로, 5mm 띄우고, Slicer에서 다시 5mm Cut 하는 방법을 사용했습니다. 

아래는 결과

Tail
마지막 꼬리 부분.,..

꼬리는 끝에 뾰족한 부분이 정말 깔끔하게 출력되어야 완성도가 높은데, 세워서 출력하기는 어렵기도 하고, 세워서 출력할 경우 끝 부분을 매끄럽게 출력하기도 어렵습니다. 

따라서, 이 부분은 아래와 같이 반으로 갈라서 출력 후, 본딩하는 방법을 사용합니다. 
다행히도 모델이 정확히 가운데를 기준으로 대칭이라 Cut에 어려움은 없어 보입니다.  Cut 기능을 호출할 경우, 초기값은 해당 모델의 Z 방향 기준으로 1/2 위치를 Cut 위치로 설정합니다. 

출력 후, 본딩 시 오차를 줄이려면 두 부분을 한번에 출력하는 것이 좋습니다. 
아래는 출력 결과 입니다. 

하나의 파트를 둘로 Cut 하고, 출력 한 후에 다시 본딩을 할 경우, 둘을 오차 없이 붙이는 것도 쉽지 않습니다. 위치를 잡아주는데 꽤 많은 리포지셔닝 과정이 필요하죠,. 따라서 순간 접착제 보다는 일반 딱풀로 붙이는 것이 좋습니다. 장점은 위치 수정이 용이하다는 점, 단점은 굳는데 오래 걸린다는 점 정도..

조립
파트를 다 출력했으니, 이제 서포트를 제거하고, 접착제로 붙여 주면 됩니다.
아래는 스트링 제거등을 하지 않고 본딩 직 후 바로 촬영한 결과 입니다.   틈 나는데로 파트를 출력해서, 대략 7일 정도 걸린것 같습니다. ^^

Model : Alien - Xenomorph (by Printed Obsession)
Slicer : PrusaSlicer 2.1.0
S/W : Tree Support(Mashmixer)
3D Printer : Snowflake (CoreXY) 
Hotend : TITAN Aero
Nozzle : Trianglelab Ruby Nozzle 0.4mm
Controller : Duet 2 (Wi-Fi)
Filament : NOULEI - Silk PLA (Shiny Sapphire)
Supprt : YES
Layer Height : 0.1 mm
Infill : 0 % 
Layer Cooling : 100% (5015 Blower, Single)
Bed Temp. : Off
Hotend Temp. : 185도
Speed : max 65 mm/s , min 28 mm/s
Printing Size : 60 mm (W) x 250 mm(L) x 120mm (H) , 원본 크기 대비 100%
Printing Time : 30시간 이상
Photos : iPhone XR(iOS 13.1) , 기본 카메라 앱

공유하기 링크
Comments