{
    "type": "machine",
    "name": "fdm_qidi_x3_common",
    "inherits": "fdm_machine_common",
    "from": "system",
    "instantiation": "false",
    "gcode_flavor": "klipper",
    "auxiliary_fan": "1",
    "change_filament_gcode": "",
    "machine_pause_gcode": "M0",
    "support_chamber_temp_control": "1",
    "wipe_tower_type": "type1",
    "filament_dev_ams_drying_ams_limitations": ["1"],
    "filament_dev_ams_drying_temperature": ["40.0","40.0","40.0","40.0"],
    "filament_dev_ams_drying_time": ["8.0","8.0","8.0","8.0"],
    "filament_dev_drying_softening_temperature": ["40.0"],
    "filament_dev_ams_drying_heat_distortion_temperature": ["45.0"],
    "filament_dev_drying_cooling_temperature": ["35.0"],
    "filament_dev_chamber_drying_bed_temperature": ["90.0"],
    "filament_dev_chamber_drying_time": ["12.0"],
    "retraction_length": [
        "1"
    ],
    "retraction_speed": [
        "30"
    ],
    "z_hop": [
        "0.4"
    ],
    "thumbnails": [
        "380x380/COLPIC",
        "210x210/COLPIC",
        "110x110/PNG"
    ],
    "machine_start_gcode": "PRINT_START\nG28\nM141 S0\nG0 Z50 F600\nM190 S[hot_plate_temp_initial_layer]\nG28 Z\nG29; mesh bed leveling ,comment this code to close it\nG0 X0 Y0 Z50 F6000\nM141 S{overall_chamber_temperature}\nM109 S[nozzle_temperature_initial_layer]\nM106 P3 S255\nM83\nG4 P3000\nG0 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85),0)} Y{max((min(print_bed_max[1], first_layer_print_min[1] + 80) - 85),0)} Z5 F6000\nG0 Z[initial_layer_print_height] F600\nG1 E3 F1800\nG1 X{(min(print_bed_max[0], first_layer_print_min[0] + 80))} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1], first_layer_print_min[1] + 80) - 85),0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85),0)} E{85 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1], first_layer_print_min[1] + 80) - 85),0) + 85} E{83 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85),0) + 2} E{2 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 Y{max((min(print_bed_max[1], first_layer_print_min[1] + 80) - 85),0) + 3} E{82 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 X{max((min(print_bed_max[0], first_layer_print_min[0] + 80) - 85),0) + 12} E{-10 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\nG1 E{10 * 0.5 * initial_layer_print_height * nozzle_diameter[0]} F3000\n",
    "machine_end_gcode": "M141 S0\nM104 S0\nM140 S0\nG1 E-3 F1800\nG0 Z{min(max_print_height, max_layer_z + 3)} F600\nG0 X0 Y0 F12000\n{if max_layer_z < max_print_height / 2}G1 Z{max_print_height / 2 + 10} F600{else}G1 Z{min(max_print_height, max_layer_z + 3)}{endif}",
    "scan_first_layer": "0"
}