{ "mode": "FDM", "internal": 0, "bedHeight": 2.5, "bedWidth": 256, "bedDepth": 256, "bedRound": false, "maxHeight": 256, "originCenter": false, "gcodeFan": [ "M106 S{fan_speed}" ], "gcodeTrack": [ "M73 P{progress}" ], "gcodeLayer": [ "; CHANGE_LAYER", "; layer num/total_layer_count: {layer}/{layers}", "M622.1 S1 ; for prev firware, default turned on", "M1002 judge_flag timelapse_record_flag", "M622 J1", "M971 S11 C10 O0 ; timelapse without wipe tower", "M623", "M73 L{layer}", "M991 S0 P{layer-1} ; notify layer change", ";; IF { layer == 0 }", "M204 S500", ";; ELSE", "M204 S5000", ";; END" ], "gcodePre": [ "; total layer number: {layers}", "; model label id: {model_labels}", ";; PREAMBLE", ";; DEFINE BAMBU-AMS 0,1,2,3", "; ===== HEADER ====================================", "M73 P0 R14 ; Initial progress and time remaining", "M201 X20000 Y20000 Z500 E5000 ; Set max acceleration", "M203 X500 Y500 Z20 E30 ; Set max feedrates", "M204 P20000 R5000 T20000 ; Set acceleration", "M205 X9.00 Y9.00 Z3.00 E2.50 ; Set advanced settings", "M106 S0 ; Set part fan speed to 0", "M106 P2 S0 ; Turn off aux fan", ";===== machine: P1S ===============================", "M104 S75 ; Set extruder temp to turn on HB fan, prevent filament oozing", "M710 A1 S255 ; Turn on MC fan by default (P1S)", ";===== Reset machine status =======================", "M290 X40 Y40 Z2.6666666 ; Set baby stepping offsets", "G91 ; Set to relative positioning", "M17 Z0.4 ; Lower Z-motor current", "G380 S2 Z30 F300 ; Lower hotbed (G380 like G38)", "G380 S2 Z-25 F300 ; Continue to lower bed", "G1 Z5 F300 ; Raise bed by 5mm", "G90 ; Set to absolute positioning", "M17 X1.2 Y1.2 Z0.75 ; Reset motor current to default", "M960 S5 P1 ; Turn on logo lamp", "M220 S100 ; Reset feedrate to 100%", "M221 S100 ; Reset flowrate to 100%", "M73.2 R1.0 ; Reset remaining time magnitude", "M1002 set_gcode_claim_speed_level : 5 ; Set G-code claim speed level", "M221 X0 Y0 Z0 ; Turn off soft endstop to prevent logic issues", "G29.1 Z0 ; Clear Z-trim value", "M204 S10000 ; Initialize acceleration to 10 m/s^2", ";===== Heatbed preheat ============================", "M1002 gcode_claim_action : 2 ; Claim action for preheating", "M140 S{bed_temp} ; Set bed temperature to 65°C", "M190 S{bed_temp} ; Wait for bed temperature to reach 65°C", ";===== Turn on fans to prevent PLA jamming ========", "M106 P3 S180 ; set chamber fan speed to prevent PLA jamming", "M106 P2 S100 ; Turn on aux fan to cool toolhead", ";===== Prepare print temperature and material =====", "M104 S{temp} ; Set extruder temp to 220°C", "G91 ; Set to relative positioning", "G0 Z10 F1200 ; Raise Z by 10mm", "G90 ; Set to absolute positioning", "G28 X ; Home X axis", "M975 S1 ; Turn on feature (guess: vibration suppression)", "M73 P31 R9 ; Update progress and time remaining", "G1 X60 F12000 ; Fast move to X60", "G1 Y245 ; Move to Y245", "G1 Y265 F3000 ; Move to Y265 slowly", "M620 M ; Custom command (guess: material management)", "M620 S{tool}A ; Switch material if AMS present", "M109 S{temp} ; Wait for extruder to reach 220°C", "G1 X120 F12000 ; Fast move to X120", "G1 X20 Y50 F12000 ; Fast move to X20 Y50", "G1 Y-3 ; Move down Y-axis by 3", "T{tool} ; Select starting tool", "G1 X54 F12000 ; Fast move to X54", "G1 Y265 ; Move to Y265", "M400 ; Wait for all moves to finish", "M621 S{tool}A ; Custom command", "M620.1 E F523.843 T240 ; Extrude command with custom parameters", "M412 S1 ; Turn on filament runout detection", "M109 S250 ; Set nozzle to common flush temp", "M106 P1 S0 ; Turn off nozzle fan", "G92 E0 ; Reset extruder position", "G1 E50 F200 ; Extrude 50mm of filament", "M400 ; Wait for moves to finish", "M104 S{temp} ; Set nozzle temperature to 220°C", "G92 E0 ; Reset extruder position", "G1 E50 F200 ; Extrude 50mm of filament", "M400 ; Wait for moves to finish", "M106 P1 S255 ; Turn on nozzle fan to full speed", "G92 E0 ; Reset extruder position", "G1 E5 F300 ; Extrude 5mm of filament", "M109 S200 ; Drop nozzle temperature to 200°C to shrink filament", "G92 E0 ; Reset extruder position", "M73 P33 R9 ; Update progress and time remaining", "G1 E-0.5 F300 ; Retract filament by 0.5mm", "M73 P35 R9 ; Update progress and time remaining", "G1 X70 F9000 ; Fast move to X70", "G1 X76 F15000 ; Fast move to X76", "G1 X65 F15000 ; Fast move to X65", "G1 X76 F15000 ; Repeat movements to shake and clean nozzle", "G1 X65 F15000 ; Shake to put down garbage", "G1 X80 F6000 ; Move to X80", "G1 X95 F15000 ; Fast move to X95", "G1 X80 F15000 ; Return to X80", "G1 X165 F15000 ; Wipe and shake", "M400 ; Wait for all moves to finish", "M106 P1 S0 ; Turn off nozzle fan", ";===== Wipe nozzle ===============================", "M1002 gcode_claim_action : 14 ; Claim action for nozzle wipe", "M975 S1 ; Turn on feature (guess: vibration suppression)", "M106 S255 ; Turn on part fan to full speed", "G1 X65 Y230 F18000 ; Fast move to start of wipe", "G1 Y264 F6000 ; Wipe along Y-axis", "M109 S200 ; Set nozzle temperature to 200°C", "G1 X100 F18000 ; Wipe first pass", "G0 X135 Y253 F20000 ; Move to exposed steel surface edge", "G28 Z P0 T300 ; Home Z with low precision, permit 300°C temperature", "G29.2 S0 ; Turn off ABL (auto bed leveling)", "G0 Z5 F20000 ; Raise Z by 5mm", "G1 X60 Y265 ; Move to X60 Y265", "G92 E0 ; Reset extruder position", "G1 E-0.5 F300 ; Retract more", "G1 X100 F5000 ; Second wipe pass", "G1 X70 F15000 ; Repeat movements for further wiping", "G1 X100 F5000", "G1 X70 F15000", "G1 X100 F5000", "G1 X70 F15000", "G1 X90 F5000", "G0 X128 Y261 Z-1.5 F20000 ; Move to exposed steel surface, stop nozzle", "M104 S140 ; Set temp down to heatbed acceptable", "M106 S255 ; Turn on part fan (G28 turned off fan)", "M221 S ; Push soft endstop status", "M221 Z0 ; Turn off Z axis endstop", "G0 Z0.5 F20000 ; Raise Z by 0.5mm", "G0 X125 Y259.5 Z-1.01 ; Move to wiping position", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y262.5", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y260.0", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y262.0", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y260.5", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y261.5", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 Z0.5 F20000", "G0 X125 Y261.0", "G0 Z-1.01", "G0 X131 F211", "G0 X124", "G0 X128", "G2 I0.5 J0 F300 ; Arc movements for final cleaning", "M73 P36 R8 ; Update progress and time remaining", "G2 I0.5 J0 F300", "G2 I0.5 J0 F300", "G2 I0.5 J0 F300", "M109 S140 ; Wait for nozzle temp to reach heatbed acceptable temp", "G2 I0.5 J0 F3000 ; More arc movements", "G2 I0.5 J0 F3000", "G2 I0.5 J0 F3000", "G2 I0.5 J0 F3000", "M221 R ; Pop softend status", "G1 Z10 F1200 ; Raise Z by 10mm", "M400 ; Wait for all moves to finish", "G1 Z10 ; Raise Z by 10mm", "G1 F30000 ; Set fast feedrate", "G1 X230 Y15 ; Move to X230 Y15", "G29.2 S1 ; Turn on ABL", "M106 S0 ; Turn off part fan, too noisy", ";===== Bed leveling ===============================", "M1002 judge_flag g29_before_print_flag ; Judge flag before leveling", "M622 J1", " M1002 gcode_claim_action : 1 ; Claim action for bed leveling", " G29 A X115.2 Y115.2 I25.6 J25.6 ; Perform bed leveling", " M400 ; Wait for all moves to finish", " M500 ; Save calibration data", "M623", ";===== Home after wipe mouth ======================", "M1002 judge_flag g29_before_print_flag ; Judge flag before homing", "M622 J0", " M1002 gcode_claim_action : 13 ; Claim action for homing", " G28 ; Home all axes", "M623", ";===== Home after wipe mouth end ==================", "M975 S1 ; Turn on vibration suppression", ";===== Turn on fans to prevent PLA jamming ========", "M106 P3 S180 ; set chamber fan speed to Prevent PLA jamming", "M106 P2 S100 ; Turn on aux fan to cool toolhead", "M104 S{temp} ; Set extruder temp to 220°C earlier, reduce wait time", ";===== Mech mode fast check =======================", "G1 X128 Y128 Z10 F20000 ; Move to center for check", "M400 P200 ; Wait and perform check", "M970.3 Q1 A7 B30 C80 H15 K0 ; Custom command (mechanical check)", "M974 Q1 S2 P0 ; Custom command", "G1 X128 Y128 Z10 F20000 ; Move again to center for check", "M400 P200 ; Wait and perform another check", "M970.3 Q0 A7 B30 C90 Q0 H15 K0 ; Custom command", "M974 Q0 S2 P0 ; Custom command", "M975 S1 ; Turn on feature (vibration suppression)", "G1 F30000 ; Set fast feedrate", "M73 P37 R8 ; Update progress and time remaining", "G1 X230 Y15 ; Move to X230 Y15", "G28 X ; Re-home X and Y", ";===== Nozzle load line ===========================", "M975 S1 ; Turn on vibration suppression", "G90 ; Set to absolute positioning", "M83 ; Set extruder to relative mode", "T1000 ; Custom command", "G1 X18.0 Y1.0 Z0.8 F18000 ; Move to start position", "M109 S{temp} ; Set extruder temp to 220°C", "G1 Z0.2 ; Lower Z to 0.2mm", "G0 E2 F300 ; Extrude 2mm of filament", "G0 X240 E25 F5539.96 ; Move to X240 while extruding", "G0 Y15 E1.166 F1384.99 ; Move along Y while extruding", "G0 X239.5 ; Move to X239.5", "G0 E0.2 ; Extrude 0.2mm of filament", "G0 Y1.5 E1.166 ; Move along Y while extruding", "G0 X18 E25 F5539.96 ; Return to start position while extruding", "M400 ; Wait for all moves to finish", ";===== Final Preparations =========================", ";G29.1 Z-0.04 ; Adjust Z-offset for textured PEI plate", "M1002 gcode_claim_action : 0 ; Claim action", "M106 S0 ; Turn off part fan", "M106 P2 S0 ; Turn off aux fan", "M106 P3 S0 ; Turn off chamber fan", "M975 S1 ; Turn on mechanical mode suppression", "G90 ; Set to absolute positioning", "G21 ; Set units to millimeters", "M83 ; Use relative distances for extrusion", "M106 P3 S200 ; Set chamber fan speed to 200 (prevents PLA jamming)", "M981 S1 P20000 ; Open spaghetti detector" ], "gcodePost": [ "; ===== FOOTER =====================================", "M106 S0 ; Turn off part cooling fan", "M106 P2 S0 ; Turn off auxiliary cooling fan", "M981 S0 P20000 ; Close spaghetti detector", "M106 P3 S0 ; Turn off chamber fan", "M400 ; Wait for buffer to clear", "G92 E0 ; Zero the extruder", "G1 E-0.8 F1800 ; Retract filament by 0.8mm", "G91 ; relative moves", "G1 Z5 F900 ; drop bed 5mm", "G90 ; absolute moves", "G1 X65 Y245 F12000 ; Move to safe position X65 Y245", "G1 Y265 F3000 ; Move to Y265 slowly", "G1 X65 Y245 F12000 ; Move back to X65 Y245", "G1 Y265 F3000 ; Move to Y265 slowly again", "M140 S0 ; Turn off heated bed", "M106 S0 ; Turn off part cooling fan", "M106 P2 S0 ; Turn off auxiliary cooling fan", "M106 P3 S0 ; Turn off chamber cooling fan", "G1 X100 F12000 ; Wipe nozzle", "M620 S255 ; Pull back filament to AMS", "G1 X20 Y50 F12000 ; Move to X20 Y50", "G1 Y-3 ; Move down Y-axis by 3", "T255 ; Tool change command (educated guess)", "G1 X65 F12000 ; Move to X65", "G1 Y265 ; Move to Y265", "G1 X100 F12000 ; Wipe nozzle again", "M621 S255 ; Custom command (educated guess)", "M104 S0 ; Turn off hotend", "M622.1 S1 ; Enable feature (default for older firmware)", "M1002 judge_flag timelapse_record_flag ; Check if timelapse recording is needed", "M622 J1 ; Enable timelapse", " M400 ; Wait for all motions to complete", " M991 S0 P-1 ; End smooth timelapse at safe position", " M400 S3 ; Wait for last picture to be taken", "M623 ; End of \"timelapse_record_flag\"", "M400 ; Wait for all motions to complete", "M17 S ; Engage stepper motors", "M17 Z0.4 ; Lower Z motor current to reduce impact if obstruction exists", "G1 Z{z_max} F600 ; Drop bed", "M400 P100 ; Wait for 100ms", "M17 R ; Restore Z motor current", "M220 S100 ; Reset feedrate magnitude to 100%", "M201.2 K1.0 ; Reset acceleration magnitude", "M73.2 R1.0 ; Reset remaining time magnitude", "M1002 set_gcode_claim_speed_level : 0 ; Set G-code claim speed level to 0", "M17 X0.8 Y0.8 Z0.5 ; Lower motor current to 45% power", "M73 P100 R0 ; Set progress to 100% with 0 remaining time" ], "gcodeChange": [ "; BEGIN tool change from {last_tool} to {tool}", "M620 S{tool}A ; prepare tool change", "M204 S9000 ; Set acceleration to 9000 mm/s^2", "M620.11 S0 ; Reset filament retraction state", "M400 ; wait for moves to complete", "M620.1 E F187 T240 ; set purge rate 187 temp 240", "T{tool} ; initiate tool change", "M620.1 E F374 T240 ; set purge rate 374 temp 240", "M620.11 S0 ; Reset filament retraction state", "G92 E0 ; reset extruder position", "M400 ; wait for moves to complete", " ; -- PURGE --", "M109 S240 ; Set nozzle temperature to 240°C", "G1 E23.7 F187 ; Extrude 23.7mm of filament at flowrate 187", "G1 E0.914611 F50 ; Pulsatile extrusion", "G1 E10.518 F187 ; Continue extrusion at flowrate 187", "G1 E0.914611 F50 ; Pulsatile extrusion", "G1 E10.518 F374 ; Continue extrusion at flowrate 374", "G1 E0.914611 F50 ; Pulsatile extrusion", "G1 E10.518 F374 ; Continue extrusion at flowrate 374", "G1 E0.914611 F50 ; Pulsatile extrusion", "G1 E10.518 F374 ; Continue extrusion at flowrate 374", "G1 E-2 F1800 ; Retract filament by 2mm", "G1 E2 F300 ; Recover retraction slowly", "M400 ; Wait for all movements to complete", "M109 S{temp} ; Set nozzle temperature back to print temp", " ; -- SHAKE --", "M106 P1 S255 ; Turn on nozzle cooling fan to full speed", "M400 S3 ; Wait for all movements to complete", "G1 X70 F5000 ; Move to X70", "G1 X90 F3000 ; Move to X90", "G1 Y255 F4000 ; Move to Y255", "G1 X105 F5000 ; Move to X105", "G1 Y265 ; Move to Y265", "G1 X70 F10000 ; Rapid move to X70", "G1 X100 F5000 ; Move to X100", "G1 X70 F10000 ; Rapid move back to X70", "G1 X100 F5000 ; Move to X100", "G1 X70 F10000 ; Shake filament residue", "G1 X80 F15000", "G1 X60", "G1 X80", "G1 X60", "G1 X80 ; Shake to put down garbage", "G1 X100 F5000 ; Move to X100", "G1 X165 F15000 ; Wipe and shake", "G1 Y256 ; Move Y aside to prevent collision", "M400 ; Wait for all movements to complete", "M204 S10000 ; Set acceleration to 10000 mm/s^2", "M621 S{tool}A ; complete tool change", "; END tool change" ], "gcodeProc": "", "gcodeFExt": "gcode", "extruders": [ { "extFilament": 1.75, "extNozzle": 0.4, "extOffsetX": 0, "extOffsetY": 0 }, { "extFilament": 1.75, "extNozzle": 0.4, "extOffsetX": 0, "extOffsetY": 0 }, { "extFilament": 1.75, "extNozzle": 0.4, "extOffsetX": 0, "extOffsetY": 0 }, { "extFilament": 1.75, "extNozzle": 0.4, "extOffsetX": 0, "extOffsetY": 0 } ], "new": false, "deviceName": "Bambu P1S", "bedBelt": false, "fwRetract": false, "filamentSource": "direct", "extras": { "bbl": {} }, "imageURL": "", "deviceZMax": 0, "gcodeTime": 1, "gcodeFeature": [], "profiles": [ { "processName": "Bambu PLA", "sliceHeight": 0.2, "sliceShells": 2, "sliceShellOrder": "in-out", "sliceLayerStart": "last", "sliceFillAngle": 45, "sliceFillOverlap": 0.35, "sliceFillSparse": 0.1, "sliceFillType": "hex", "sliceAdaptive": false, "sliceMinHeight": 0, "sliceSupportDensity": 0.2, "sliceSupportOffset": 0.4, "sliceSupportGap": 1, "sliceSupportSize": 5, "sliceSupportArea": 0.25, "sliceSupportExtra": 0, "sliceSupportAngle": 60, "sliceSupportNozzle": 0, "sliceSolidMinArea": 0, "sliceBottomLayers": 2, "sliceTopLayers": 3, "firstLayerRate": 20, "firstLayerPrintMult": 1, "firstLayerYOffset": 0, "firstLayerBrim": 0, "firstLayerBeltLead": 0, "firstLayerFanSpeed": 0, "outputTemp": 210, "outputBedTemp": 60, "outputFanSpeed": 255, "outputFeedrate": 110, "outputFinishrate": 90, "outputSeekrate": 200, "outputShellMult": 1.2, "outputFillMult": 1.2, "outputSparseMult": 1.2, "outputRetractDist": 1, "outputRetractSpeed": 80, "outputRetractWipe": 0, "outputRetractDwell": 0, "outputShortPoly": 50, "outputMinSpeed": 5, "outputCoastDist": 0, "outputLayerRetract": false, "zHopDistance": 0, "antiBacklash": 0, "sliceFillWidth": 1, "sliceFillRate": 0, "sliceSupportEnable": false, "firstSliceHeight": 0.3, "firstLayerFillRate": 80, "firstLayerLineMult": 1, "firstLayerNozzleTemp": 220, "firstLayerBedTemp": 65, "firstLayerBrimTrig": 0, "firstLayerBrimGap": 0, "outputRaft": false, "outputRaftSpacing": 0.2, "outputBrimCount": 0, "outputBrimOffset": 2, "outputPurgeTower": 0, "outputInvertX": false, "outputInvertY": false, "arcTolerance": 0, "ranges": [], "sliceLineWidth": 0, "sliceFillRepeat": 2, "firstLayerBrimIn": 0, "firstLayerBeltBump": 0, "outputBeltFirst": false, "outputLoops": 0, "sliceFillGrow": 0, "sliceSolidRate": 0, "sliceSupportSpan": 5, "sliceSupportOutline": false, "firstLayerFlatten": 0, "outputDraftShield": false, "outputAvoidGaps": true, "sliceDetectThin": "off", "outputAlternating": false, "sliceLayerStartX": 0, "sliceLayerStartY": 0, "sliceSupportGrow": 0, "outputFanLayer": 1, "outputNozzle": 0, "sliceAngle": 45, "sliceZInterleave": false } ] }