3D 프린팅 G-code 마스터하기: 명령어, 파일 구조, 실전 팁 총정리
3D 프린팅 기술이 진화해도 변하지 않는 영역이 있습니다. 바로 G-code입니다. G-code는 3D 프린터에 무엇을 할지 지시하는 프로그램 코드입니다.
프린터의 '모국어'나 다름없습니다. 기본 G-code는 이동/회전, 복잡한 건 속도/온도 제어.

이 글에서는 G-code가 무엇인지, 어떻게 쓰는지, 주요 명령어를 다룹니다.
3D 프린팅 G-code란?
G-code는 3D 프린터 작동을 지시하는 프로그래밍 언어입니다. 기계가 어떤 움직임을 할지, 얼마나 빨리 움직일지, 어떤 경로를 따를지 알려줍니다.
매우 범용적인 언어로, 단순/복잡한 형상 생성뿐 아니라 프린터 정밀도 제어에도 쓰입니다.
3D 프린팅 G-code 기본 가이드
G-code 파일을 어떻게 만드나요?
G-code는 CNC(컴퓨터 수치 제어) 분야에서 가장 널리 쓰이는 코딩 언어 공통 명칭. 3D 프린팅에도 적용.
G-code 파일은 3D 프린터가 원하는 3D 오브젝트를 만들기 위해 어떤 움직임을 해야 할지 지시합니다. 보통 스테퍼 모터가 이 움직임을 제어.
G-code 파일 작성 소프트웨어 많음. 3D 프린팅 전용도 있고, 범용 CNC 프로그래밍 툴도 있음.
대부분 CAD(컴퓨터 지원 설계) 프로그램으로 3D 모델 생성 → G-code로 내보내기(Export) 합니다.
G-code 파일 생성 후 프린터로 전송 → 프린터가 G-code 읽고 스테퍼 모터 제어해 프린트 헤드 이동.
CAD 없이 직접 G-code 수작성도 가능. 하지만 프린터와 G-code 언어에 매우 익숙한 숙련자만 하는 영역.
G-code 파일 읽는 법
3D 프린터 유저라면 G-code 파일 열람 필요할 때 있습니다. 메모장++이나 워드 같은 텍스트 에디터로 열면 됨. 출력 지시 내용 확인 가능.
보통 공백으로 명령어 구분돼 있어 한 줄 = 한 출력 지시. 더 쉽게 보려면 G-code 뷰어 추천. 시각적으로 프린터 동작 미리보기 가능.
추천 뷰어: Cura, Slic3r (무료 다운로드). 설치 후 파일 열면 이해하기 쉬운 포맷으로 표시. 필요시 코드 수정 후 출력.
호환성 (Compatibility)
3D 프린터마다 지원 파일 포맷 다름. 모든 파일이 모든 프린터와 호환되는 건 아님.
- .stl: 가장 흔한 포맷. 3D CAD로 만들거나 기존 물체 스캔해 생성. 거의 모든 프린터 호환. 프린터별 품질 차이 있을 수 있음.
- .obj: 또 다른 흔한 포맷. .stl보다 프린터 호환성 낮음. 일부 프린터만 지원.
- .3mf: 신규 포맷, 점유율 상승 중. .obj보다 프린터 호환성 높게 설계됨.
- .gcode: 출력 지시 포함된 전용 파일. 대부분 프린터와 호환 안 됨. 하지만 일부 프린터는 .gcode만 받음.
G-code 명령어 치트키 (주요 명령어 리스트)
G0, G1: 이동 (Move)
프린트 헤드 이동 명령. G0: 빠른 이동(트래블 무브, 출력 없이 이동), G1: 느린 이동(실제 출력 중 압출하며 이동). 각각 기본 속도 있음. 사용자 지정 속도 설정 가능.
출력 중 프린트 헤드를 빌드 플레이트 여러 지점으로 이동해야 함. G0/G1 둘 다 씀.
G0은 가장 빠른 이동으로 출력 시간 단축에 도움. G1은 정확한 압출로 출력 품질 향상.
커스텀 속도 설정: M203 명령 사용. 예: G0 속도 50mm/s 설정 → M203 G0 F50 (F=피드레이트). G1도 동일하게 설정 가능.
명령 포맷 정확히 지켜야 함. 불확실하면 프린터 매뉴얼/제조사 문의.
G90, G91: 절대/상대 위치 지정
노즐 위치 지정 두 가지 모드.
- 절대 위치 (G90): 좌표가 원점(0,0,0)부터의 절대 거리로 해석. 현재 위치 상관없이 항상 원점 기준.
- 상대 위치 (G91): 좌표가 현재 노즐 위치부터의 상대 거리로 해석. 현재 위치 기준 이동.
예: 현재 10mm 오른쪽에서 상대 모드로 "왼쪽 10mm" 명령 → 5mm만 왼쪽으로 감(이미 10mm 오른쪽이었으므로).
출력 목적에 따라 선택. 항상 같은 지점에서 시작해야 하면 절대 모드. 빌드 영역 밖 큰 물체 출력 시 상대 모드 유용(절대 좌표 걱정 안 해도 됨).
프린터 기본값 다름(절대/상대). 매뉴얼/소프트웨어 설정에서 확인.
G28, G29: 오토 홈 & 베드 레벨링
대부분 프린터에 오토 홈 기능 탑재(컨트롤 패널 버튼으로 홈 이동). 베드 레벨링도 G29 명령으로 자동 수행.
홈 과정: 프린트 헤드를 빌드 플레이트 왼쪽 앞 코너로 이동 → 양축 모터 구동해 엔드스톱 트리거.
수동 홈: 컨트롤로 헤드 이동 → 엔드스톱 트리거. 자동 홈: G-code 명령으로 실행(더 정확/신뢰도 높음).
G29 사용 전 프린터 캘리브레이션 필요(매뉴얼 참고). 캘리브레이션 후 G29 실행 → 몇 분 소요, 대기 후 프린터 사용 가능.
M104, M109: 익스트루더 가열
M 명령으로 익스트루더 가열. 목표 온도 설정 및 도달 대기.
익스트루더: 플라스틱 필라멘트 가열/용융해 층층이 쌓는 장치. M104로 히터 온/오프 및 온도 설정.
M104 Sxxx T0/1 (히터 온/오프. S 주어지면 온도 설정. T는 0 또는 1 필수)
M104 Snnn T0 (익스트루더 히터 온도 nnn 설정)
M104 Snnn T1 (베드 온도 nnn 설정)
M109는 익스트루더 가열 대기 명령. 3D 프린트 필라멘트 가이드, 핫엔드 마운트, 필라멘트 홀더 3D 프린팅 부품 포함. 표준 1.75mm 필라멘트 프린터 대부분 호환. 히팅 베드 있는 프린터면 사용 가능. Standard/High-Flow 버전 있음.
M106, M107: 팬 제어
쿨링 팬 제어 필요성 커짐. 컨트롤러 보통 팬 커넥터 2개, 각 PWM 속도 제어 지원.
M106: 1번 커넥터 팬 제어. M107: 2번 커넥터 팬 제어.
값 0=팬 끔, 255=최대 속도. 예: 1번 팬 반속 → M106 S127. 2번 팬 끔 → M107 S0.
M140, M190: 베드 가열
빌드 플랫폼(베드)은 출력물 지지 + 가열로 접착 보조. 두 타입: M140, M190.
- M140: 소형 출력물용. 저온 → PLA 필라멘트 적합. PLA는 사탕수수/옥수수 전분 등 생분해 원료. 출력 쉽고 환경 영향 낮아 인기.
- M190: 고온 도달 가능 → ABS 등 고온 융합 필요 소재 적합. ABS는 석유계, 강도/내구성 좋아 3D 출력에 많이 쓰임.
프린터 선택 시 사용할 소재 고려 필수. PLA 위주면 M140 충분. ABS 등 고온 소재 쓰면 M190 필요.
FAQ
1. 모든 3D 프린터가 G-code를 쓰나요?
아니요. G-code는 일부 3D 프린터가 쓰는 특정 언어. 다른 언어나 없기도 함.
2. 3D 프린팅에서 G-code란?
3D 프린터에 뭘 할지 지시하는 프로그래밍 언어. 이동, 속도, 베드 온도 등 지시하는 일련의 명령어.
3. 3D 프린터는 STL을 쓰나요, G-code를 쓰나요?
다양한 포맷 쓰지만 가장 흔한 건 STL과 G-code. STL은 3D 프린팅 표준 설계 파일, 모든 3D 모델링 소프트웨어로 생성 가능. G-code는 복잡한 출력/멀티 소재용 특정 포맷.
4. G-code는 3D 프린터 전용인가요?
아니요. CNC 가공, 3D 스캐닝 등에도 쓰이는 범용 언어. 3D 프린팅 위해 개발됐지만 적용 범위 확대됨.
결론
3D 프린팅 G-code는 3D 프린터가 오브젝트를 어떻게 만들지 지시하는 명령어 세트입니다. 3D 모델링 소프트웨어나 3D 스캐너로 생성 가능.
G-code 파일에는 오브젝트 크기/형상, 프린터가 따라야 할 특정 경로 등 프린터 지시 사항 포함. 커스텀하면 고유한 오브젝트 생성 가능.