:::: MENU ::::

3D 프린팅 팁 – 첫번째 레이어의 인쇄

3D 프린터에서 프린팅을 할때 가장 중요한 것은 출력하려는 모델이 베드에 잘 붙어있는 것이다. 이렇게 하기위해서는 몇가지 조치사항이 필요하다.

베드 레벨링

노즐과 베드와의 사이에 A4용지 하나가 들어갈 정도로 맞춘다. 만약 간격이 이 보다 더 가까우면 원료가 잘 나오지 못해서 끊어지듯이 그려지며, 간격이 넓으면 필라멘트가 베드에 잘 붙지 않는다.

베드의 소재

베드에 잘붙이기 위해서 덕성 테이프, 캡톤(Kapton)테이프, PET등이 사용이 되며, Ultimkaer의 경우 딱풀을 주기도 한다. PEI 재질의 베드를 사용하는 경우도 있다.

프린터 설정

  • 온도는 5도 정도 높이고 - 따라서 쿨링팬은 off
  • 속도는 약 30-50%로 줄이고
  • 적층 두께는 노즐의 직경 정도 만큼
  • 압출량은 일반적으로 200%인데 이 값은 레이어 두께 대비 값이므로 잘 설정을 해야 한다.


큐라 한글화 – Cura Korean Translation

네이버 카페에서 누군가 큐라(Cura)를 한글화한 것을 몇 건을 봤는데, po파일을 찾을 수 가 없고 또 어떤 것은 파이썬 소스의 영문을 그대로 건드려서 이건 아니다 싶어서 한글 번역을 했다. 사실 한글 번역은 귀찮은 작업인데 이런 작업을 하면서 더 알아가는 것도 있고 오픈소스에 기여를 하는 한 방편이기도 해서 진행을 했다.

일단 기존에 사용하는 큐라를 한글로 바꾸려면 Cura설치폴더\Cura\resources\locale 폴더에 위에서 받은 파일중 ko 폴더를 추가하고 큐라가 설치된 폴더아래 Cura 폴더 아래의 preferences.ini 파일에서 language 항목에 Korean으로 설정하면 된다. 

그리고 Cura설치폴더\Cura\util\resources.py 파일에 다음과 같이 Korean을 추가한다.

혹시 누군가 이런 작업을 할 때 필요할 것 같아서 어떻게 한글화를 하는지에 대해 간단히 정리를 한다.

  • github에서 파일을 다운로드(github 우측 하단의 “Download ZIP”) 받거나, fork
  • 다운로드 받은 코드에서 Cura\resources\locale\ko 폴더를 Cura.po 파일을 PoEdit 같은 프로그램으로 열어서 한글 수정
  • 큐라 한글 버젼실행 파일 (Cura_14.08.1-RC2) 다운로드 받기 – 프로그램 설치 후 First time run Wizard에서 언어를 Korean을 설정하면 한글로 설정이 된다.

일단 Ultimaker의 Cura쪽에 full request를 해서 merge가 됐으니, 다음 버젼에서는 한글이 나올수도…  그리고 윈도우즈/리눅스 및 맥에서 큐라 배포버젼을 만드는 방법은 다음 포스트에서 정리…


3D 프린팅 참고 도서 – 과학과 교육 및 지속가능한 발전을 위한 저비용 3D프린팅

지난번 포스팅에서 언급한 3D 프린팅관련 책자인 과학과 교육 및 지속가능한 발전을 위한 저비용 3D프린팅“은 이태리의 ICTP (International Centre for Theoretical Physics) 가 주최한 “Low-cost 3D Printing for Science, Education and Sustainable Development” 라는 워크샵의 발표집이다. 이 자료를 지식함지라는 곳에서 한글번역을 했으며, Creative Commons Attribution-Noncommercial-NoDerivative Works 3.0 Unported License 를 따른다.

CCL에 따르면

내용을 변경하거나 덧붙이는 등의 작업을 통해서 파생버전을 만들 수 없고, 상업적으로 이용할 수 없으며, 작가나 저작권자가 정한 방식대로 저작권이 누구에게 있는지를 알려주어야 한다.

책의 서문은

