add snapmaker u1. cull sparse fill dots
This commit is contained in:
parent
eb660aa20b
commit
a070b2c134
3 changed files with 410 additions and 2 deletions
400
src/kiri/dev/fdm/Snapmaker.U1.json
Normal file
400
src/kiri/dev/fdm/Snapmaker.U1.json
Normal file
|
|
@ -0,0 +1,400 @@
|
||||||
|
{
|
||||||
|
"mode": "FDM",
|
||||||
|
"internal": 0,
|
||||||
|
"bedHeight": 2.5,
|
||||||
|
"bedWidth": 270,
|
||||||
|
"bedDepth": 270,
|
||||||
|
"bedRound": false,
|
||||||
|
"maxHeight": 270,
|
||||||
|
"originCenter": false,
|
||||||
|
"gcodeFan": [
|
||||||
|
";; >-----> FAN >------------------------>",
|
||||||
|
"M106 P1 S{fan_speed} ; set fan speed",
|
||||||
|
";; <-----< FAN <------------------------<"
|
||||||
|
],
|
||||||
|
"gcodeTrack": [
|
||||||
|
";; >-----> PROGRESS >------------------->",
|
||||||
|
"M73 P{progress} R{remain_time} ; report progress % and remaining time",
|
||||||
|
";; <-----< PROGRESS <-------------------<"
|
||||||
|
],
|
||||||
|
"gcodeLayer": [
|
||||||
|
";; >-----> LAYER >---------------------->",
|
||||||
|
";BEFORE_LAYER_CHANGE",
|
||||||
|
";[layer_z]",
|
||||||
|
"G92 E0",
|
||||||
|
"TIMELAPSE_TAKE_FRAME",
|
||||||
|
"DEFECT_DETECTION_DETECT",
|
||||||
|
";AFTER_LAYER_CHANGE",
|
||||||
|
";[layer_z]",
|
||||||
|
"SET_PRINT_STATS_INFO TOTAL_LAYER={layers}",
|
||||||
|
"SET_PRINT_STATS_INFO CURRENT_LAYER={layer}",
|
||||||
|
";; <-----< LAYER <----------------------<"
|
||||||
|
],
|
||||||
|
"gcodePre": [
|
||||||
|
";; >-----> HEADER >--------------------->",
|
||||||
|
";; PREAMBLE POST",
|
||||||
|
"; HEADER_BLOCK_START",
|
||||||
|
"; generated by Kiri:Moto",
|
||||||
|
"; total layer number: {layers}",
|
||||||
|
"; filament_density: 1.24,1.24,1.24,1.24",
|
||||||
|
"; filament_diameter: 1.75,1.75,1.75,1.75",
|
||||||
|
"; max_z_height: {z_max}",
|
||||||
|
"; HEADER_BLOCK_END",
|
||||||
|
"; EXECUTABLE_BLOCK_START",
|
||||||
|
"M73 P0 R1 ; set print progress to 0%, remaining time 1 min",
|
||||||
|
"M106 S0 ; turn off primary cooling fan",
|
||||||
|
"M106 P2 S0 ; turn off auxiliary/part fan (fan index 2)",
|
||||||
|
"PRINT_START ; firmware macro: begin print sequence",
|
||||||
|
"DEFECT_DETECTION_START ; start bed surface defect detection system",
|
||||||
|
"SET_PRINT_STATS_INFO TOTAL_LAYER=3 ; set total layer count to 3",
|
||||||
|
"SET_PRINT_STATS_INFO CURRENT_LAYER=0 ; initialize current layer to 0",
|
||||||
|
"TIMELAPSE_START ; start timelapse capture",
|
||||||
|
"M140 S65 ; set bed temperature to 65C (no wait)",
|
||||||
|
"M104 T{tool} S140 ; set tool 0 nozzle temp to 140C (no wait)",
|
||||||
|
"M204 S10000 ; set default acceleration",
|
||||||
|
"G28 X Y ; home X and Y axes",
|
||||||
|
";===== Bed surface foreign-object detection ========",
|
||||||
|
"T{tool} ; select tool 0",
|
||||||
|
"G90 ; absolute positioning",
|
||||||
|
"DEFECT_DETECTION_DETECT_BED ; scan bed for debris or foreign objects",
|
||||||
|
";===== Tool pickup / toolhead detection =================",
|
||||||
|
"SM_PRINT_CHECK_SWITCH_EXTRUDER ; verify extruder/tool switch state",
|
||||||
|
";===== Auto feed, flow calibration & pre-extrusion ======================",
|
||||||
|
"SM_PRINT_EXTRUDER_PREHEAT EXTRUDER=1 TEMP=140 ; preheat extruder 1",
|
||||||
|
"SM_PRINT_AUTO_FEED EXTRUDER=0 ; auto-load filament for extruder 0",
|
||||||
|
"SM_PRINT_FLOW_CALIBRATE EXTRUDER=0 ; calibrate flow for extruder 0",
|
||||||
|
"SM_PRINT_EXTRUDER_PREHEAT EXTRUDER=2 TEMP=140 ; preheat extruder 2",
|
||||||
|
"SM_PRINT_AUTO_FEED EXTRUDER=1 ; auto-load filament for extruder 1",
|
||||||
|
"SM_PRINT_FLOW_CALIBRATE EXTRUDER=1 ; calibrate flow for extruder 1",
|
||||||
|
"SM_PRINT_EXTRUDER_PREHEAT EXTRUDER=3 TEMP=140 ; preheat extruder 3",
|
||||||
|
"SM_PRINT_AUTO_FEED EXTRUDER=2 ; auto-load filament for extruder 2",
|
||||||
|
"SM_PRINT_FLOW_CALIBRATE EXTRUDER=2 ; calibrate flow for extruder 2",
|
||||||
|
"SM_PRINT_AUTO_FEED EXTRUDER=3 ; auto-load filament for extruder 3",
|
||||||
|
"SM_PRINT_FLOW_CALIBRATE EXTRUDER=3 ; calibrate flow for extruder 3",
|
||||||
|
"M104 S0 T0 A0 ; disable heater on tool 0",
|
||||||
|
"M104 S0 T1 A0 ; disable heater on tool 1",
|
||||||
|
"M104 S0 T2 A0 ; disable heater on tool 2",
|
||||||
|
"M104 S0 T3 A0 ; disable heater on tool 3",
|
||||||
|
"M104 T{tool} S130 ; set first tool nozzle temp to 130C",
|
||||||
|
";===== Coarse homing =================",
|
||||||
|
"T{tool} ; select first tool",
|
||||||
|
"M106 S255 ; turn primary fan to full speed",
|
||||||
|
"M106 P2 S0 ; ensure auxiliary fan is off",
|
||||||
|
"MOVE_TO_DISCARD_FILAMENT_POSITION ; move to filament discard / purge location",
|
||||||
|
"M109 T{tool} S130 ; wait for nozzle to reach 130C",
|
||||||
|
"ROUGHLY_CLEAN_NOZZLE_WITH_DISCARD ; coarse nozzle cleaning with discard",
|
||||||
|
"MOVE_TO_XY_IDLE_POSITION_EXTRUDER ; move toolhead to idle XY position",
|
||||||
|
"G28 Z I140 J140 ; home Z axis with specified probe offsets",
|
||||||
|
";===== Build plate detection =================",
|
||||||
|
"DETECT_BED_PLATE ; detect presence/type of build plate",
|
||||||
|
";===== Deep nozzle cleaning =================",
|
||||||
|
"G90 ; absolute positioning",
|
||||||
|
"G0 Z5 F10000 ; raise Z to safe height",
|
||||||
|
"MOVE_TO_DISCARD_FILAMENT_POSITION ; move to discard position",
|
||||||
|
"M109 S170 ; heat nozzle to deep-clean temperature",
|
||||||
|
"ROUGHLY_CLEAN_NOZZLE ; coarse nozzle cleaning",
|
||||||
|
"MOVE_TO_XY_IDLE_POSITION_EXTRUDER ; move to idle position",
|
||||||
|
"FINELY_CLEAN_NOZZLE_STAGE_1 ; fine nozzle cleaning stage 1",
|
||||||
|
"M104 S130 ; lower nozzle temperature",
|
||||||
|
"G0 Z5 F10000 ; raise Z",
|
||||||
|
"MOVE_TO_DISCARD_FILAMENT_POSITION ; move to discard position again",
|
||||||
|
"ROUGHLY_CLEAN_NOZZLE ; repeat coarse cleaning",
|
||||||
|
"MOVE_TO_XY_IDLE_POSITION_EXTRUDER ; move to idle position",
|
||||||
|
"FINELY_CLEAN_NOZZLE_STAGE_2 ; fine nozzle cleaning stage 2",
|
||||||
|
";===== Precision homing =================",
|
||||||
|
"M106 S255 ; set primary fan to full speed",
|
||||||
|
"M109 S130 ; wait for nozzle at 130C",
|
||||||
|
"M190 S65 ; wait for bed to reach 65C",
|
||||||
|
"M107 P2 ; turn off auxiliary fan",
|
||||||
|
"G90 ; absolute positioning",
|
||||||
|
"G0 Z5 F10000 ; lift Z before homing",
|
||||||
|
"G28 Z ; precise Z homing",
|
||||||
|
";===== Heated bed leveling =================",
|
||||||
|
"BED_MESH_CALIBRATE PROBE_COUNT=11,11 ; probe bed mesh with 11x11 grid",
|
||||||
|
";===== Draw purge / start line =================",
|
||||||
|
"G90 ; absolute positioning",
|
||||||
|
"G1 Z1.5 ; move nozzle near bed",
|
||||||
|
"G0 X10 Y3 Z2 F18000 ; move to purge start position",
|
||||||
|
"M109 S220 ; heat nozzle to print temperature",
|
||||||
|
"G1 Z0.2 ; move to purge height",
|
||||||
|
"M83 ; relative extrusion mode",
|
||||||
|
"G1 X110 E15 F360 ; extrude purge line",
|
||||||
|
"G1 Z1.5 ; lift nozzle",
|
||||||
|
"M73 P20 R1 ; update progress to 20%",
|
||||||
|
"G90 ; absolute positioning",
|
||||||
|
"M106 S0 ; ensure primary fan off",
|
||||||
|
"G90 ; absolute positioning (redundant safety)",
|
||||||
|
"G21 ; set units to millimeters",
|
||||||
|
"M83 ; relative extrusion mode",
|
||||||
|
"; filament start gcode",
|
||||||
|
"SET_PRESSURE_ADVANCE ADVANCE=0.02 ; override pressure advance value",
|
||||||
|
"T{tool} ; select first tool",
|
||||||
|
"M106 S0 ; ensure primary fan off",
|
||||||
|
"M106 P2 S0 ; ensure auxiliary fan off",
|
||||||
|
";; <-----< HEADER <---------------------<"
|
||||||
|
],
|
||||||
|
"gcodePost": [
|
||||||
|
";; >-----> FOOTER >--------------------->",
|
||||||
|
"M106 S0 ; turn off primary cooling fan",
|
||||||
|
"M106 P2 S0 ; turn off auxiliary/part fan (fan index 2)",
|
||||||
|
"PRINT_END",
|
||||||
|
"TIMELAPSE_STOP",
|
||||||
|
"M73 P100 R0 ; report progress complete",
|
||||||
|
";; <-----< FOOTER <---------------------<"
|
||||||
|
],
|
||||||
|
"gcodeProc": "",
|
||||||
|
"gcodeFExt": "gcode",
|
||||||
|
"extruders": [
|
||||||
|
{
|
||||||
|
"extFilament": 1.75,
|
||||||
|
"extNozzle": 0.4,
|
||||||
|
"extSelect": [
|
||||||
|
"; 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"
|
||||||
|
],
|
||||||
|
"extOffsetX": 0,
|
||||||
|
"extOffsetY": 0,
|
||||||
|
"extDeselect": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extFilament": 1.75,
|
||||||
|
"extNozzle": 0.4,
|
||||||
|
"extSelect": [],
|
||||||
|
"extOffsetX": 0,
|
||||||
|
"extOffsetY": 0,
|
||||||
|
"extDeselect": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extFilament": 1.75,
|
||||||
|
"extNozzle": 0.4,
|
||||||
|
"extSelect": [],
|
||||||
|
"extOffsetX": 0,
|
||||||
|
"extOffsetY": 0,
|
||||||
|
"extDeselect": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extFilament": 1.75,
|
||||||
|
"extNozzle": 0.4,
|
||||||
|
"extSelect": [],
|
||||||
|
"extOffsetX": 0,
|
||||||
|
"extOffsetY": 0,
|
||||||
|
"extDeselect": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"new": false,
|
||||||
|
"deviceName": "My Snapmaker U1",
|
||||||
|
"bedBelt": false,
|
||||||
|
"fwRetract": false,
|
||||||
|
"filamentSource": "direct",
|
||||||
|
"extras": {
|
||||||
|
"bbl": {
|
||||||
|
"luke": {
|
||||||
|
"host": "10.20.20.75",
|
||||||
|
"code": "20709223",
|
||||||
|
"serial": "01P09C482401767",
|
||||||
|
"modified": true,
|
||||||
|
"selected": false,
|
||||||
|
"type": "C12"
|
||||||
|
},
|
||||||
|
"leia": {
|
||||||
|
"host": "10.20.20.76",
|
||||||
|
"code": "35129782",
|
||||||
|
"serial": "01P09C461603301",
|
||||||
|
"modified": true,
|
||||||
|
"selected": false,
|
||||||
|
"type": "C12"
|
||||||
|
},
|
||||||
|
"vader": {
|
||||||
|
"host": "10.20.20.77",
|
||||||
|
"code": "17711811",
|
||||||
|
"serial": "01P00A413100516",
|
||||||
|
"modified": true,
|
||||||
|
"selected": false,
|
||||||
|
"type": "C12"
|
||||||
|
},
|
||||||
|
"Scrappy": {
|
||||||
|
"host": "10.10.2.5",
|
||||||
|
"serial": "01S00A292500224",
|
||||||
|
"code": "38373335",
|
||||||
|
"modified": true,
|
||||||
|
"type": "C11",
|
||||||
|
"selected": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"imageURL": "",
|
||||||
|
"deviceZMax": 0,
|
||||||
|
"gcodeTime": 1,
|
||||||
|
"gcodeFeature": [],
|
||||||
|
"profiles": [
|
||||||
|
{
|
||||||
|
"processName": "U1 PLA",
|
||||||
|
"sliceHeight": 0.2,
|
||||||
|
"sliceShells": 3,
|
||||||
|
"sliceShellOrder": "out-in",
|
||||||
|
"sliceLayerStart": "last",
|
||||||
|
"sliceFillAngle": 45,
|
||||||
|
"sliceFillOverlap": 0.4,
|
||||||
|
"sliceFillSparse": 0.2,
|
||||||
|
"sliceFillType": "linear",
|
||||||
|
"sliceAdaptive": false,
|
||||||
|
"sliceMinHeight": 0,
|
||||||
|
"sliceSupportDensity": 0.2,
|
||||||
|
"sliceSupportOffset": 0.2,
|
||||||
|
"sliceSupportGap": 1,
|
||||||
|
"sliceSupportExtra": 0,
|
||||||
|
"sliceSupportAngle": 50,
|
||||||
|
"sliceSupportNozzle": 0,
|
||||||
|
"sliceSolidMinArea": 1,
|
||||||
|
"sliceBottomLayers": 2,
|
||||||
|
"sliceTopLayers": 3,
|
||||||
|
"firstLayerRate": 20,
|
||||||
|
"firstLayerYOffset": 0,
|
||||||
|
"firstLayerBrim": 0,
|
||||||
|
"firstLayerBeltLead": 0,
|
||||||
|
"firstLayerFanSpeed": 0,
|
||||||
|
"outputTemp": 220,
|
||||||
|
"outputBedTemp": 65,
|
||||||
|
"outputFanSpeed": 255,
|
||||||
|
"outputFeedrate": 100,
|
||||||
|
"outputFinishrate": 90,
|
||||||
|
"outputSeekrate": 200,
|
||||||
|
"outputShellMult": 1.2,
|
||||||
|
"outputFillMult": 1.18,
|
||||||
|
"outputSparseMult": 1.25,
|
||||||
|
"outputRetractDist": 1.3,
|
||||||
|
"outputRetractSpeed": 30,
|
||||||
|
"outputRetractWipe": 0,
|
||||||
|
"outputRetractDwell": 5,
|
||||||
|
"outputShortPoly": 0,
|
||||||
|
"outputMinSpeed": 1,
|
||||||
|
"outputCoastDist": 0,
|
||||||
|
"outputLayerRetract": false,
|
||||||
|
"zHopDistance": 0,
|
||||||
|
"antiBacklash": 0,
|
||||||
|
"sliceFillWidth": 1,
|
||||||
|
"firstSliceHeight": 0.2,
|
||||||
|
"firstLayerFillRate": 40,
|
||||||
|
"firstLayerNozzleTemp": 220,
|
||||||
|
"firstLayerBedTemp": 65,
|
||||||
|
"firstLayerBrimTrig": 0,
|
||||||
|
"firstLayerBrimGap": 0,
|
||||||
|
"outputRaft": false,
|
||||||
|
"outputRaftSpacing": 0.2,
|
||||||
|
"outputBrimCount": 0,
|
||||||
|
"outputBrimOffset": 1,
|
||||||
|
"outputPurgeTower": 0,
|
||||||
|
"outputInvertX": false,
|
||||||
|
"outputInvertY": false,
|
||||||
|
"ranges": [],
|
||||||
|
"sliceLineWidth": 0,
|
||||||
|
"sliceFillRepeat": 2,
|
||||||
|
"firstLayerBrimIn": 0,
|
||||||
|
"firstLayerBeltBump": 0,
|
||||||
|
"outputBeltFirst": false,
|
||||||
|
"outputLoops": 0,
|
||||||
|
"sliceFillGrow": 0.2,
|
||||||
|
"sliceSupportSpan": 5,
|
||||||
|
"sliceSupportOutline": true,
|
||||||
|
"firstLayerFlatten": 0,
|
||||||
|
"outputDraftShield": false,
|
||||||
|
"outputAvoidGaps": true,
|
||||||
|
"sliceDetectThin": "off",
|
||||||
|
"outputAlternating": false,
|
||||||
|
"sliceLayerStartX": 0,
|
||||||
|
"sliceLayerStartY": 0,
|
||||||
|
"outputFanLayer": 1,
|
||||||
|
"sliceAngle": 45,
|
||||||
|
"sliceZInterleave": false,
|
||||||
|
"outputScarfLength": 0,
|
||||||
|
"outputMinLayerTime": 9,
|
||||||
|
"sliceCompInner": 0,
|
||||||
|
"sliceCompOuter": 0,
|
||||||
|
"outputMaxFlowrate": 15,
|
||||||
|
"firstLayerBeltFact": 1,
|
||||||
|
"sliceSolidify": false,
|
||||||
|
"fdmArcEnabled": false,
|
||||||
|
"fdmArcResolution": 1,
|
||||||
|
"fdmArcTolerance": 0.005,
|
||||||
|
"sliceSupportType": "manual",
|
||||||
|
"sliceSupportTree": false,
|
||||||
|
"sliceSolidMinThick": 0.4
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gcodeChange": [
|
||||||
|
";; >-----> TOOL >----------------------->",
|
||||||
|
"; Change Tool{last_tool} -> Tool{tool} (layer {layer}) ; tool change",
|
||||||
|
"M104 S70 T{last_tool} ; cooldown previous tool",
|
||||||
|
"G91 ; set relative positioning",
|
||||||
|
"G1 Z1.5 ; lift nozzle 1.5 mm to avoid collision",
|
||||||
|
"G90 ; return to absolute positioning",
|
||||||
|
"G1 F21000 ; set high travel feedrate",
|
||||||
|
"M104 S{temp} T{tool} ; heat new tool and wait",
|
||||||
|
"M400 ; wait for all queued moves to finish",
|
||||||
|
"T{tool} ; select tool {tool}",
|
||||||
|
"SM_PRINT_PREEXTRUDE_FILAMENT INDEX={tool} ; Snapmaker macro: pre-extrude tool filament",
|
||||||
|
"G90 ; ensure absolute positioning",
|
||||||
|
"M106 P2 S178 ; set auxiliary/part fan to ~70%",
|
||||||
|
"M106 S255 ; set primary cooling fan to full speed",
|
||||||
|
"M109 S{temp} T{tool} ; set new tool nozzle temperature",
|
||||||
|
"SET_PRESSURE_ADVANCE ADVANCE=0.02 ; override pressure advance value for tool 1",
|
||||||
|
"G1 F30000 ; set printing feedrate",
|
||||||
|
";ADD WIPE TOWER HERE",
|
||||||
|
"M220 R ; reset feedrate override to default (100%) / restore",
|
||||||
|
"G1 F30000 ; set travel feedrate to 30000 mm/min",
|
||||||
|
"G4 S0 ; dwell 0s (no-op / sync point)",
|
||||||
|
"G92 E0 ; zero extruder position after purge (prevents huge E values)",
|
||||||
|
"G1 X{pos_x} Y{pos_y} ; restore XY position",
|
||||||
|
"G1 Z{pos_z} ; restore Z position",
|
||||||
|
";; <-----< TOOL <-----------------------<"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -570,10 +570,10 @@ export function sliceOne(settings, widget, onupdate, ondone) {
|
||||||
.centerRectangle(newPoint(0, 0, slice.z), boundsx, boundsy)
|
.centerRectangle(newPoint(0, 0, slice.z), boundsx, boundsy)
|
||||||
.move({ x: 0, y: -boundsy / 2 + skewy, z: 0 });
|
.move({ x: 0, y: -boundsy / 2 + skewy, z: 0 });
|
||||||
shadow = POLY.trimTo(shadow, [ clip ]);
|
shadow = POLY.trimTo(shadow, [ clip ]);
|
||||||
// slice.output().setLayer("belt clip", 0xffff00).addPolys([ clip ]);
|
if (devel) slice.output().setLayer("belt clip", 0xffff00).addPolys([ clip ]);
|
||||||
}
|
}
|
||||||
slice.supports = shadow;
|
slice.supports = shadow;
|
||||||
slice.output().setLayer("shadow", 0xff0000).addPolys(shadow);
|
if (devel) slice.output().setLayer("shadow", 0xff0000).addPolys(shadow);
|
||||||
trackupdate((++count/length), 0.10, 0.15, "support");
|
trackupdate((++count/length), 0.10, 0.15, "support");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -692,6 +692,14 @@ export function sliceOne(settings, widget, onupdate, ondone) {
|
||||||
trackupdate(i / t, 0.55, 0.7);
|
trackupdate(i / t, 0.55, 0.7);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// filter out tiny fill points less than nozzle diameter
|
||||||
|
// if (false)
|
||||||
|
for (let slice of slices) {
|
||||||
|
for (let top of slice.tops) {
|
||||||
|
if (top.fill_sparse)
|
||||||
|
top.fill_sparse = top.fill_sparse.filter(p => p.perimeter() >= lineWidth);
|
||||||
|
}
|
||||||
|
}
|
||||||
// back-fill slices marked for infill cloning
|
// back-fill slices marked for infill cloning
|
||||||
for (let slice of slices) {
|
for (let slice of slices) {
|
||||||
if (slice._clone_sparse) {
|
if (slice._clone_sparse) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue