본문 바로가기

▶3D 프린팅/삼디강좌

[북리지의 삼디 Life] Cura 설정 - 출력물을 고급지게 만드는 설정값 Best 10

[북리지의 삼디 Life - 알아두면 유용한 Cura 설정값 Best 10]


3D 프린터를 한마디로 정의하자면 스텝모터 네다섯개를 움직여서 공간상에 원하는 물체를 만들어내는 기계이다. (FDM 프린터 기준)


(아들이 뽑아달라고 했던 투컬러의 포켓몬 고래왕)


이런 출력을 하기 위해서는 3차원 모델링 파일(stl, obj)을 모터를 움직일 수 있는 Gcode 로 변환하는 작업을 해주어야 한다. (Gcode 참조 : http://bookledge.tistory.com/870?category=718609)

아마도 이것은 워드프로세서에 글자를 타이핑 하고 인쇄를 누르면 종이위에 글자들이 한번에 척하니 찍히지 않고 A4종이 위에서 부터 한줄 한줄 잉크나 토너를 뿌려대며 출력을 하는 기존 2D 프린터도 마찬가지가 아닌가 싶다.  다른점은 기존 프린터는 프린터 드라이버라고 하는 애가 표준화되어 OS 에 이미 깔려서 나오기에 신경쓸 필요가 없다는 점. 그러나 3D 프린터는 프린터 드라이버 같은게 나와 있지 않기 때문에 STL 이라는 3차원 모델링 파일을 아래에서 위로 출력해나가는 순서와 방향등(모터를 움직여 구현)을 설정해주는 '슬라이싱 프로그램' 을 거쳐야만 한다. 

슬라이싱 프로그램이란 모델링 전체를 떡하니 순간이동시켜 만들어낼 수 없기 때문에(현재의 기술로는 말이다) 아래서 부터 한줄 한줄 어떻게 쌓아갈지에 대해 나타내주는 파일로 이해하면 될 것이다. 



내가 3D 프린터에 입문하여 출력을 하면서 놀란 것은 슬라이싱 프로그램을 어떤 것을 쓰느냐에 따라 출력 품질이 크게 달라진다는 사실이었다. 그도 그럴것이 똑같은 네모를 그린다고 해도 여러방법이 있을 수 있겠다. 만약 사람들에게 볼펜을 들고 가로세로 길이 2cm 인 정사각형을 그려보라고 하면 사람마다 제각각일 것이다. 네모를 시계방향으로 그리는 사람도 있고, 반시계방향으로 그리는 사람도 있을 것이다. 가로 두줄을 그리고 나서 세로 나머지 줄을 그릴 수도 있고 하나로 펜이 떨어지지 않고 이어서 그릴 수도 있고 그렇지 않을 수도 있다. 

슬라이싱 프로그램 마다 다른 이유도 마찬가지다. 간단한 네모그리는 것도 그런데 복잡한 3차원 형상을 만들어냄에 있어서도 슬라이싱 프로그램을 제작한 회사마다 저마다의 노하우로 최적의 그림을 그리기 위한 기능을 탑재하고 있었다. 


다음은 대표적으로 많이 쓰이는 슬라이싱 프로그램들중 내가 실제로 사용해본 것들이다. 



각각의 슬라이싱 프로그램마다 장단점이 다 있다고 보인다. 

오른쪽에 있는 Cubicreator 와 Z-suite 는 각기 Cubicon 과 Zortrax 라고 하는 프린터를 구매한 사람들이 해당 프린터에서 출력하기에 최적화된 Gcode 를 생성하기 위한 용도이다. 특히 Zortrax 의 Z-suite 의 경우는 사용자가 만질만한 것이 별로 없다. 신경쓰지 않고 대충 '인쇄' 버튼만 누르면 괜찮은 출력물이 나올 정도로 셋팅이 내부적으로 다 되어 있다. Zortrax 회사의 개발팀에서 아마 온갖 실험을 다해서 셋팅한 값을 심어놓았을 것이다. 

Simplify3D 는 범용 Gcode 를 생성하는 슬라이싱 소프트웨어이지만 가격이 15만원 상당하는 유료프로그램이다. 가격이 만만치 않다보니 전문적으로 출력을 하고자 하는 사람이 아닌 나와 같은 경우에는 접근하기가 쉽지 않다. 물론 요즘과 같은 인터넷 세상에 마음만 먹으면 어렵지 않게 무료로 구할 수 있을지도 모르겠지만 궂이 그러고 싶지는 않았다. 그래서 내가 눈을 돌린 것은 왼쪽에 있는 무료 프로그램들이다. 


결론부터 말하면 나는 현재 Cura 를 사용하고 있다. 하지만 Cura 가 무료 프로그램 중에서 최고의 선택이라고는 생각하지 않는다. 


Slic3r 의 경우에는 레이어마다 두께 설정을 바꿀 수 있는 장점이 있다. 

그래서 수직 벽면은 두께를 높여서 출력시간을 줄이고 상단 표면은 두께를 얇게하여 출력물 표면 품질을 높일 수 있게 할 수 있다. 레이어 높이를 낮추자니 시간이 오래걸리고, 높이자니 표면이 거칠어지는 것이 걱정이었던 사람에게는 아주 영리한 접근법이 될 것이다. 


(참조 : Slic3r 레이어 height 조정 관련 글)



Ideamaker 는 Support 지지대를 내 마음대로 수동설정할 수 있다는 강점이 있다. 지지대는 지구상에 중력이 작용하기 때문에 사용할 수 밖에 없게 만드는 구조물이다.  모델링 파일 중에 서포트 없이도 출력이 잘되도록 디자인 한 사람이 고려해서 만든 것도 있지만 대부분은 서포트를 필요로 한다. 

그런데, 슬라이싱 프로그램에서 제공하는 자동 서포트는 필요하다고 판단되는 모든 곳을 서포트로 받치기 때문에 어떨때에는 서포트가 과하다는 느낌을 받고, 출력은 2시간 했는데 서포트 제거하는데 1시간이 걸린적도 있다. 서포트를 그동안의 경험치를 가지고 최소한만 배치하고 싶을 때 수동설정이 필요한데 무료소프트웨어 중에 ideamaker 는 좋은 대안이 될 수 있을 것이다. 



이런 각각의 장단점이 있음에도 불구하고 내가 Cura 를 사용하고 있는 이유는 별다른 이유는 없다. 그냥 가장 먼저 접해서 손에 익었다는 것이고, 사용하다보니 유료인 simplify 가 가지고 있다는 고급 기능등도 꽤 많이 탑재하고 있어서 사용의 자유도가 많았기 때문이다. 물론 3D 프린터를 입문할 때 사람들이 가장 많이 쓰고 있던 슬라이싱프로그램이 Cura 였다는 점도 크게 작용했을 것이다. 


오늘 포스팅 제목이 큐라 고급설정에 대한 내용일 될텐데 이제야 간신히 이야기를 시작할 수 있게 되었다. 이번 포스팅에서 다음과 같이 큐라 설정 중 내게 도움이 되었거나 알아두면 유용한 설정항목 10가지를 공유코자 한다.  (여기서는 내가 사용하는 Cura 3.1.0 버전을 기준으로 설명하도록 하겠다)


Quality : 출력물 표면 품질과 연관된 값

1. Line Width : 출력 시간을 줄여줌 

2. Initial Layer Line Width : 안착에 도움


Shell : 레이어 벽의 두께와 관련된 파라메터

3. Horizontal Expansion : 치수를 맞춰줌

4. seam alignment  : 재봉선을 어떻게 할까를 정함


Infill : 내부 채움에 관련된 파라메터

5. Infill Before Walls : 유령(Ghost) 표면을 없애기


Material : 재료에 따른 달라지는 값을 설정

6. Flow : 압출량을 조절한다

7. Retraction Extra Prime Amount : 이동시 흘러버린 필라양을 보정해준다


Speed : 출력 속도 설정값

8. Enable Acceleration Control  : 출력 예상 시간과 연관됨


Travel : 노즐의 이동 동선에 관련된 값

9. Combing Mode : 기존 출력물을 지나감


Support : 지지대 형성

10. Enable Support Interface : 서포트 접합부를 깔끔하게




1. 출력 시간을 줄여보자. (Line Width)



나는 0.4mm 굵기의 노즐을 사용하고 있다. 

그래서 당연히 라인폭은 노즐굵기와 같아야만 하는 것으로 알고 있었다. 

큐라의 기본 설정도 filament 굵기와 동일하게 자동 셋팅이 되는 상황이어서 별다른 생각없이 사용했는데 

테스트를 위해서 다른 분께 Simplify3D 로 슬라이싱한 Gcode 를 받아서 안을 들여다보는데 line width 가 0.48mm 로 되어 있는 것을 발견하면서 의문이 생겼다. 

0.4노즐에 0.48 폭으로 압출해도 되는건가? 

gcode를 건넨 분에게 왜 0.48로 해두셨나고 물어보니 simplify 에서는 그게 기본 셋팅인데 만지지 않았다고 한다. 

비싼 유료 소프트웨어의 기본 설정값으로 되어 있다면 왠지 이유가 있을 것 같았다.  그래서 큐라에서 이 설정값이 있는 걸 확인하고 0.48 로 바꾼후 출력해보니 그렇게 나온 출력물이 나쁘지가 않았다. 오히려 느낌적인 느낌으로는 더 좋아보이기까지 했다. 

바꿀 수 있는 것이었다. 


이것을 출력시간을 감소시키는데 적용할 수 있겠다는 생각이 들었다. 

그래서 Cube 출력시 시간을 확인해보았다. 



기존에는 27분이 걸렸던 외벽두께 1.2mm 의 출력 결과가 폭을 0.6mm 로 1.5배 올리니 시간이 70%로 줄어듬을 확인할 수 있었다. 

그렇다면 혹시 출력물 퀄리티가 떨어지는 것은 아닐까 우려가 될 수도 있을 것 같은데, 출력물 품질은 Layer height 가 주요하게 작용하고 Line width 는 크게 영향을 미치지 않음을 알게 되었다. 



주의사항 : Line width 를 늘리게 되면 부작용도 따른다. Line width 가 늘어나는 원리가 단위 시간당 동일 높이에서 더 넓은 폭의 필라멘트를 뽑아내기 위해 익스트루더가 더 많이 밀어줘야 한다. 너무 과한 값은 익스트루더에 무리를 줄 수도 있고, 기존보다 빨리 내밀어줘야 하기 때문에 필라멘트가 더 빨리 녹아야 하는데 그러기 위해서는 온도 조건도 달라져야 할 것이다.  가장 큰 문제는 가느다란 모양이 있을 때 line width 보다 얇은 구조물일 경우에는 슬라이서가 아얘 그 부분의 Gcode 생성을 하지 않는 경우가 발생한다. 

조금 극단적인 상황으로 line Width 를 노즐사이즈의 2배인 0.8mm 로 설정했을 때의 모습을 예로 들어보았다.



 넓은 폭 설정에서는 포켓몬 망나뇽 날개의 상당부분이 Gcode 가 만들어지지 않은 것을 확인할 수 있다. 


 자신의 출력물 형태에 따라 잘만 사용한다면 출력시간을 줄이거나 압출량을 충분히 확보하는 방법이 될 것이다. 



2. 안착 개선에 유용 (Initial Layer line width)


3D 프린터 입문시절에 가장 나를 괴롭혔던 것이 '안착' 문제이다. 

필라멘트가 안정적으로 베드 위에 내려앉아 가만히 고정이 되어야 하는데

방랑벽이 생긴것인지 이리저리 돌아다니며 좀체 고정이 안될 때 깊은 절망감에 빠지게 된다. 


안착은 베드와 필라멘트간의 접합이 핵심이다. 

필라멘트와 만나서 궁합이 좋아 잘 붙는 베드가 있고 그렇지 못한 베드가 있다. 그런데 같은 베드라고 하더라도 안착이 이 잘될 수도 안될 수도 있다. 우리가 접착제로 뭔가 붙이고 고정시키려고 하더라도 접착제를 발라놓은 면을 꾹 누르고 있는 것과 그냥 가만히 닿은채로 놔두는 것과는 차이가 있음을 알고 있다. 마찬가지로 필라멘트가 베드에 내려앉을 때 잘 눌러지게 만드는 것과 아닌 것과는 안착에 큰 차이를 보여준다. 


그것을 좌우하는 것이 1차적으로는 베드와 노즐사이의 간격이다. 



간격이 너무 넓으면 필라멘트는 베드위에 사뿐히 올려다 놓아질 뿐이다. PC(폴리카보네이트) 계열의 필라멘트와 잘 붙는 베드위에서는 이 정도도 안착이 될 수 있지만 베드 재질이 PC 보다는 접착력 약한 유리 같은 것 위에서는 그냥 필라가 날라다니게 된다. 

너무 좁으면 필라가 밖으로 나오기 힘들어 익스트루더 모터가 틱틱~하는 소리를 내며 압출이 안되는 경험을 하게 된다.  마치 주사기 앞을 손가락으로 막은채 주사기를 누를 때의 모습을 상상해보면 될 것이다. 


적정한 간격이란 일반적으로 A4 용지 두께 정도라고 이야기 된다. A4 용지를 버니어캘리퍼스로 측정해보면 0.1mm 내외가 되니 그 정도 간격을 말할 것이다. 그림으로 나타내보면 이런 모습이 될 것이다. 



그런데, 이런 모습으로 출력이 진행되는 것은 아니다. 

처음에 나는 첫 레이어가 0.1mm 로 셋팅한 간격에서 출력이 진행된다고 막연히 생각했는데 그게 아니었다. 

만약 레이어 높이를 0.2mm 로 설정해놓았다면 현재 위의 모습에서 0.2mm 높은 위치에서 필라를 뽑아내게 되어 있다. 



그러나 저렇게 그림상으로 올라가 보이더라도 크게 걱정할 것은 없다. 저런 상태에서 정상적인 프린터의 경우는 안착에 문제가 되지는 않는다. 내가 그림의 이해를 돕기 위해 조금 과장되게 그린 것도 있기 때문이다. 

하지만, 내 프린터가 안착이 잘 안된다면 한번쯤 알고 있어야 할 구조도가 아닐까 싶다. 


이제 본론으로 들어가 저런 구조에서 안착을 좋게 하는 방법은 무엇일까? 

많은 사람들이 하는 대표적인 방식에는 다음과 같은 것들이 있었다. 


1) 첫레이어의 높이를 높인다.

   ; 레이어 높이를 높인다는 것은 그만큼 압출량이 많아진다는 것을 뜻한다. 많은 압출량은 베드와의 안착을 개선할 것으로 기대가 된다. 그러나 잘 모르겠다. 레이어 높이가 높아지면 베드와의 거리가 더 멀어지기 때문에 효과가 있을까?  나도 처음에는 0.2 layer height 에 첫 레이어만 0.3mm 로 설정해 출력하기도 했는데, 안착의 개선은 첫레이어 높이가 아닌 전혀 다른 것으로 부터 해결이 되었던 터라 그 여부를 알 수는 없었다. 현재 잘되고 있는 안착을 이것을 확인해보려고 일부러 안되게 만드는 수고를 하고 싶지는 않기에 이런 방법이 있다는 사실만 알아두기 바란다. 