우리는 이 책이 3D프린팅에 대한 현재의 연구들과, 이 연구들이 전통적인 맥락 (예를 들면, 평평한 칠판에서 그림으로 표현하는 것, 종이에서 하는 각종 시각화들, 또는 현대식 디지탈 발표방식들)을 뛰어 넘어 과학을 가르치는데 어떻게 사용될 것인지에 대해서 여러분들께 합리적인 개요를 보여주는 첫 번째 책이 되기를 희망한다. 우리가 목표로 한 것은, 젊은 연구자들이나 새로운 과학자 세대들에게 호기심을 불러일으키고 심도있게 이해하도록 자극하여서 이들이 스스로의 3D프린팅 경험을 축적하도록 동기부여를 하고, 비용적으로 큰 부담이 되지 않는 이 기술이 제공하는 거대한 가능성을 탐험하도록 하는 것이었다. 우리는 여러분 모두가 참여하여, 프로토타입을 만들어 보고, 삼차원의 물리적 제품을 다듬고 그것들을 공유하기를 바란다. 이렇게 하는 것은 추상적인 물리학과 수학이, 실 세상에서의 응용들과 서로 연결되어 있다는 것을 확인하도록 자극하는데에 힘이 될 것이다. 이 책은 또한 직접 만져서 하는 (hands-on) 학습과 인터렉티브 교실활동을 강화시켜서, 최종적으로는 학습(된 것)을 말 그대로 여러분의 손 안에 가질 수 있도록 하는 것을 목표로 하고 있다.

이런 좋은 내용을 무료로 배포하는 것도 감사한데, 한글 번역까지 해놓은 버젼이 있어서 더욱 좋다는~~ 그리고 책의 서문에서 보듯이 그 의도도 좋다는…

책을 다운로드 받으려면

참고로 아이북스토어는 미국계정에서 가능.


3D 프린터 관련 용어 정리

3D 프린팅에서 사용되는 용어중 “과학과 교육 및 지속가능한 발전을 위한 저비용 3D프린팅“과 Cura 프로그램의 help에서 발췌하여 한글 번역을 한 것임.

Infill

이것은 출력된 부품의 안쪽부분을 말한다. 이것은 매우 다양한 패턴으로 만들어질 수 있어서, 그냥 꽉 채우는 것보다는 필라멘트를 절약할 수 있게 된다.

Skirt

skirt란 처음에 프린팅을 시작할 때, 노즐이 완전히 비어있으므로, 실제로 프린팅을 하기 전에 미리 조금 압출하는 플라스틱의 양을 말한다.

Cura – Skirt는 첫 번째 계층에서 오브젝트 주위에 그려진 라인입니다. 이것은 압출기에게 준비를 시키는데 도움을 줍니다. 그리고 오브젝트가 플랫폼에 맞는지 확인합니다.

Brim

brim은 물체가 제작판 (bed)에 좀 더 잘 붙도록 하기 위해서 첫 번째 층을 약간 두껍게 하는데 이 추가적인 두께를 말한다.

Cura – Brim은 출력후 쉽게 떼어내기 위해 오브젝트 주위에 두꺼운 평면 한층을 추가하는 것입니다.

Raft

모양이 틀어지는 것을 막기 위한 기술. 프린트되는 부품들이 제작판 (build surface) 위에 바로 만들어지는 것이 아니라, ‘raft’라고 불리는 물질 위에 만들어지는데, 이 raft만 나중에 쉽게 떼어내어 버릴 수 있다. Raft는 부품들보다 커야하며, 그러므로 더 큰 접착력을 가지고 있다. Heated build surface에서는 거의 사용되지 않는다. raft란 물체가 제작판 (bed)에 더 잘 붙어 있도록 하기 위한 방법으로, 플라스틱 필라멘트를 추가로 사용해서 한 개나 두 개의 층을 더 만드는 것을 말한다.

Cura – Raft는 출력물 아래에 두꺼운 레스터를 추가하고 이것과 오브젝트 사이에 얇은 인터페이스를 추가합니다.  Raft를 활성화 하면 skirt가 비활성화된다.

 Support

support는 물체의 일부분을 지지하기 위해서 아래쪽에 만들어 주는, 플라스틱의 특별한 스폰지 형태의 구조인데, 매달려 있는 형태와 같이 달리 처리할 방법이 없는 경우에 사용된다.


3D 프린팅용 오픈소스 소프트웨어

