Update Snapmaker U1 (0.4 nozzle).json (#14066)

Made small performance, safety, and readability improvements.

Now the logic is only called to move the build plate lower than the tallest object if the print_sequence is, "by object".

More precise checks to not move the plate beyond the maximum build volume.
This commit is contained in:
Kuzuri
2026-06-06 01:49:10 -04:00
committed by GitHub
parent e7c9bdd8a8
commit dddd2f364b

View File

@@ -8,7 +8,7 @@
"printer_model": "Snapmaker U1",
"printer_variant": "0.4",
"auxiliary_fan": "1",
"change_filament_gcode": ";===== date: 20260525 =====================\n; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num] ; max_layer_z [max_layer_z] ; max_print_height [max_print_height])\n{\nlocal move_z = max_print_height;\nlocal max_speed_toolchange = 350.0;\nlocal wait_for_extruder_temp = true;\nposition[2] = position[2] + 2.0;\nlocal speed_toolchange = max_speed_toolchange;\nif travel_speed < max_speed_toolchange then\n speed_toolchange = travel_speed;\nendif\n\nif max_layer_z < (max_print_height - 1) then\n move_z = z_offset + min(max_layer_z + 2, max_print_height);\nendif\n\n\"G91\nG1 Z\" + move_z + \" F1800 ; Move nozzle just above tallest printed object\nG90\n\";\n\"G1 F\" + (speed_toolchange * 60) + \"\n\";\nif wait_for_extruder_temp and not((layer_num < 0) and (next_extruder == initial_tool)) then\n \"\n\";\n \"; \" + layer_num + \"\n\";\n if layer_num == 0 then\n \"M109 S\" + first_layer_temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n else\n \"M109 S\" + temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n endif\nendif\n\"M400\" + \"\n\";\n\"T\" + next_extruder + \"\n\";\nif filament_type[next_extruder] == \"PVA\" then\n\"SET_VELOCITY_LIMIT ACCEL=3000\n\";\nelse\nendif\nif previous_extruder != next_extruder and initial_extruder != next_extruder then\n\"SM_PRINT_PREEXTRUDE_FILAMENT INDEX=\" + next_extruder + \"\n\";\nendif\n\"G90\n\";\n}\n",
"change_filament_gcode": ";===== date: 20260605 =====================\n; Change Tool[previous_extruder] -> Tool[next_extruder] (layer [layer_num])\n; max_layer_z [max_layer_z]\n; max_print_height [max_print_height]\n; print_sequence [print_sequence]\n\n{\nlocal move_z = 1.5;\nlocal max_speed_toolchange = 350.0;\nlocal wait_for_extruder_temp = true;\nposition[2] = position[2] + 2.0;\nlocal speed_toolchange = max_speed_toolchange;\n\nif travel_speed < max_speed_toolchange then\n speed_toolchange = travel_speed;\nendif\n\nif print_sequence == \"by object\" then\n\n if max_layer_z < ((max_print_height - z_offset) - 2) then\n move_z = z_offset + min(((max_layer_z - z_offset) + 2), max_print_height);\n endif\n\nendif\n\n\"G91\nG90\nG1 Z\" + move_z + \" F600\nG90\n\";\n\"G1 F\" + (speed_toolchange * 60) + \"\n\";\nif wait_for_extruder_temp and not((layer_num < 0) and (next_extruder == initial_tool)) then\n \"\n\";\n \"; \" + layer_num + \"\n\";\n if layer_num == 0 then\n \"M109 S\" + first_layer_temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n else\n \"M109 S\" + temperature[next_extruder] + \" T\" + next_extruder + \"\n\";\n endif\nendif\n\"M400\" + \"\n\";\n\"T\" + next_extruder + \"\n\";\nif filament_type[next_extruder] == \"PVA\" then\n\"SET_VELOCITY_LIMIT ACCEL=3000\n\";\nelse\nendif\nif previous_extruder != next_extruder and initial_extruder != next_extruder then\n\"SM_PRINT_PREEXTRUDE_FILAMENT INDEX=\" + next_extruder + \"\n\";\nendif\n\"G90\n\";\n}\n",
"extruder_colour": [
"#FCE94F",
"#FCE94F",
@@ -28,7 +28,7 @@
"0",
"0"
],
"machine_end_gcode": ";===== date: 20260525 =====================\n; (layer [layer_num] ; max_layer_z [max_layer_z])\n{\nlocal move_z = max_print_height;\n\nif max_layer_z < (max_print_height - 1) then\n move_z = z_offset + min(max_layer_z + 2, max_print_height);\nendif\n\n\"G91\nG1 Z\" + move_z + \" F1800 ; Move nozzle just above tallest printed object\nG90\n; Triggering PBO Z Movement of: \" + move_z + \"\nPRINT_END\nTIMELAPSE_STOP\n\";\n}\n",
"machine_end_gcode": ";===== date: 20260605 =====================\n; layer [layer_num]\n; max_layer_z [max_layer_z]\n; print_sequence [print_sequence]\n\n{if print_sequence == \"by object\"}\n{\nlocal move_z = max_print_height;\n\nif max_layer_z < ((max_print_height - z_offset) - 2) then\n move_z = z_offset + min(((max_layer_z - z_offset) + 2), max_print_height);\nendif\n}\n\nG91\nG1 X2 Y2 Z1 F24000\nG90\nG1 Z{move_z} F600\n{endif}\n\nPRINT_END\nTIMELAPSE_STOP\n",
"machine_max_acceleration_extruding": [
"25000",
"25000"