2) 첫레이어 높이를 낮춘다. 

  ; 해외사이트에서 많이 볼 수 있는 내용으로 기본 layer height 보다 80% 선에서 첫 레이어 높이를 맞추라는 조언이 있다. 만약 0.1mm 가 기본 레이어 높이라면 0.08mm를 첫레이어로 하라는 말이다. 이건 1)번의 방법과 정반대로 제안이어서 처음에 보았을 때 무척 당황스럽게 하였다. 원리는 레이어 높이를 낮추면 베드와 가깝게 밀착이 되어 안착에 좋지 않겠냐는 의도일 것이다. 1번과는 반대로 베드와는 가깝게 되겠지만 압출량은 비례해서 줄어들기 때문에 과연 안착에 개선이 될지는 의문스럽다.


3) 베드와 노즐의 간격을 좁힌다.

  ; 보통은 A4 용지를 사용해 레벨링을 함으로써 0.1mm 가량의 간격을 만들게 되는데, 그러지 말고 그냥 0mm 간격, 즉 노즐을 베드에 붙게 하면 된다는 말이다.  원리상으로 따지면 이 방법이 가장 좋다고 보인다. 그러나 베드가 완벽히 이상적인 평면이 아니고.. 레벨링에 살짝이라도 오차가 발생하면 노즐이 그대로 베드를 긁어먹게 되는 현실적인 문제가 발생할 우려가 있다. 