3D 프린팅을 위해서는 4가지 소프트웨어가 필요하다.

  1. 프린팅할 물체를 모델링 하는 소프트웨어
  2. 이 3D 모델을 각 레이어 별로 잘라주는 슬라이스 소프트웨어 – STL파일을 G코드로 변환
  3. G 코드를 프린터로 전송해 주는 프로그램 – 보통 3D printing host software라고 부른다.
  4. 3D 프린터에 내장되어 있는 펌웨어

일단 1번은 디자인을 위한 것이고 4번은 기기에서 돌아가는 소프트웨어 이니 논외로 하고 슬라이서 프로그램과 호스트 프로그램을 살펴보자. 일반적으로 이 두 프로그램이 합쳐져 있다. 즉 호스트 프로그램에서 슬라이서 프로그램을 가져다 쓰는 형태이다.

3D 슬라이서 프로그램

Slic3r

Skeinforge

KISSlicer

2013년에 포스팅된 메이크진의 블로그에 보면 Slic3r가 50%이상 사용이되고 Skeinforge, KISSlicer 가 각각 10%대로 사용이 된다.

3D  프린팅 호스트 프로그램

Repetier-Host

PrintRun

ReplicatorG

 

Repetier-Host가 약 33%, PrintRun이 약 18%, ReplicatorG는 5%정도 사용이 되는데 ReplicatorG는 2012년에 이후로는 업데이트가 없다.

이 외에 Ultimaker 사에서 나온 Cura가 있는데, 인터페이스가 간단하고 자체 엔진을 사용한다. 물론 오픈소스이고 코드가 공개되어 있다.


아두이노에서 정의되지 않은 핀 사용하기

아두이노 보드는 각종 라이브러리들을 잘 만들어 놓아 쉽게 프로그래밍이 가능하다. 일례로 가장 간단한 예제인 blink 예제를 보면 pinMode() 함수를 사용해서 온오프할 핀을 출력으로 정하고 digitalWrite()함수를 사용해서 LED를 온오프한다.

 * 참고로 pinMode() 함수를 사용할때 주의할 점은 인자로 받아들이는 pin의 숫자가 아두이노 보드에 명기된 숫자이지 AVR칩의 pin number가 아니라는 점이다.

Arduino Uno보드의 경우는 Atmega328칩의 모든  핀들이 보드에 나와있어서 문제가 없으나 위 그림과 같이 Arduino Mega보드의 경우 일부 핀들이 보드에 나와있지 않다. 보드에 핀이 나와있지 않으니 라이브러리에도 핀들이 정의되어 있지 않다. 따라서 만약에 이 핀들을 사용을 하려려면 라이브러리를 수정을 해야 하며, pinMode() 라는 함수가 어떻게 동작하는 지 알아야 한다.

위 코드에서 보듯이 digitalPinToBitMask() 함수와 digitalPinToPort() 함수를 어떤 포트의 어떤 핀을 설정할 것인지를 알아낸다. 이 함수들을 따라가다 보면 pins_arduino.c pins_arduino.h에 각 핀들이 어떤 포트에 있는지 정해져 있는데, 이곳에서 추가를 해야 한다. ATmega 2560이 아두이노에서는 디지털 핀의 경우 53번까지 정의가 되어 있으므로(ATmega2560-Arduino Pin Mapping 참고) 정의 되어 있지 않은 핀은 이 번호뒤에 정의해서 사용하면 된다.


PEI 3D 프린터 베드

3D 프린터의 힛베드(heat bed)에 모델을 잘 붙게하고, 프린팅이 끝난후 힛베드의 온도가 내려가면 모델을 잘 떼어지게 하기위해서 여러가지 방법이 있다. 일반적으로 가장 저렴한 방법은 힛베드에 테이핑을 하거나 딱풀이나 스프레이등을 뿌린다. 참고로 3가지 프린터를 구매해서 확인해 보니 MakerBot은 캡톤 필름시트, Ultimaker는 딱풀, 오픈크리에이터스는 테이프를 넣어서 준다.

PEI(Polyetherimide : 발음이… -_-;;)  베드를 사용하는 시도

