매크로 소개
시작 매크로
PRINT_START
를 인쇄 시작 시의 매크로로 설정하여 인쇄 전 동작을 커스터마이징- 참고로 매크로 이름은 슬라이싱 시작 코드에서 참조하는 한 사용자가 임의로 지정할 수 있음
[gcode_macro PRINT_START]
gcode:
G92 E0 # 압출기 리셋
BED_MESH_CLEAR # 베드 메시 언로드
G28 # 모든 축 홈 이동
#Z_TILT_ADJUST # Z 틸트 조정
#quad_gantry_level # 퀵 갠트리 레벨링
#G28 # 모든 축 홈 이동
G1 Z20 F3000 # 노즐을 히팅베드에서 분리
BED_MESH_PROFILE LOAD=default # 베드 메시 로드
레벨링 및 베드 메시 설정 가이드
1. 레벨링 방식 선택
Z_TILT_ADJUST
와quad_gantry_level
은 상호 배타적인 레벨링 옵션임- 장비 구조에 따라 하나만 선택하여 사용, 동시에 사용 불가
- 해당 기능이 없을 경우 설정을 삭제하거나 주석 처리
- 레벨링 후에는 홈 이동을 한번 실행하는 것이 권장됨
2. 베드 메시 설정 규칙
BED_MESH_PROFILE LOAD=default
- 한 번에 하나의 베드 메시 설정만 로드 가능, 다중 설정 동시 사용 불가
BED_MESH_PROFILE LOAD=default
에서default
는 사전 설정된 구성 이름임- 미리 베드 메시를 생성하지 않았거나 다른 이름으로 저장한 경우 오류가 발생할 수 있음
3. 표준 베드 메시 스캔 명령
BED_MESH_CALIBRATE horizontal_move_z=2 METHOD=rapid_scan
horizontal_move_z=2
: 스캔 시 노즐이 들어올려지는 높이(단위: mm)METHOD=rapid_scan
: 빠른 스캔 방식 사용
4. 자동 조정 스캔 명령
BED_MESH_CALIBRATE adaptive=1
- 자동 레벨링 센서를 위한 간소화된 명령
TAP
,klicky
,PL08
등의 센서 시스템에 적합- 스캔 높이 및 이동 방식은 센서가 자동으로 제어하므로 수동 파라미터 설정 불필요
종료 매크로
PRINT_END
를 인쇄 종료 시의 매크로로 설정하여 인쇄 후 동작을 커스터마이징- 참고로 매크로 이름은 슬라이싱 종료 코드에서 참조하는 한 사용자가 임의로 지정할 수 있음
[gcode_macro PRINT_END]
gcode:
# 경계값 가져오기
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}
# 안전한 이동 방향 결정을 위한 위치 확인
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}
{% if printer.toolhead.position.z < (max_z - 2) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}
M400 # 버퍼가 비워질 때까지 대기
G92 E0 # 압출기 위치 0으로 설정
G1 E-10.0 F3600 # 필라멘트 약간 당김
G91 # 상대 좌표 설정
G0 Z{z_safe} F3600 # Z축 안전한 높이까지 이동
G0 X{x_safe} Y{y_safe} F20000 # 실 끊기 위해 노즐 이동
M104 S0 # 노즐 온도 끄기
M140 S0 # 히팅베드 온도 끄기
M106 S0 # 팬 속도 0으로 설정
G90 # 절대 좌표 설정
G0 X{max_x / 2} Y{max_y} F3600 # 노즐을 뒤쪽으로 이동
BED_MESH_CLEAR # 베드 메시 언로드
Loading...