이정도 되면 눈치챘을 것이다. 방법은 첫레이어 높이를 변화시키지 않고도 압출량만 조금 더 주게 되면 개선되지 않겠냐는 것이다. 

그렇다. 심플리파이 등의 유료 슬라이싱프로그램은 레이어 두께는 그대로 두고 첫레이어의 압출량만 조정하는 기능이 있다고 한다. 

그러나, Cura 에서도 첫 레이어 Line width 조정 기능을 가지고 거의 같은 결과를 낼 수 있다. 



Line width 를 높인다는 것은 압출량을 높인다는 말과 동일하다. 프린터는 둘 사이를 구분하지 않고 그냥 익스트루더 모터의 회전을 좀더 줄 뿐이기 때문이다. 

그래서 노즐과 베드사이에 떨어진 간격을 높아진 압출량으로 채우게 되면 기존보다는 좀더 필라멘트를 베드에 밀착시킬 수 있게 된다. 


주의사항 : 단순 압출량을 늘리는 것이 아니라 Line Width 를 바꾸는 것이기 때문에 첫레이어를 형성하는 패턴이 달라진다. 즉 100%로 할 때 10번의 필라멘트 선을 그었다면, 200%로는 5번만 선을 긋는 방식이다. 이에 따라서 베드/노즐 간격 혹은 출력물의 형상에 따라 좋지 못한 결과를 낼 수도 있다. 