PEI는 Ultem(울템)이라고 불리는데 가격이 테이프에 비해서 좀 고가인듯 하다. PEI는 얇은 판처럼 사용할 수 있어서 테이프처럼 붙이는 수고가 필요하지 않아서 저렴하게 소싱할 수 있으면 가장 좋은 솔루션이 될 것 같다.

PEI의 장점

1. SpiderBot에서 말하는 장점

  • Long-term Heat Resistance, excellent stability of physical and mechanical properties at elevated temperatures thanks to high glass transition temperature of 217 °C.
  • Strength and Stiffness, predictable stiffness and strength up to 200 °C.
  • Dimensional Stability, among the most dimensionally stable thermoplastics available, offering predictability over a wide temperature range.
  • Environmental Stress and Cracking Resistance, retain strength and resist stress cracking when exposed to automotive and aircraft fluids, aliphatic hydrocarbons, alcohols, acids, and weak aqueous solutions.
  • Easy to sterilize and clean properly.

2. Robox의 블로그 내용

테스트

암튼 아마존에서 두께가 약 2mm정도 되는 것을 구매를 해서 프린터 베드에 맞게 잘라서 테스트를 해봤는데, 잘붙고 잘 떨어진다. 주문한 거에서 한 10개 이상은 더 잘라서 쓸 수 있을 듯…


팁 – 윈도우즈 커맨드 프롬프트에서 프로세서 끝내기

윈도우즈 작업 관리자에서 프로세스를 찾은 후 클릭해서 프로세스를 끝낼 수도 있지만,  프로세스 이름을 알고 있다면 그리고 여러개를 한꺼번에 끝내려면 윈도우즈 커맨드 프롬프트에서 작업을 해야한다.

이때 필요한 명령어는 tasklist, taskkill

만약 프로세스 이름이 vmware로 시작하는 프로세서이면 /FI 옵션으로 필터를 건다.

tasklist /FI “IMAGENAME eq vmware*”

taskkill /F /FI “IMAGENAME eq vmware*”


윈도우 환경에서의 오픈소스 프로그래밍 툴 설치

원래 맥(Mac)을 사용하기 때문에 윈도우즈는 은행업무를 할때나 HWP 파일을 작성할때 빼고는 사용하지 않는다. 그런데 배포할 프로그램이 3가지 OS (Mac, Linux, Win)인지라 윈도우 환경에서도 개발툴의 설치가 필요하다. 사실 코드의 수정 보다도 이런 작업이 더 어려울 수 있는데, software deployment(한글로는 뭔지 잘….)를 위해서는 필요한 작업이고……..

내용은 윈도우환경에서 리눅스 개발환경 설치하기 정도가 될 것 같다. 리눅스 버젼의 배포판을 위해 가상머신에 우분투도 설치해서 설치패키지를 만들어 봤는데, 생각보다 깔끔하고 문제 없이 동작한다. 개발용이 아닌 한글을 사용한 워드, PPT작업등의 일반 업무 사용을 위해서는 어떨지 살짝 궁금하기도 했다는…

일단 필요한 프로그램은 컴파일을 위한 MinGW, 코드를 github에서 받고 bash 환경을 위한 프로그램, 마지막으로 윈도우즈 설치프로그램을 만들어 주는 프로그램이 필요하다.

MinGW

  • Minimalist GNU for Windows이라 불리우는 s/w 패키지이다. http://www.mingw.org/ 에서 Downloads 항목의 Installer에 있는 mingw-get-setup.exe 파일을 받아서 설치를 한다. 구글링을 해보니 mingw 5.1.4나 mingw5.16에 대한 소개가 있는데 g++버젼이 오래되어서 컴파일이 안될 수 있다.
  • 프로그램을 설치 한 후 필요한 컴파일러를 선택을 하면 다운로드 및 설치가 자동으로 된다.

Git-bash

  • http://git-scm.com/downloads 윈도우 버젼을 받아서 설치한다. 설치후 git-bash 를 사용하여 코드를 받고 패키지 컴파일을 위한 스크립트를 실행할 것이다.

NSIS

  • nullsoft scriptable install system
  • 상용프로그램으로 인스톨쉴드같은 것을 썼는데, 오픈소스인 NSIS도 같은 기능을 한다.
  • 오래된 프로그램이라 구글링하면 한글로 정리된 구체적인 사용법들이 많다.

Pages:1234567...30