MCT G코드 완벽 정리: 전체 목록과 사용 예시
- tech turning
- 6월 18일
- 6분 분량
최종 수정일: 7월 7일

MCT(머시닝센터) 프로그래밍의 핵심인 G코드는 CNC 기계의 동작을 제어하는 명령어로, 공구 이동, 가공 경로, 좌표 설정 등을 지시합니다. 이 글에서는 MCT에서 사용되는 모든 G코드를 정리하고, 각 코드의 기능, 사용 예시, 그리고 실무에서의 주의사항을 제공합니다. 초보자부터 실무자까지 활용할 수 있도록 상세히 구성했습니다.
1. G코드란?
G코드는 **가공 준비 기능(Preparatory Function)**을 의미하며, CNC 밀링 머신이나 MCT에서 공구의 동작을 제어합니다.
형식: G 뒤에 두 자리 숫자(예: G00, G01).
특징:
모달 G코드: 한 번 지정하면 다음 명령까지 유지(예: G90).
원샷 G코드: 해당 블록에서만 유효(예: G28).
동일 그룹의 G코드는 한 블록에서 중복 사용 불가(마지막 코드 우선).
주의: G코드는 RS274 표준 기반이지만, FANUC, Siemens 등 컨트롤러별로 지원 여부나 동작이 다를 수 있으니 기계 매뉴얼 확인 필수.
2. G코드 그룹과 기능
G코드는 기능에 따라 그룹으로 나뉩니다. 주요 그룹은 다음과 같습니다:
이동/보간: 공구 이동 및 가공 경로(G00, G01, G02, G03).
평면 선택: 가공 평면 지정(G17, G18, G19).
좌표계 설정: 기준점 설정(G54~G59, G90, G91).
공구 보정: 공구 길이/경 보정(G43, G41, G42).
고정 사이클: 드릴링, 탭핑 등(G81~G89).
드웰/정지: 일시 정지(G04).
기타: 원점 복귀, 스케일링 등(G28, G68).
3. 전체 G코드 목록과 사용 예시
아래는 MCT에서 사용되는 모든 G코드 목록입니다. 각 코드의 기능, 사용 예시, 그리고 실무에서 주의해야 할 점을 포함했습니다. 자주 사용되는 코드는 ★로 표시했습니다.
1.이동 및 보간
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G00 ★ | 급속 위치 결정 | 공구를 최대 속도로 지정 좌표로 이동(절삭 없음). | G00 X100 Y100 Z50 | 공작물이나 클램프와의 충돌을 방지하기 위해 안전 높이(Z축) 설정 후 사용. |
G01 ★ | 직선 보간 | 지정 속도(F)로 직선 가공. | G01 X100 Y100 F1000 | 이송 속도(F)를 명확히 지정하지 않으면 공구 파손 또는 가공 오류 발생 가능. |
G02 ★ | 원호 보간(시계 방향) | 시계 방향으로 원호 가공. R 또는 I/J/K로 원호 지정. | G02 X100 Y0 R50 F1000G02 X100 Y0 I50 J0 F1000 | R은 180도 이하/초과 원호에 적합, I/J/K는 정밀 원호(360도 포함)에 사용. 평면 설정(G17 등) 확인. |
G03 ★ | 원호 보간(반시계 방향) | 반시계 방향으로 원호 가공. | G03 X100 Y0 R50 F1000G03 X100 Y0 I50 J0 F1000 | 원호 중심점(I/J/K) 또는 반경(R) 지정 오류 시 가공 경로가 틀어질 수 있음. |
2.평면 선택
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G17 ★ | XY 평면 선택 | XY 평면에서 가공(기본). | G17 | 원호 가공(G02, G03) 전 평면 설정 확인. 잘못된 평면 지정 시 경로 오류 발생. |
G18 | ZX 평면 선택 | ZX 평면에서 가공. | G18 | 5축 가공 또는 특수 가공 시 사용. 평면 전환 시 공구 방향 재확인. |
G19 | YZ 평면 선택 | YZ 평면에서 가공. | G19 | 공구 축과 평면 설정이 일치하지 않으면 가공 오류 발생. 컨트롤러 지원 여부 확인. |
3. 좌표 지령
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G90 ★ | 절대 지령 | 절대 좌표 기준 이동. | G90 X100 Y100 | 프로그램 시작 시 좌표 기준 명확히 설정. 혼합 사용(G91) 시 오류 주의. |
G91 ★ | 증분 지령 | 현재 위치에서 상대적 이동. | G91 X50 Y50 | 반복 가공 시 유용하나, 절대 좌표와 혼용 시 위치 오류 발생 가능. |
4.좌표계 선택
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G54~G59 ★ | 좌표계 선택 | 공작물 좌표계 1~6 선택. | G54 | 좌표계 설정 누락 시 공구가 예상치 못한 위치로 이동. 공작물 오프셋 정확히 입력. |
G54.1 P1~P48 | 확장 좌표계 | 추가 좌표계 선택(최대 48개). | G54.1 P10 | 고급 컨트롤러에서 지원. P값 범위 및 오프셋 데이터 사전 확인. |
5. 공구 경 보정
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G40 ★ | 공구 경 보정 취소 | 공구 경 보정 해제. | G40 | 가공 종료 또는 공구 교환 전 반드시 사용. 보정 잔류 시 다음 가공 오류. |
G41 ★ | 공구 경 보정(좌) | 공구 경을 좌측으로 보정. | G41 D1 | 보정 번호(D)와 공구 반경 데이터 정확히 입력. 경로 방향 확인. |
G42 ★ | 공구 경 보정(우) | 공구 경을 우측으로 보정. | G42 D1 | 공구 이동 방향과 보정 방향 불일치 시 가공 형상 왜곡. |
6.공구 길이 보정
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G43 ★ | 공구 길이 보정(+) | 공구 길이를 양수로 보정. | G43 H1 Z10 | 보정 번호(H)와 공구 길이 데이터 일치 확인. Z축 이동 전 적용. |
G44 | 공구 길이 보정(-) | 공구 길이를 음수로 보정. | G44 H1 Z10 | 음수 보정은 특수 공구 사용 시 적용. 보정 방향 오입력 주의. |
G49 ★ | 공구 길이 보정 취소 | 공구 길이 보정 해제. | G49 | 공구 교환 또는 가공 종료 시 사용. 보정 잔류 시 Z축 오류. |
7.고정 사이클
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G80 ★ | 고정 사이클 취소 | 모든 고정 사이클 해제. | G80 | 사이클 종료 후 반드시 사용. 잔류 사이클 시 다음 가공 오류. |
G81 ★ | 드릴링 사이클 | 기본 드릴링(단순 천공). | G81 Z-20 R5 F500 | R(리턴 높이), Z(절삭 깊이) 정확히 지정. 공구 강성 확인. |
G82 | 드릴링(드웰) | 드릴링 후 드웰. | G82 Z-20 R5 P1000 F500 | P(드웰 시간, ms) 적절히 설정. 과도한 드웰 시 공구 마모. |
G83 ★ | 펙 드릴링 | 깊은 홀 가공(칩 배출). | G83 Z-50 Q10 R5 F500 | Q(절삭 깊이)와 칩 배출 간격 최적화. 칩 배출 불량 시 공구 파손. |
G84 ★ | 탭핑 사이클 | 오른나사 탭핑. | G84 Z-20 R5 F1000 | 주축 동기화 및 피치 정확히 설정. 동기화 오류 시 나사산 손상. |
G85 | 보링 사이클 | 정밀 보링. | G85 Z-20 R5 F500 | 공구 이탈 경로 확인. 부정확한 설정 시 공작물 표면 손상. |
G86 | 보링(스핀들 정지) | 보링 후 스핀들 정지. | G86 Z-20 R5 F500 | 스핀들 정지 타이밍 확인. 정지 지연 시 공구 마찰 발생. |
G87 | 백 보링 | 뒤쪽 보링. | G87 Z-20 R5 F500 | 공구 삽입 경로와 오프셋 정확히 설정. 부정확 시 공작물 손상. |
G88 | 보링(드웰, 수동) | 드웰 후 수동 이탈. | G88 Z-20 R5 P1000 F500 | 수동 이탈 타이밍 확인. 작업자 안전 주의. |
G89 | 보링(드웰, 리턴) | 드웰 후 리턴. | G89 Z-20 R5 P1000 F500 | 드웰 시간과 리턴 속도 최적화. 과도한 드웰 시 표면 거칠기 악화. |
8.드웰 및 기타
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G04 ★ | 드웰(대기) | 지정 시간 동안 정지. | G04 X5G04 P5000 | X(초) 또는 P(ms) 정확히 지정. 과도한 정지 시간은 사이클 타임 증가. |
9. 원점 복귀
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G28 ★ | 원점 복귀 | 기계 원점으로 복귀. | G28 X0 Y0 Z0 | 중간점 설정 시 충돌 가능성 확인. 안전 높이에서 실행. |
G30 | 제2 원점 복귀 | 제2 원점으로 복귀. | G30 X0 Y0 Z0 | 제2 원점 좌표 사전 설정 확인. 미설정 시 예상치 못한 이동. |
10.단위 지정
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G20 ★ | 인치 단위 | 좌표 및 이동 거리를 인치 단위로 설정. | G20 | 단위 혼용(G21) 시 치수 오류 발생 가능, 프로그램 시작 시 단위 명확히 설정. |
G21 ★ | 밀리미터 단위 | 좌표 및 이동 거리를 밀리미터 단위로 설정. | G21 | G20과 혼용 시 치수 오류 주의, CNC 기계의 기본 단위 확인 필요. |
11.기타 기능
G코드 | 기능 | 설명 | 사용 예시 | 주의사항 |
G15 | 극좌표 취소 | 극좌표 명령 해제. | G15 | G16 사용 후 반드시 실행. 극좌표 잔류 시 위치 오류. |
G16 | 극좌표 지령 | 극좌표로 가공. | G16 | 극좌표 데이터(각도, 반경) 정확히 입력. 평면 설정 확인. |
G50 | 스케일링 취소 | 스케일링 해제. | G50 | G51 사용 후 반드시 실행. 잔류 스케일링 시 가공 크기 오류. |
G51 | 스케일링 | 가공 크기 배율 조정. | G51 X0 Y0 Z0 I2 J2 K2 | 스케일링 중심점과 배율 정확히 지정. 부정확 시 형상 왜곡. |
G68 | 좌표 회전 | 좌표계 회전. | G68 X0 Y0 R45 | 회전 중심과 각도 정확히 설정. 5축 가공 시 공구 방향 확인. |
G69 | 좌표 회전 취소 | 좌표 회전 해제. | G69 | G68 사용 후 반드시 실행. 잔류 회전 시 경로 오류. |
4. G코드 사용 시 주의사항
그룹 충돌:
동일 그룹의 G코드는 한 블록에서 중복 불가(예: G00과 G01). 마지막 코드가 우선 적용.
좌표계 설정:
G54~G59 미지정 시 공구가 예상치 못한 위치로 이동 가능. 공작물 오프셋 정확히 설정.
속도 지정:
G01, G02, G03 등은 이송 속도(F) 필수. 미지정 시 공구 파손 또는 가공 오류.
원호 보간:
G02, G03에서 R은 간단히 사용, I/J/K는 정밀 원호에 적합. 평면 설정(G17 등) 확인.
고정 사이클:
G81~G89는 R(리턴 높이), Z(절삭 깊이) 등 파라미터 정확히 지정. 사이클 종료 시 G80 필수.
컨트롤러 차이:
FANUC, Siemens, Heidenhain 등 컨트롤러별로 G코드 지원 여부 및 동작 상이. 매뉴얼 확인.
5. 실무 예시: 종합 G코드 프로그램
다음은 직선, 원호, 드릴링, 공구 보정을 포함한 종합 프로그램 예시입니다.
N10 G90 G54 G17 ; 절대 지령, 좌표계 1번, XY 평면
N20 G00 Z50 ; 안전 높이로 이동
N30 G00 X0 Y0 ; 시작점 이동
N40 G43 H1 Z100 ; 공구 길이 보정
N50 G01 Z-10 F500 ; 절삭 깊이로 이동
N60 G41 D1 ; 공구 경 보정(좌)
N70 G01 X100 F1000 ; 직선 가공
N80 G02 X150 Y50 R50 ; 시계 방향 원호
N90 G40 ; 공구 경 보정 취소
N100 G00 Z50 ; 안전 높이 복귀
N110 G81 X50 Y50 Z-20 R5 F500 ; 드릴링 사이클
N120 G80 ; 고정 사이클 취소
N130 G28 X0 Y0 Z0 ; 원점 복귀
N140 M30 ; 프로그램 종료설명:
N10~N30: 초기 설정 및 안전 이동.
N40~N90: 공구 보정과 직선/원호 가공.
N100~N120: 드릴링 사이클.
N130~N140: 종료 및 원점 복귀.
6. G코드 학습 팁
기초 코드 우선 학습:
G00, G01, G90, G91, G54, G43, G41/G42부터 익히세요.
시뮬레이션:
V-CNC, NCPlot 등으로 코드 테스트.
CAM 소프트웨어:
Fusion 3, Mastercam등 기타 CAM으로 G코드 생성 후 수동 수정 연습.
매뉴얼 참고:
기계별 G코드 지원 여부 확인(FANUC, Siemens 매뉴얼).
실습:
간단한 가공(직선, 홀)부터 프로그래밍.

7. 결론
G코드는 MCT 가공의 핵심으로, 모든 동작을 정밀히 제어합니다. 자주 사용되는 G00, G01, G81 등부터 익히고, 고급 기능(G68, G51)은 필요 시 학습하세요. CAM 소프트웨어가 보편화되었지만, G코드를 이해하면 문제 해결과 최적화에 큰 도움이 됩니다.
궁금한 점이나 추가 정보가 필요하면 댓글로 알려주세요!




댓글