3. Size 를  맞춰서 출력 하고자 할 때 유용 (Horizontal Expansion)



한때 정확한 수치의 Cube를 출력하고자 Steps per Unit 값을 calibration 하느라 괜한 시간을 소비했던적이 있다.  (참고 : 사이즈 캘리브레이션의 허와 실 http://cafe.naver.com/makerfac/47065)


그때 레드캐럿님이라는 아이디의 분으로 부터 Horizontal Expansion 기능을 배웠고 지금까지 잘 사용을 하고 있다. (참고 : http://cafe.naver.com/makerfac/47068)


혹시 어디선가 Steps per Unit 값을 조절하여 완벽한 크기의 Cube 를 만드는 법에 대해 글을 읽으셨다면 꼭 위의 두 링크를 참고하길 바란다. 

결론은 그거 하지 말라는 것이다. 

이것은 지극히 잘못된 방식이다. 



나를 비롯해서 많은 사람들이 잘못된 Calibration 을 하는 이유는 20mm 큐브 출력물에 이름을 'Calibration Cube' 라고 붙였기 때문이라고 생각한다. 게다가 해당 모델링의 아래에 보면 출력한 큐브를 버니어 캘러퍼스로  측정해서 나온 값을 토대로 어떻게 Steps per unit 값을 변경할지에 대한 설명도 나와 있기 때문에 이런 혼란을 야기했다고 본다.  


다시 말하지만 절대 하지 말아야 할 캘리브레이션 중 하나이다. 


이유는 실제 모델링과 3D 프린터 출력 방식에 따른 오차가 반드시 존재하기 때문이다. 우리가 20mm 큐브를 디자인 했다면, 3D 프린터가 만약 정확히 20mm 를 노즐이 움직였다고 가정하면 노즐의 폭.. 아까 이야기했던 Line Width 때문에 20mm 보다 더 커지는 게 정상이다. 

정상으로 나온걸 비정상으로 생각해서 Step 값을 줄이면 나중에 큰 출력물을 뽑으면 크기가 줄어있게 된다. 

이게 피규어 같은 경우에는 상관이 없지만 볼트 너트로 결합을 해야하는 사이즈가 정확해야 하는 것의 경우는 이 때문에 심각한 조립 불량이 나게 되어 있다. 


하지만 출력물을 끼워야 하는 경우에, 예를 들어 볼트와 너트를 만들었는데 볼트의 출력물 외경이 디자인보다 좀 굵게 나오고, 너트의 내경도 디자인보다 안쪽으로 더 넓어져 내경이 축소되었다면 분명 조립이 안되는 문제가 발생할 것이다. 


이럴때 해결하는 방법은 2가지 이다. 


출력물이 0.1~0.2 정도 사이즈가 크게 나올 것임을 감안하고 디자인을 하는 방법이다.  그러면 된다. 


그러나 내가 디자인하는게 아니라 싱기버스에 올라온 디자인을 내려받아 출력하고자 할 때는 위 방법이 통하지 않는다. 

실제로 디자이너가 멀쩡한 모델링을 올려놨음에도 불구하고 사이즈가 안맞는다고 댓글로 불평하는 사용자들의 대부분은 이 메커니즘을 몰랐기 때문이라고 여겨진다. 

사용하는 프린터나 슬라이서 프로그램마다 공차라던가 사이즈를 처리하는 방식이 조금씩 달라진다는 사실을. 


Simplify3D 는 기본적으로 이 문제를 신경 안쓰게 기능에 탑재를 했는 것 같다. 내가 다른 분께 받았던 20mm Cube 는 정확히 20.0mm 의 크기를 보이고 있음을 통해 예상할 수 있었다. 


말이 길어졌는데, 결론은 Horizontal Expansion 을 이용해보라는 말이다. 그렇게 되면 전체 사이즈는 그대로 둔채로 외벽의 위치만 설정한 값만큼 안쪽으로 들여서 노즐이 이동한다. 그렇게 되면 step 값을 변환했을때와는 달리 전체 크기의 볼트 구멍의 위치 절대값은 변하지 않고 해당 구멍 사이즈만 변하게 되는 결과가 나온다. 



위의 회색의 그림자처럼 보이는 영역이 expansion 값이 0 일 때의 경계라고 하면 핑크색으로 보이는 부분이 값을 음수로 주었을 때의 출력물의 모습이 될 것이다. 


만약 하나로 출력되어 움직이는 장난감 같은 것을 출력해보고자 한다면 Horizontal Expansion 값을 -0.1 이나 -0.15 정도의 값을 넣어서 해보면 결합 부위의 움직임이 훨씬 부드러워짐을 경험하게 될 것이다. 


주의사항 : Line Width 를 변경하는 것과 마찬가지로 이 값의 변경은 가느다른 형상이 모델링에 있다면 그 부분을 X, Y 방향으로 강제적으로 깎아 버리기 때문에 사라져 버릴 수 있다. 따라서 섬세한 모양이 살아야 하는 피규어 등에는 되도록 값을 작게 주던지 0 으로 해야 될 것이다. 



4. 재봉선을 어떻게 할까 (Seam alignment)


3D 프린터의 재봉선이란 다음과 같은 형상을 말한다. 



아주 매끄러워야 하는 표면에 디자인에도 없는 줄이 그어진 것이다. 

그래도 위와 같은 형상은 괜찮을지 모른다. 

피규어를 출력했는데 얼굴 부위나 몸에 저런 재봉선이 지나간다면 대략 난감하다. 


저 재봉선은 FDM방식의 3D 프린터가 가지고 있는 태생적인 한계일지 모른다.  노즐이 1차원적인 선으로 움직이면서 한층에서 다른 층으로 옮겨갈 때 Z 방향으로 올라가는데 시간이 걸린다. 이 시간동안 노즐에서 필라가 조금 흐르기도 하고, 일단 노즐이 한 장소에 머무르다 보니 이동하면서 필라멘트를 뿌리는 곳과는 다르게 모양이 형성되는데 이게 계속 쌓이다 보면 재봉선이 되는 것이다. 


재봉선을 아얘 없앨 수는 없다. 그러나 한쪽으로 몰지 아니면 흩뜨려 놓을지 아니면 바깥쪽에 형성할지 안쪽으로 형성할지 정도는 정할 수 있다. 그것이 이번에 이야기하는 Seam alignment 기능이다. 




Seam Alignment 는 네가지 메뉴가 있는데 어떤 것을 선택하느냐에 따라서 표면에 Seam 이 나타나는 모양이 달라지게 된다. 


Seam alignment 에는 총 4가지 옵션이 있다. 각각을 비교해보기 위해서 딸이 좋아하는 몰랑이 캐릭터를 가지고 살펴보고자 한다. 



그냥 이것을 통째로 보면 차이를 알기가 어렵기 때문에 노즐의 이동선만을 보이게 하고 머리 위쪽의 특정 레이어만을 대상으로 하였다. 



자세하게는 모르겠지만 노즐이 이동하는 선을 뜻하는 파랑색의 궤적이 서로 다르게 나타나 있음을 확인할 수 있을 것이다. 


이렇게 서로 다른 것을 여러레이어를 합쳐서 보면 어떨가? 

몰랑이의 등부분을 비교해가며 비춰보았다. 



몰랑이 자체가 날카로운 모서리 부분이 없는 형태여서 shortest 와 sharpest corner 의 차이가 크게 나타나지 않았으나 만약 각이 진 Cube 같은 형태일 경우에는 sharpest corner를 선택할 경우 큐브의 한쪽 모서리에 재봉선을 형성시키게 된다. 어차피 모서리이기 때문에 이 경우에는 티가 나지 않는다. 

random 은 말그대로 무작위적으로 seam 을 형성시킨다. 레이어의 첫시작과 마치는 곳이 매번 달라지기 때문에 재봉선이 한줄로 나타나지 않고 이곳저곳에 혹처럼 나타나게 되는 것이다. 이를 Blob 이라는 말로 불리는데 이것을 줄이거나 제거하는 것에 대한 자료도 엄청나다. 

사용자 설정인 User Specified 는 설정된 위치를 기준점으로 하여 그 기준점에 가까운 쪽으로 되도록 seam 을 형성시킨다는 뜻이다. 큐라의 기본설정은 출력물의 뒷쪽으로 기준을 잡고 있기 때문에 뒤쪽 등 가운데로 재봉선이 몰려 있는 형태가 된다. 


하나로 몰려 있는 것과 무작위로 흩어져 있는 것에 대해 

외국사이트에 비교해 놓은 사진이 있어 가져와보았다. 


<출처 : https://exploreideasdaily.wordpress.com/2013/04/24/3d-printing-your-friend-the-slicer/>


어느게 더 좋아 보이는가?  나는 잘 모르겠다. 출력물을 어떠한 목적으로 사용하는지.. 그리고 후처리를 어떻게 해줄 것인지에 따라 달라 질 수 있다고 보기 때문이다. 


그리고 마지막으로 재봉선과 관련된 메뉴중에 Seam Corner preference 라는 항목이 있는데, 이것을 통해 보여지는 부분의 재봉선을 최소화 할 수도 있다. 각자 사용해보고 자신의 출력물에 가장 적합한 것을 선택해 쓰길 바란다. 



5. 유령 선을 제거하기 (Infill before wall)


유령 선은 다음과 같이 출력물 벽면에 수상한 선이 도출되어 보이는 것을 뜻한다.



처음에 큐브를 출력하면서 나역시 유령 선을 경험하였다.



처음 출력해보고 저런 형태가 나와서 마음이 불편했는데

여러개의 큐브를 출력하다보니 알게 된 사실은 동일한 위치에서 항상 발생하는 것이었다. 




이게 뭐지 싶어서 찾아보고 살펴보다보니 안쪽 infill 이 맞닿는 곳과 위치가 일치한다는 사실을 알게 되었다. 



ghost line 이라는게 발생하는 이유는 간단했다. 안쪽의 infill 이 형성되고나서 외벽이 만들어질때 이미 형성된 infill 끝쪽이 외벽을 밀어내기 때문에 나타나는 것이었다. 


해결방법은 크게 2가지로 좁혀진다. 

첫째는, 외벽 두께를 두껍게 하면 된다. 일반적으로 외벽을 3 shell, 그러니깐 0.4mm 노즐에서는 1.2 mm 의 두께로 설정하면 대부분 저 형태는 없어진다. 

그러나 0.8mm 에서 1.2mm 로 올리면 벽면의 재료가 50% 더 소모가 되고 시간도 그만큼 증가하게 되는 문제가 발생한다.  출력물은 더 단단해지긴 하겠지만 말이다. 


둘째는 큐라 설정에 있는 infill before wall 기능을 해제시키는 것이다. 



해당 항목을 활성화 하게 되면 큐라의 기본 셋팅이 위와 같이 체크가 되어 있을 것이다. 그 말은 무조건 infill 이 있는 레이어에 다다르면 채우기 부터 하고 나중에 벽을 그린다는 말이 된다. 이렇게 할 경우 외벽두께가 얇다면 유령 선이 생기게 마련이다. 


체크를 해제하면 외벽부터 그리기 시작할 것이다. 그리고 나서 infill 을 그리게 되는데 이때는 이미 외벽이 단단하게 굳어진 상태에서 infill 을 형성하는 것이라 외벽이 밀려서 도출되는 형상이 나타나지 않는다. 


주의사항 : 이 기능은 overhang 이 있을 때는 구조형성이 취약해질 수 있다는 점에서 주의를 요한다. 수직의 형상에서는 infill 을 먼저하든 외벽을 먼저하든 상관이 없어서 기능을 꺼놓아도 좋지만, 아래보다 위쪽이 넓어지는 형상에서는 infill 을 먼저 형성하는 것이 좋다. 왜냐하면 각도가 역으로 있는 overhang 구조에서는 외벽부터 형성하게 되면 지탱할 공간이 없는 곳에 벽을 그려서 아래로 무너져 내릴 수 있는데 infill 을 먼저 하게 되면 infill 선과 overlap 되는 형식으로 외벽이 지탱을 하면서 올라갈 수 있기 때문이다.  선택은 각자가 출력하고자 하는 모델에 따라 하면 되겠다. 


6. 압출량을 조절한다 (Flow)


이 기능은 별거 없다. 그냥 같은 시간에 동일한 거리를 노즐이 지나갈 때 설정한 수치만큼의 비율로 필라멘트를 더 압출할지 적게 압출할지를 조정하는 기능이다. 



뭔가 압출량이 부족하거나 과하다 싶을 때에는 이부분을 조절해보는 것도 좋을 것이다. 


그러나 먼저는 이 기능보다 Extruder 모터의 Steps per unit 값을 calibration 하고 나서 조정하길 바란다. 왜냐하면 큐라를 비롯해 다양한 슬라이서 프로그램들이 하드웨어의 기본 셋팅이 잘되어 있다는 것을 전제하에 기본 셋팅이 되어 있기 때문이다.  하드웨어적으로 문제가 있는 상태에서 소프트웨어적인 설정값으로 바꾸다보면 당장의 문제는 해결되었지만 자꾸만 다른 곳에서 물이 새는 경우가 벌어질 수도 있다. 


그런데 이 값을 조절해줘야 하는 경우가 가끔 있다. 

그것은 필라멘트를 교체했을 때이다. 

필라멘트는 일반적으로 1.75mm 규격을 많이 사용하게 되는데

회사마다 제조 장비의 공차가 있어서 표시는 1.75라고 되어 있지만 실제 측정을 해보면 직경이 1.65 ~ 1.75로 변화무쌍한게 있기 마련이다. 

만약 평균값이 1.70 이라고 한다면 단면적이 6% 정도 차이가 나고 동일한 길이를 압출했을 때 나오는 압출량도 달라지게 된다. 

이때는 출력물 결과를 보면서 간단히 flow 설정값을 올리면 된다. 


Flow 와 완전히 동일한 기능의 설정값이 있는데 그것은 Material 항목에서 Diameter 값을 직접 바꿔주는 것이다. 

실제로 변경을 해보니 동일한 거리를 이동시 압출량이 달라짐을 확인할 수 있었다. 


즉 1.70mm 로 Diameter 를 셋팅하면 단면적이 작음을 감안하여 추가적으로 더 압출을 해주도록 Gcode 를 형성하는 것이다. 


각자 편한 방식을 선택해서 쓰면 좋겠다. 




7. 압출부족 현상에 대한 한가지 접근법 (Retraction Extra Prime Amount)


Retraction 을 하고 나서 리트랙션 한 만큼 다시 압출을 한 후에 다음 프린팅이 진행이 되는데 이를 Prime 이라고 한다. 

그런데 리트랙션 이후 압출하는 지점에 이상하게도 선이 안그어지고 일정 거리를 이동한 다음부터 필라가 나오는 현상이 목격된다면 이 설정값이 어느정도 해결을 해줄 수 있다. 


그러나 만능은 아니다. 왜 이동후 압출부족이 발생했는지에 대한 원인을 제대로 파악하지 못한채 이 기능을 사용한다면 오히려 과압출 영역이 발생해서 출력물에 좋지 않을 수도 있음을 알고 자신의 상황에 맞게 사용할 수 있어야 하겠다. 


압출 부족 문제를 해결했던 이전의 다른 글을 참고하길 바란다. 


http://bookledge.tistory.com/869?category=718609



8. 예상출력시각을 맞추다 (Enable Acceleration Control)


다들 경험해봤을 것이다. 

큐라 Gcode 생성시 시간이 3시간이라고 되어 있어서 출력을 시작했더니 3시간이 넘어도 완료가 안되고 4시간 지나서야 끝나는 경험을 말이다. 


시간이 여유가 있을 때는 상관없지만 빨리 출력해서 이동을 해야하는 상황일 때에는 이런 편차때문에 더이상 큐라의 예상 출력시간을 믿지 못하게 되는데 이 파트는 그 부분에 대한 해결 방법을 제공할 것이다. 


출력시간을 도출해내는 로직에서 가장 중요하게 차지하는 것은 단연 Feed rate 이라고 하는 출력 속도가 될 것이다. 

출력속도가 20 인것과 100인 것은 확실히 다른 걸 경험적으로도 아는 사실일 것이다. 


그런데 큐라의 예상 시간 설정에서 출력속도와 함께 영향을 크게 미치는 값이 바로 Acceleration 과 Jerk 이다. 


만약 별다른 설정이 안되어 있다면 큐라는 Acceleration 값을 가능한 최대값으로 가정하여 예상시간을 계산하는 것으로 보인다. 

하지만 큐라에서 가속도 값을 별도로 설정하지 않았다고 해도

장비의 펌웨어단에서는 설정한 가속도 값이 존재한다. 

그러다보니 큐라가 최대 가속도 값으로 계산한 시간과 장비에 직접 출력하였을때의 시간은 차이를 보이는 것이 당연한 결과였던 것이다. 


다음은 큐라에 있는 Enable Acceleration Control 을 켜고 프린터에 설정된 가속도 값으로 셋팅한 것과 그 기능을 끈 것과의 예상 시간 결과를 비교해보았다. 



어떤가?  설정값을 껐을 때는 5시간 15분이 걸렸던 것이 설정값을 체크하는 순간 6시간 22분으로 1시간이 넘게 더 걸린다는 결과가 나왔다. 


나의 경우는 이 값을 켜놓은 상태로 늘 출력을 하는데 큐라의 예상시간과 출력시간의 차가 10분 내외로 상당히 정확히 나오는 것을 경험한다. 

만약 출력 예상시간 때문에 고민했던 분이라면 참고하면 좋겠다. 



9. 압출부족 문제의 원흉 (Combing Mode)


앞서 7번의 Retraction Extra Prime Amount 의 링크글을 읽었다면 이미 Combing 에 대한 중요성은 인지하고 있을 것이다. 

Combing 은 노즐이 이동시에 한쪽에서 다른쪽으로 가로질러 가지 않고 이미 압출을 해놓은 벽면을 따라 빗질하듯이 이동을 하는 기능을 뜻한다. 

이렇게 이동하는 것에는 장점도 있다. 이미 출력해놓은 상단을 뜨거운 노즐이 한번더 지나감으로써 탄탄하게 만드는 효과도 있을 것이다. 

그리고, 출력물 주변에 걸쳐진 거미줄 같은 형태도 나오지 않을 것이다. 

그러나 심각한 문제가 생기는데 이동하고 나서 반드시 압출부족이 발생한다는 점이다. 기존 출력물 위를 지날 때에 노즐 끝에까지 와 있는 필라멘트가 빗질도중에 표면에 묻어서 서서히 딸려가고 소모가 되기 때문이다. 




이런 문제가 발생하는 것은 Combing 중에는 Retraction 이 먹지 않기 때문이기도 하다. 만약 Combing 하기전에 무조건 Retraction 을 하는 기능이 있다면 Combing 도 괜찮은 출력방식중에 하나가 될 것이다. 그러나 현재는 Combing 을 꺼놓거나 No Skin 으로 설정을 하는게 출력 표면의 압출부족을 막는 방법이 될 것이다. 

아직 안읽어 보신 분은 아래 링크를 참조하길 바란다. 


http://bookledge.tistory.com/869?category=718609


아직 테스트를 다 해보지는 않았지만 어쩌면

Retraction before Outer Wall 과 Combing 을 함께 켜 놓으면 표면 불량이 해결될지도 모른다는 생각이들었다. 

시도해본 사람이 있다면 결과를 댓글로 남겨주시면 좋겠다. 



10. 깔끔한 서포트 제거 (Enable Support Interface)


앞서 IdeaMaker 의 슬라이싱 프로그램을 이야기하면서 서포트에대해 언급을 했었던바와같이 서포트는 대부분의 출력물에 있어선 선택이 아니라 필수적 존재이다. 


그런데 기본 설정으로 출력을 하면 서포트와 닿는면이 지저분하게 나와서 뭔가 조치가 필요하다고 생각이 들었다. 

그때 눈에 들어온 글이 Simplify3D 에는 dense Support 라는 접하는 지점의 밀도를 높여서 서포트와 닿는 표면을 좋게 만든다는 기능이었다. 

혹시 Cura 에도 그런게 있으면 좋겠다고 싶어서 찾아보니 있었다. 

이름은 Support Interface 이다. 



Enable Support Interface 를 켜면 서포트와 출력물이 닿는 지점 근처에서 설정한 높이만큼은 서포트 조직이 치밀하게 형성이 된다. 

이로 인해서 서포트 제거후에 좋은 표면을 볼 수 있게 되는 것이다. 

다음은 기능을 껐을때와 켰을때의 Gcode 형성 모습이다. 



결과는 다음과 같다. 

동일한 것을 가지고 비교했어야 하는데 기존에 출력한 것으로 사진을 찍어 글을 쓰다보니 같은 모델은 아니다. 

그러나 Interface Supporter 기능을 켰을 때는 넓은 면적의 모델링에서도 서포트 제거나 제거이후의 모습이 더 좋아졌음은 분명히 말할 수 있다. 




이상 알아두면 출력물 개선에 도움이 되는 10가지 Cura 기능에 대한 글을 마치도록 하겠다. 



혹시 내가 놓치고 있는 정보나 더욱 도움되고 좋은 기능이 있다면 함께 정보를 공유했으면 좋겠다. 


즐거운 프린팅 생활 되기를... 






김성민의 북리지 - 함께 성장하는 책 리더십 지혜