:::: MENU ::::

큐라 한글화 14.09 버전

지난번에 큐라 한글화 작업에 대해서 포스팅을 했는데, 몇가지 추가할 사항이 있어서 다시 정리를 한다.

일단 당시 한글화 한 버젼은 14.08 RC버젼인데, 이 버젼은 공식 릴리즈가 되지 않았고, 14.07 다음에 바로 14.09버젼이 릴리즈 됐다. 그리고 14.08 한글 번역 버젼이 서포트 설정이 동작을 하지 않는다는 것이다.

문제의 원인은 다음과 같다.  큐라의 모든 설정 부분은 current_profile.ini 파일에 저장이 되며, 큐라가 시작할때 이 파일을 로드해서 설정이 되고 종료할때 마지막 값이 저장되는데 한글로 설정된 값이 current_profile.ini에 저장이 안된다. 따라서 이부분은 그냥 영문을 그대로 사용을 하도록 po 파일을 수정해서 다시 빌드를 했다. 14.09버젼에는 프랑스어, 독일어가 추가가 되어 있고 설정이 가능해져서 이 부분도 수정을 해서 한국어 설정도 가능하도록 했다.

Cura 14.09  한글버젼의 다운로드


Github – Fork한 저장소 업데이트하기

Github에서 fork한 저장소를 원본 저장소와 연결해서 업데이트하려면, github에서 제공하는 툴에는 메뉴가 없으므로 터미널에서 작업을 해야한다.

Remote 설정

현재 설정된 리모트 저장소를 확인

$ git remote -v

새로운 리모트 업스트림을 추가

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

추가된 리모트 저장소 확인

$ git remote -v

다음과 같은 형태로 업스트림이 추가된 것을 볼 수 있다.

Fork한 것을 업데이트

패치를 한다.

$ git fetch upstream

그다음에 checkout… 일반적으로 master이고 내가 fork한 브랜치의 이름을 적어야 한다.

$ git checkout master

merge를 한다. 이때도 일반적으로 master이고 내가 fork한 브랜치의 이름을 적어야 한다.

$ git merge upstream/master

Conflict 해결하기

충돌 상황을 확인

$ git status

충돌이 생긴 파일의 시작 부분에 <<<<<<< HEAD, 끝 부분에 >>>>>>> 표시가 되어 있다. 이것을 해결한 후에 git add 명령으로 변경된 파일을 추가하고 commit를 하면 된다.


이글 캐드 팁 – Trace의 길이 정보 확인하는 법

고속의 메모리 신호들은 trace의 길이를 맞춰주는데 이때 trace의 길이를 확인할 필요가 있다. 그리고 Trace만으로 저항 성분을 만들때도 Trace의 길이 정보가 필요하다. Trace길이에 따른 저항값은 이전 포스팅[PCB Trace 저항값 계산기] 참고

이글 캐드에서 trace의 길이를 확인하려면 다음과 같이 ulp를 사용하면 된다.

“run length-freq-ri”


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으로 설정하면 된다.  14.09버젼 부터는 언어 설정을 하는 옵션이 추가됨

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

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

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

일단 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 참고) 정의 되어 있지 않은 핀은 이 번호뒤에 정의해서 사용하면 된다.

pins_arduino.h 파일은 아두이노 1.0.6의 경우 아래 경로에 있다. Arduino.app/Contents/Resources/Java/hardware/arduino/variants/mega/pins_arduino.h


Pages:1...23242526272829...56