From 5bbe09a75c0b511de05c7e01e8a5265b4282ab09 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Wed, 3 Apr 2024 21:22:09 +0200 Subject: [PATCH 01/47] added Prusa Mini with Input Shaper to profiles --- resources/profiles/Prusa.json | 54 +++++++++ resources/profiles/Prusa/MINIIS_cover.png | Bin 0 -> 42866 bytes .../filament/Prusa Generic ABS @MINIIS.json | 24 ++++ .../filament/Prusa Generic ABS @MK4.json | 10 +- .../filament/Prusa Generic ASA @MINIIS.json | 24 ++++ .../filament/Prusa Generic ASA @MK4.json | 10 +- .../Prusa/filament/Prusa Generic PA-CF.json | 6 +- .../Prusa/filament/Prusa Generic PA.json | 6 +- .../Prusa/filament/Prusa Generic PC.json | 6 +- .../filament/Prusa Generic PETG @MINIIS.json | 51 ++++++++ .../filament/Prusa Generic PETG @MK4.json | 10 +- .../filament/Prusa Generic PLA @MINIIS.json | 26 ++++ .../Prusa/filament/Prusa Generic PLA-CF.json | 6 +- .../Prusa/filament/Prusa Generic PVA.json | 6 +- .../filament/Prusa Generic TPU @MINIIS.json | 24 ++++ .../machine/Prusa MINIIS 0.25 nozzle.json | 114 ++++++++++++++++++ .../machine/Prusa MINIIS 0.4 nozzle.json | 114 ++++++++++++++++++ .../machine/Prusa MINIIS 0.6 nozzle.json | 114 ++++++++++++++++++ .../machine/Prusa MINIIS 0.8 nozzle.json | 114 ++++++++++++++++++ .../profiles/Prusa/machine/Prusa MINIIS.json | 12 ++ resources/profiles/Prusa/miniis.svg | 32 +++++ resources/profiles/Prusa/miniis_bed.stl | Bin 0 -> 57884 bytes .../Prusa/process/0.20mm Speed @MINIIS.json | 14 +++ .../process/0.20mm Standard @MINIIS.json | 26 ++++ .../Prusa/process/fdm_process_common.json | 5 +- .../Prusa/process/process_common_miniis.json | 44 +++++++ 26 files changed, 829 insertions(+), 23 deletions(-) create mode 100644 resources/profiles/Prusa/MINIIS_cover.png create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json create mode 100644 resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MINIIS.json create mode 100644 resources/profiles/Prusa/miniis.svg create mode 100644 resources/profiles/Prusa/miniis_bed.stl create mode 100644 resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/process_common_miniis.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 983e35e558..4e9589f04c 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -8,6 +8,10 @@ "name": "MK4IS", "sub_path": "machine/Prusa MK4.json" }, + { + "name": "MINIIS", + "sub_path": "machine/Prusa MINIIS.json" + }, { "name": "MK3S", "sub_path": "machine/Prusa MK3S.json" @@ -26,6 +30,10 @@ "name": "process_common_mk4", "sub_path": "process/process_common_mk4.json" }, + { + "name": "process_common_miniis", + "sub_path": "process/process_common_miniis.json" + }, { "name": "process_common_mk3", "sub_path": "process/process_common_mk3.json" @@ -144,6 +152,16 @@ "name": "0.20mm Standard @MK4", "sub_path": "process/0.20mm Standard @MK4.json" }, + { + + "name": "0.20mm Standard @MINIIS", + "sub_path": "process/0.20mm Standard @MINIIS.json" + }, + { + + "name": "0.20mm Speed @MINIIS", + "sub_path": "process/0.20mm Speed @MINIIS.json" + }, { "name": "0.24mm Standard @MK4", @@ -215,6 +233,10 @@ "name": "Prusa Generic PLA @MK4", "sub_path": "filament/Prusa Generic PLA @MK4.json" }, + { + "name": "Prusa Generic PLA @MINIIS", + "sub_path": "filament/Prusa Generic PLA @MINIIS.json" + }, { "name": "Prusa Generic PLA-CF", "sub_path": "filament/Prusa Generic PLA-CF.json" @@ -227,6 +249,10 @@ "name": "Prusa Generic PETG @MK4", "sub_path": "filament/Prusa Generic PETG @MK4.json" }, + { + "name": "Prusa Generic PETG @MINIIS", + "sub_path": "filament/Prusa Generic PETG @MINIIS.json" + }, { "name": "Prusa Generic ABS", "sub_path": "filament/Prusa Generic ABS.json" @@ -235,6 +261,10 @@ "name": "Prusa Generic ABS @MK4", "sub_path": "filament/Prusa Generic ABS @MK4.json" }, + { + "name": "Prusa Generic ABS @MINIIS", + "sub_path": "filament/Prusa Generic ABS @MINIIS.json" + }, { "name": "Prusa Generic TPU", "sub_path": "filament/Prusa Generic TPU.json" @@ -243,6 +273,10 @@ "name": "Prusa Generic TPU @MK4", "sub_path": "filament/Prusa Generic TPU @MK4.json" }, + { + "name": "Prusa Generic TPU @MINIIS", + "sub_path": "filament/Prusa Generic TPU @MINIIS.json" + }, { "name": "Prusa Generic ASA", "sub_path": "filament/Prusa Generic ASA.json" @@ -251,6 +285,10 @@ "name": "Prusa Generic ASA @MK4", "sub_path": "filament/Prusa Generic ASA @MK4.json" }, + { + "name": "Prusa Generic ASA @MINIIS", + "sub_path": "filament/Prusa Generic ASA @MINIIS.json" + }, { "name": "Prusa Generic PC", "sub_path": "filament/Prusa Generic PC.json" @@ -297,6 +335,22 @@ "name": "Prusa MK4 0.4 nozzle", "sub_path": "machine/Prusa MK4 0.4 nozzle.json" }, + { + "name": "Prusa MINIIS 0.4 nozzle", + "sub_path": "machine/Prusa MINIIS 0.4 nozzle.json" + }, + { + "name": "Prusa MINIIS 0.25 nozzle", + "sub_path": "machine/Prusa MINIIS 0.25 nozzle.json" + }, + { + "name": "Prusa MINIIS 0.6 nozzle", + "sub_path": "machine/Prusa MINIIS 0.6 nozzle.json" + }, + { + "name": "Prusa MINIIS 0.8 nozzle", + "sub_path": "machine/Prusa MINIIS 0.8 nozzle.json" + }, { "name": "Prusa MK4 0.6 nozzle", "sub_path": "machine/Prusa MK4 0.6 nozzle.json" diff --git a/resources/profiles/Prusa/MINIIS_cover.png b/resources/profiles/Prusa/MINIIS_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..c321e4c54563b357894f2952c5fd07df80bd7fe3 GIT binary patch literal 42866 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%0AY2f;dVUZM0+7BObGs4(h1 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json new file mode 100644 index 0000000000..4df6cd326f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFB99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "0.926" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4.json index 1e40459111..0de674b7fe 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4.json @@ -16,9 +16,9 @@ "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" ], "compatible_printers": [ - "Prusa MK4 0.25 nozzle", - "Prusa MK4 0.4 nozzle", - "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" - ] + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json new file mode 100644 index 0000000000..1301190aa4 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFB98_2", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "0.93" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_start_gcode": [ + "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4.json index e92dc0795d..de823b2306 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4.json @@ -16,9 +16,9 @@ "; Filament gcode\nM900 K{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.25}0.1{elsif nozzle_diameter[0]==0.3}0.06{elsif nozzle_diameter[0]==0.35}0.05{elsif nozzle_diameter[0]==0.5}0.03{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.012{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.25}0.09{elsif nozzle_diameter[0]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" ], "compatible_printers": [ - "Prusa MK4 0.25 nozzle", - "Prusa MK4 0.4 nozzle", - "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" - ] + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF.json index 47926d81df..8b389957c7 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PA-CF.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF.json @@ -30,6 +30,10 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" + "Prusa MK4 0.8 nozzle", + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA.json b/resources/profiles/Prusa/filament/Prusa Generic PA.json index f1507270b5..c92b0a981e 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PA.json @@ -27,6 +27,10 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" + "Prusa MK4 0.8 nozzle", + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC.json b/resources/profiles/Prusa/filament/Prusa Generic PC.json index e33173caed..0c232ec272 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC.json @@ -24,6 +24,10 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" + "Prusa MK4 0.8 nozzle", + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json new file mode 100644 index 0000000000..eaeaf110a9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -0,0 +1,51 @@ +{ + "type": "filament", + "filament_id": "GFG99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "90" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "90" + ], + "fan_min_speed": [ + "40" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_flow_ratio": [ + "0.95" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.08{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4.json index 383c86b63f..9caa793e9f 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4.json @@ -43,9 +43,9 @@ "; filament start gcode\nM900 K{if nozzle_diameter[0]==0.4}0.035{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.09{elsif nozzle_diameter[0]==0.35}0.08{elsif nozzle_diameter[0]==0.6}0.04{elsif nozzle_diameter[0]==0.5}0.05{elsif nozzle_diameter[0]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*PRINTER_MODEL_MK4IS.*/}\nM572 S{if nozzle_diameter[0]==0.4}0.055{elsif nozzle_diameter[0]==0.5}0.042{elsif nozzle_diameter[0]==0.6}0.025{elsif nozzle_diameter[0]==0.8}0.018{elsif nozzle_diameter[0]==0.25}0.18{elsif nozzle_diameter[0]==0.3}0.1{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" ], "compatible_printers": [ - "Prusa MK4 0.25 nozzle", - "Prusa MK4 0.4 nozzle", - "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" - ] + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle" + ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json new file mode 100644 index 0000000000..1e6dea76c5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json @@ -0,0 +1,26 @@ +{ + "type": "filament", + "filament_id": "GFL99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "0.98" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.04{else}0.05{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json index a167d5683f..4461005ad3 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json @@ -30,6 +30,10 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" + "Prusa MK4 0.8 nozzle", + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA.json b/resources/profiles/Prusa/filament/Prusa Generic PVA.json index 2c0e2017e3..ee80f6c637 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PVA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA.json @@ -30,6 +30,10 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle" + "Prusa MK4 0.8 nozzle", + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json new file mode 100644 index 0000000000..a416b2b34d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFU99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic TPU @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_tpu", + "filament_max_volumetric_speed": [ + "3.2" + ], + "filament_flow_ratio": [ + "1.08" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json new file mode 100644 index 0000000000..26efc8107e --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM004", + "name": "Prusa MINIIS 0.25 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin2", + "printer_model": "MINIIS", + "printer_variant": "0.25", + "default_filament_profile": [ + "Prusa Generic PLA @MINIIS" + ], + "default_print_profile": "0.20mm Standard @MINIIS", + "nozzle_diameter": [ + "0.25" + ], + "bed_exclude_area": [ + "0x0" + ], + "printable_area": [ + "0x0", + "180x0", + "180x180", + "0x180" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "4000", + "4000" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_x": [ + "4000", + "4000" + ], + "machine_max_acceleration_y": [ + "4000", + "4000" + ], + "machine_max_acceleration_z": [ + "400", + "400" + ], + "machine_max_acceleration_travel": [ + "4000", + "4000" + ], + "machine_max_jerk_e": [ + "10", + "2.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "80", + "25" + ], + "machine_max_speed_x": [ + "400", + "400" + ], + "machine_max_speed_y": [ + "400", + "400" + ], + "retraction_length": [ + "2.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "70" + ], + "z_hop": [ + "0.2" + ], + "host_type": "prusalink", + "printable_height": "180", + "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", + "machine_pause_gcode": "M601", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", + "scan_first_layer": "0", + "machine_load_filament_time": "17", + "machine_unload_filament_time": "16", + "nozzle_type": "brass", + "auxiliary_fan": "0", + "thumbnails": [ + "16x16", + "313x173", + "440x240" + ] +} diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json new file mode 100644 index 0000000000..c3cf15a8c3 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM003", + "name": "Prusa MINIIS 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin2", + "printer_model": "MINIIS", + "printer_variant": "0.4", + "default_filament_profile": [ + "Prusa Generic PLA @MINIIS" + ], + "default_print_profile": "0.20mm Standard @MINIIS", + "nozzle_diameter": [ + "0.4" + ], + "bed_exclude_area": [ + "0x0" + ], + "printable_area": [ + "0x0", + "180x0", + "180x180", + "0x180" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "4000", + "4000" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_x": [ + "4000", + "4000" + ], + "machine_max_acceleration_y": [ + "4000", + "4000" + ], + "machine_max_acceleration_z": [ + "400", + "400" + ], + "machine_max_acceleration_travel": [ + "4000", + "4000" + ], + "machine_max_jerk_e": [ + "10", + "2.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "80", + "25" + ], + "machine_max_speed_x": [ + "400", + "400" + ], + "machine_max_speed_y": [ + "400", + "400" + ], + "retraction_length": [ + "2.5" + ], + "retraction_minimum_travel": [ + "1.5" + ], + "retraction_speed": [ + "70" + ], + "z_hop": [ + "0.2" + ], + "host_type": "prusalink", + "printable_height": "180", + "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", + "machine_pause_gcode": "M601", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", + "scan_first_layer": "0", + "machine_load_filament_time": "17", + "machine_unload_filament_time": "16", + "nozzle_type": "brass", + "auxiliary_fan": "0", + "thumbnails": [ + "16x16", + "313x173", + "440x240" + ] +} diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json new file mode 100644 index 0000000000..b5562c3087 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM002", + "name": "Prusa MINIIS 0.6 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin2", + "printer_model": "MINIIS", + "printer_variant": "0.6", + "default_filament_profile": [ + "Prusa Generic PLA @MINIIS" + ], + "default_print_profile": "0.20mm Standard @MINIIS", + "nozzle_diameter": [ + "0.6" + ], + "bed_exclude_area": [ + "0x0" + ], + "printable_area": [ + "0x0", + "180x0", + "180x180", + "0x180" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "4000", + "4000" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_x": [ + "4000", + "4000" + ], + "machine_max_acceleration_y": [ + "4000", + "4000" + ], + "machine_max_acceleration_z": [ + "400", + "400" + ], + "machine_max_acceleration_travel": [ + "4000", + "4000" + ], + "machine_max_jerk_e": [ + "10", + "2.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "80", + "25" + ], + "machine_max_speed_x": [ + "400", + "400" + ], + "machine_max_speed_y": [ + "400", + "400" + ], + "retraction_length": [ + "2.8" + ], + "retraction_minimum_travel": [ + "1.5" + ], + "retraction_speed": [ + "70" + ], + "z_hop": [ + "0.2" + ], + "host_type": "prusalink", + "printable_height": "180", + "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", + "machine_pause_gcode": "M601", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", + "scan_first_layer": "0", + "machine_load_filament_time": "17", + "machine_unload_filament_time": "16", + "nozzle_type": "brass", + "auxiliary_fan": "0", + "thumbnails": [ + "16x16", + "313x173", + "440x240" + ] +} diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json new file mode 100644 index 0000000000..97a9ce0206 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json @@ -0,0 +1,114 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Prusa MINIIS 0.8 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin2", + "printer_model": "MINIIS", + "printer_variant": "0.8", + "default_filament_profile": [ + "Prusa Generic PLA @MINIIS" + ], + "default_print_profile": "0.20mm Standard @MINIIS", + "nozzle_diameter": [ + "0.8" + ], + "bed_exclude_area": [ + "0x0" + ], + "printable_area": [ + "0x0", + "180x0", + "180x180", + "0x180" + ], + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "4000", + "4000" + ], + "machine_max_acceleration_retracting": [ + "1250", + "1250" + ], + "machine_max_acceleration_x": [ + "4000", + "4000" + ], + "machine_max_acceleration_y": [ + "4000", + "4000" + ], + "machine_max_acceleration_z": [ + "400", + "400" + ], + "machine_max_acceleration_travel": [ + "4000", + "4000" + ], + "machine_max_jerk_e": [ + "10", + "2.5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "80", + "25" + ], + "machine_max_speed_x": [ + "400", + "400" + ], + "machine_max_speed_y": [ + "400", + "400" + ], + "retraction_length": [ + "2.8" + ], + "retraction_minimum_travel": [ + "1.5" + ], + "retraction_speed": [ + "40" + ], + "z_hop": [ + "0.2" + ], + "host_type": "prusalink", + "printable_height": "180", + "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", + "machine_pause_gcode": "M601", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", + "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", + "scan_first_layer": "0", + "machine_load_filament_time": "17", + "machine_unload_filament_time": "16", + "nozzle_type": "brass", + "auxiliary_fan": "0", + "thumbnails": [ + "16x16", + "313x173", + "440x240" + ] +} diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS.json b/resources/profiles/Prusa/machine/Prusa MINIIS.json new file mode 100644 index 0000000000..6c42d6c770 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MINIIS.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Prusa MINI", + "model_id": "MINI", + "nozzle_diameter": "0.25;0.4;0.6;0.8", + "machine_tech": "FFF", + "family": "Prusa", + "bed_model": "miniis_bed.stl", + "bed_texture": "miniis.svg", + "hotend_model": "", + "default_materials": "Prusa Generic PLA-CF;Prusa Generic PC;Prusa Generic PVA;Prusa Generic PA;Prusa Generic PA-CF;Prusa Generic ABS @MK4;Prusa Generic PLA @MK4;Prusa Generic PETG @MK4;Prusa Generic TPU @MK4;Prusa Generic ASA @MK4;" +} diff --git a/resources/profiles/Prusa/miniis.svg b/resources/profiles/Prusa/miniis.svg new file mode 100644 index 0000000000..96c8fdec08 --- /dev/null +++ b/resources/profiles/Prusa/miniis.svg @@ -0,0 +1,32 @@ + + MINI_bed_texture + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Prusa/miniis_bed.stl b/resources/profiles/Prusa/miniis_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..2f4c45b7b150b7883c038f2104c53e8aa35fe812 GIT binary patch literal 57884 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 Date: Sat, 6 Apr 2024 13:24:44 +0200 Subject: [PATCH 02/47] refactoring to more reusable settings --- resources/profiles/Prusa.json | 4 +++ .../Prusa/process/0.20mm Speed @MINIIS.json | 4 +-- .../process/0.20mm Standard @MINIIS.json | 14 +-------- .../Prusa/process/fdm_process_common.json | 1 + .../Prusa/process/process_common_miniis.json | 30 +++++++++++-------- .../Prusa/process/process_speed_miniis.json | 23 ++++++++++++++ 6 files changed, 49 insertions(+), 27 deletions(-) create mode 100644 resources/profiles/Prusa/process/process_speed_miniis.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 4e9589f04c..9c8c4d7c96 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -34,6 +34,10 @@ "name": "process_common_miniis", "sub_path": "process/process_common_miniis.json" }, + { + "name": "process_speed_miniis", + "sub_path": "process/process_speed_miniis.json" + }, { "name": "process_common_mk3", "sub_path": "process/process_common_mk3.json" diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json index d90527bca8..b1b0dfa809 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json @@ -1,10 +1,10 @@ { "type": "process", "setting_id": "GP004", - "name": "0.20mm Standard @MINIIS", + "name": "0.20mm Speed @MINIIS", "from": "system", "instantiation": "true", - "inherits": "process_common_miniis", + "inherits": "process_speed_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle", diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json index 22579077c3..d90527bca8 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json @@ -1,22 +1,10 @@ { "type": "process", "setting_id": "GP004", - "name": "0.20mm Speed @MINIIS", + "name": "0.20mm Standard @MINIIS", "from": "system", "instantiation": "true", "inherits": "process_common_miniis", - "outer_wall_speed": "140", - "inner_wall_speed": "140", - "small_perimeter_speed": "140", - "sparse_infill_speed": "140", - "internal_solid_infill_speed": "140", - "top_surface_speed": "80", - "gap_infill_speed": "80", - "initial_layer_acceleration": "500", - "top_surface_acceleration": "1000", - "inner_wall_acceleration": "2500", - "outer_wall_acceleration": "2000", - "bridge_acceleration": "1500", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle", diff --git a/resources/profiles/Prusa/process/fdm_process_common.json b/resources/profiles/Prusa/process/fdm_process_common.json index 574dc63f9a..8995061a1d 100644 --- a/resources/profiles/Prusa/process/fdm_process_common.json +++ b/resources/profiles/Prusa/process/fdm_process_common.json @@ -39,6 +39,7 @@ "reduce_infill_retraction": "1", "filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode", "detect_overhang_wall": "1", + "slowdown_for_curled_perimeters": "1", "overhang_1_4_speed": "0", "overhang_2_4_speed": "50", "overhang_3_4_speed": "30", diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 06a99bcbbd..38ac02c210 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -13,32 +13,38 @@ "top_surface_speed": "80", "gap_infill_speed": "60", "travel_speed": "400", - "bridge_speed": "15", + "bridge_speed": "25", + "internal_bridge_speed": "50", "small_perimeter_speed": "45", "travel_jerk": "8", - "outer_wall_jerk": "7", - "inner_wall_jerk": "7", + "outer_wall_jerk": "8", + "inner_wall_jerk": "8", "default_jerk": "8", "infill_jerk": "8", "top_surface_jerk": "8", - "initial_layer_jerk": "7", + "initial_layer_jerk": "8", "default_acceleration": "2000", - "internal_bridge_speed": "50", "initial_layer_acceleration": "500", "top_surface_acceleration": "1000", "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", "bridge_acceleration": "1500", "exclude_object": "1", - "overhang_1_4_speed": "18", - "overhang_2_4_speed": "20", - "overhang_3_4_speed": "25", - "overhang_4_4_speed": "80%", - "sparse_infill_pattern": "cubic", + "overhang_1_4_speed": "80%", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "15", + "sparse_infill_pattern": "grid", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", - "bottom_shell_layers": "4" - + "bottom_shell_layers": "4", + "elefant_foot_compensation": "0.2", + "slowdown_for_curled_perimeters": "1", + "infill_anchor_max": "12", + "sparse_infill_anchor": "2,5", + "infill_wall_overlap": "10%" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_miniis.json b/resources/profiles/Prusa/process/process_speed_miniis.json new file mode 100644 index 0000000000..8b27c5f6aa --- /dev/null +++ b/resources/profiles/Prusa/process/process_speed_miniis.json @@ -0,0 +1,23 @@ +{ + "type": "process", + "name": "process_speed_miniis", + "from": "system", + "instantiation": "false", + "inherits": "process_common_miniis", + "outer_wall_speed": "140", + "inner_wall_speed": "140", + "small_perimeter_speed": "140", + "sparse_infill_speed": "140", + "internal_solid_infill_speed": "140", + "top_surface_speed": "80", + "gap_infill_speed": "80", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "4000", + "overhang_1_4_speed": "60", + "sparse_infill_pattern": "cubic", + "enable_arc_fitting": "1" +} \ No newline at end of file From 425be2652c73ca4c5d90de5214d9e4325707a7e2 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 15 Apr 2024 21:30:48 +0200 Subject: [PATCH 03/47] added more processes, changed settings --- resources/profiles/Prusa.json | 66 ++++++++++++++++++- .../filament/Prusa Generic PETG @MINIIS.json | 12 ++++ .../Prusa/machine/Prusa MINI 0.25 nozzle.json | 6 ++ .../Prusa/process/0.05mm Detail @MINIIS.json | 17 +++++ .../Prusa/process/0.07mm Detail @MINIIS.json | 17 +++++ .../Prusa/process/0.10mm Speed @MINIIS.json | 18 +++++ .../Prusa/process/0.12mm Speed @MINIIS.json | 32 +++++++++ .../process/0.12mm Standard @MINIIS.json | 31 +++++++++ .../Prusa/process/0.15mm Speed @MINIIS.json | 18 +++++ .../process/0.15mm Standard @MINIIS.json | 19 ++++++ .../Prusa/process/0.20mm Speed @MINIIS.json | 4 +- .../process/0.20mm Standard @MINIIS.json | 4 +- .../Prusa/process/0.25mm Speed @MINIIS.json | 25 +++++++ .../process/0.25mm Standard @MINIIS.json | 25 +++++++ .../Prusa/process/0.30mm Detail @MINIIS.json | 17 +++++ .../process/0.35mm Standard @MINIIS.json | 25 +++++++ .../process/0.40mm Standard @MINIIS.json | 27 ++++++++ .../Prusa/process/process_common_miniis.json | 12 ++-- .../Prusa/process/process_detail_miniis.json | 27 ++++++++ .../Prusa/process/process_speed_miniis.json | 3 +- 20 files changed, 391 insertions(+), 14 deletions(-) create mode 100644 resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json create mode 100644 resources/profiles/Prusa/process/process_detail_miniis.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 9c8c4d7c96..00a3485df1 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -38,6 +38,10 @@ "name": "process_speed_miniis", "sub_path": "process/process_speed_miniis.json" }, + { + "name": "process_detail_miniis", + "sub_path": "process/process_detail_miniis.json" + }, { "name": "process_common_mk3", "sub_path": "process/process_common_mk3.json" @@ -156,6 +160,41 @@ "name": "0.20mm Standard @MK4", "sub_path": "process/0.20mm Standard @MK4.json" }, + { + + "name": "0.05mm Detail @MINIIS", + "sub_path": "process/0.05mm Detail @MINIIS.json" + }, + { + + "name": "0.07mm Detail @MINIIS", + "sub_path": "process/0.07mm Detail @MINIIS.json" + }, + { + + "name": "0.10mm Speed @MINIIS", + "sub_path": "process/0.10mm Speed @MINIIS.json" + }, + { + + "name": "0.12mm Speed @MINIIS", + "sub_path": "process/0.12mm Speed @MINIIS.json" + }, + { + + "name": "0.12mm Standard @MINIIS", + "sub_path": "process/0.12mm Standard @MINIIS.json" + }, + { + + "name": "0.15mm Standard @MINIIS", + "sub_path": "process/0.15mm Standard @MINIIS.json" + }, + { + + "name": "0.15mm Speed @MINIIS", + "sub_path": "process/0.15mm Speed @MINIIS.json" + }, { "name": "0.20mm Standard @MINIIS", @@ -165,7 +204,32 @@ "name": "0.20mm Speed @MINIIS", "sub_path": "process/0.20mm Speed @MINIIS.json" - }, + }, + { + + "name": "0.25mm Standard @MINIIS", + "sub_path": "process/0.25mm Standard @MINIIS.json" + }, + { + + "name": "0.25mm Speed @MINIIS", + "sub_path": "process/0.25mm Speed @MINIIS.json" + }, + { + + "name": "0.30mm Detail @MINIIS", + "sub_path": "process/0.30mm Detail @MINIIS.json" + }, + { + + "name": "0.35mm Standard @MINIIS", + "sub_path": "process/0.35mm Standard @MINIIS.json" + }, + { + + "name": "0.40mm Standard @MINIIS", + "sub_path": "process/0.40mm Standard @MINIIS.json" + }, { "name": "0.24mm Standard @MK4", diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json index eaeaf110a9..6d6a2629e1 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -36,6 +36,18 @@ "filament_flow_ratio": [ "0.95" ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/machine/Prusa MINI 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINI 0.25 nozzle.json index d047f158bc..28e2a63c7a 100644 --- a/resources/profiles/Prusa/machine/Prusa MINI 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINI 0.25 nozzle.json @@ -15,6 +15,12 @@ "nozzle_diameter": [ "0.25" ], + "max_layer_height": [ + "0.15" + ], + "min_layer_height": [ + "0.05" + ], "bed_exclude_area": [ "0x0" ], diff --git a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json new file mode 100644 index 0000000000..ce05b68662 --- /dev/null +++ b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.05mm Detail @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "layer_height": "0.05", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "13", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "10", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json new file mode 100644 index 0000000000..c164bac718 --- /dev/null +++ b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.07mm Detail @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "layer_height": "0.07", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "10", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "8", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json new file mode 100644 index 0000000000..e1f2f1bfcf --- /dev/null +++ b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json @@ -0,0 +1,18 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.10mm Speed @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "bridge_speed": "35", + "layer_height": "0.10", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "7", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "5", + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json new file mode 100644 index 0000000000..da353c169d --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json @@ -0,0 +1,32 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Speed @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "layer_height": "0.12", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "9", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "6", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "small_perimeter_speed": "120", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "50", + "support_speed": "70", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "4000", + "overhang_1_4_speed": "60", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json new file mode 100644 index 0000000000..f8201a08eb --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json @@ -0,0 +1,31 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Standard @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "layer_height": "0.12", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "9", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "6", + "outer_wall_speed": "70", + "inner_wall_speed": "40", + "small_perimeter_speed": "40", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "50", + "support_speed": "70", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json new file mode 100644 index 0000000000..50c5f4c59d --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -0,0 +1,18 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Speed @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "layer_height": "0.12", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json new file mode 100644 index 0000000000..48afef5b30 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "layer_height": "0.12", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json index b1b0dfa809..465c158c24 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json @@ -7,8 +7,6 @@ "inherits": "process_speed_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.6 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json index d90527bca8..8984d059d1 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json @@ -7,8 +7,6 @@ "inherits": "process_common_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.6 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json new file mode 100644 index 0000000000..1b8cb9efd0 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -0,0 +1,25 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Speed @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "layer_height": "0.25", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "outer_wall_speed": "70", + "inner_wall_speed": "80", + "small_perimeter_speed": "70", + "sparse_infill_speed": "90", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "60", + "support_speed": "80", + "overhang_1_4_speed": "45", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json new file mode 100644 index 0000000000..66964b9cf7 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -0,0 +1,25 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Standard @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "layer_height": "0.25", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "small_perimeter_speed": "45", + "sparse_infill_speed": "90", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "60", + "support_speed": "80", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json new file mode 100644 index 0000000000..54fb85f6cd --- /dev/null +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -0,0 +1,17 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Detail @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "layer_height": "0.3", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "3", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "2", + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json new file mode 100644 index 0000000000..ebc6ffcb3e --- /dev/null +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -0,0 +1,25 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.35mm Standard @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "45", + "inner_wall_speed": "60", + "bridge_speed": "30", + "support_speed": "60", + "small_perimeter_speed": "45", + "sparse_infill_speed": "70", + "internal_solid_infill_speed": "60", + "top_surface_speed": "55", + "gap_infill_speed": "45", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json new file mode 100644 index 0000000000..26edf2b36d --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.40mm Standard @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "layer_height": "0.4", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "1.2", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bottom_shell_layers": "3", + "initial_layer_speed": "30", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "bridge_speed": "22", + "support_speed": "40", + "small_perimeter_speed": "40", + "sparse_infill_speed": "50", + "internal_solid_infill_speed": "40", + "top_surface_speed": "35", + "gap_infill_speed": "35", + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 38ac02c210..437eef8b67 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -13,16 +13,16 @@ "top_surface_speed": "80", "gap_infill_speed": "60", "travel_speed": "400", - "bridge_speed": "25", + "bridge_speed": "35", "internal_bridge_speed": "50", "small_perimeter_speed": "45", "travel_jerk": "8", - "outer_wall_jerk": "8", + "outer_wall_jerk": "7", "inner_wall_jerk": "8", "default_jerk": "8", "infill_jerk": "8", - "top_surface_jerk": "8", - "initial_layer_jerk": "8", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", "default_acceleration": "2000", "initial_layer_acceleration": "500", "top_surface_acceleration": "1000", @@ -46,5 +46,7 @@ "slowdown_for_curled_perimeters": "1", "infill_anchor_max": "12", "sparse_infill_anchor": "2,5", - "infill_wall_overlap": "10%" + "infill_wall_overlap": "10%", + "enable_arc_fitting": "1", + "support_speed": "100" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_detail_miniis.json b/resources/profiles/Prusa/process/process_detail_miniis.json new file mode 100644 index 0000000000..6c1b88fc50 --- /dev/null +++ b/resources/profiles/Prusa/process/process_detail_miniis.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "name": "process_detail_miniis", + "from": "system", + "instantiation": "false", + "inherits": "process_common_miniis", + "travel_speed": "300", + "initial_layer_speed": "30", + "outer_wall_speed": "40", + "inner_wall_speed": "60", + "bridge_speed": "25", + "support_speed": "60", + "small_perimeter_speed": "40", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "default_acceleration": "1500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "1200", + "outer_wall_acceleration": "1000", + "bridge_acceleration": "1000", + "internal_solid_infill_acceleration": "2000", + "travel_acceleration": "3000", + "sparse_infill_pattern": "cubic" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_miniis.json b/resources/profiles/Prusa/process/process_speed_miniis.json index 8b27c5f6aa..5b9a68293e 100644 --- a/resources/profiles/Prusa/process/process_speed_miniis.json +++ b/resources/profiles/Prusa/process/process_speed_miniis.json @@ -18,6 +18,5 @@ "bridge_acceleration": "1500", "internal_solid_infill_acceleration": "4000", "overhang_1_4_speed": "60", - "sparse_infill_pattern": "cubic", - "enable_arc_fitting": "1" + "sparse_infill_pattern": "cubic" } \ No newline at end of file From c3277e1b72c9489169394fd41119a3a2a148e9e3 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Wed, 17 Apr 2024 10:58:19 +0200 Subject: [PATCH 04/47] Update 0.15mm Speed @MINIIS.json --- .../profiles/Prusa/process/0.15mm Speed @MINIIS.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index 50c5f4c59d..379e1b49d6 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -11,8 +11,15 @@ "top_shell_layers": "5", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "4", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "top_surface_speed": "120", + "sparse_infill_acceleration": "3000", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle" ] -} \ No newline at end of file +} From 99b14e050e1aa18017c3351cea9d7039ed870ec1 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:01:46 +0200 Subject: [PATCH 05/47] Update 0.10mm Speed @MINIIS.json --- resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json index e1f2f1bfcf..5e96d9ecc9 100644 --- a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json @@ -12,7 +12,11 @@ "top_shell_layers": "7", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "5", + "sparse_infill_acceleration": "3000", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle" ] -} \ No newline at end of file +} From dbfc8351b4da3ea5c73b9826b647e32566a33e61 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Wed, 17 Apr 2024 18:02:43 +0200 Subject: [PATCH 06/47] changed to cubic because of speed --- resources/profiles/Prusa/process/process_common_miniis.json | 2 +- resources/profiles/Prusa/process/process_detail_miniis.json | 3 +-- resources/profiles/Prusa/process/process_speed_miniis.json | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 437eef8b67..105d4ee70a 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -37,7 +37,7 @@ "overhang_2_4_speed": "25", "overhang_3_4_speed": "20", "overhang_4_4_speed": "15", - "sparse_infill_pattern": "grid", + "sparse_infill_pattern": "cubic", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/process_detail_miniis.json b/resources/profiles/Prusa/process/process_detail_miniis.json index 6c1b88fc50..7a690a3094 100644 --- a/resources/profiles/Prusa/process/process_detail_miniis.json +++ b/resources/profiles/Prusa/process/process_detail_miniis.json @@ -22,6 +22,5 @@ "outer_wall_acceleration": "1000", "bridge_acceleration": "1000", "internal_solid_infill_acceleration": "2000", - "travel_acceleration": "3000", - "sparse_infill_pattern": "cubic" + "travel_acceleration": "3000" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_miniis.json b/resources/profiles/Prusa/process/process_speed_miniis.json index 5b9a68293e..9822e2ac1f 100644 --- a/resources/profiles/Prusa/process/process_speed_miniis.json +++ b/resources/profiles/Prusa/process/process_speed_miniis.json @@ -17,6 +17,5 @@ "outer_wall_acceleration": "2000", "bridge_acceleration": "1500", "internal_solid_infill_acceleration": "4000", - "overhang_1_4_speed": "60", - "sparse_infill_pattern": "cubic" + "overhang_1_4_speed": "60" } \ No newline at end of file From 5b8a3b47c75d2ddcf849ae7eabe412268140dc46 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 18 Apr 2024 11:57:52 +0200 Subject: [PATCH 07/47] further changes after reviewing prusa slicer settings --- .../Prusa/machine/Prusa MINIIS 0.25 nozzle.json | 2 +- .../Prusa/machine/Prusa MINIIS 0.6 nozzle.json | 2 +- .../Prusa/machine/Prusa MINIIS 0.8 nozzle.json | 2 +- .../Prusa/process/0.07mm Detail @MINIIS.json | 2 ++ .../profiles/Prusa/process/0.10mm Speed @MINIIS.json | 2 +- .../profiles/Prusa/process/0.12mm Speed @MINIIS.json | 11 ++++------- .../Prusa/process/0.12mm Standard @MINIIS.json | 7 +++++-- .../profiles/Prusa/process/0.15mm Speed @MINIIS.json | 7 +++++-- .../Prusa/process/0.15mm Standard @MINIIS.json | 12 +++++++++++- .../profiles/Prusa/process/0.20mm Speed @MINIIS.json | 3 +-- .../Prusa/process/process_detail_miniis.json | 5 +++-- 11 files changed, 35 insertions(+), 20 deletions(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json index 26efc8107e..46ac7b20f8 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json @@ -11,7 +11,7 @@ "default_filament_profile": [ "Prusa Generic PLA @MINIIS" ], - "default_print_profile": "0.20mm Standard @MINIIS", + "default_print_profile": "0.12mm Standard @MINIIS", "nozzle_diameter": [ "0.25" ], diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json index b5562c3087..8d701bf8e8 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json @@ -11,7 +11,7 @@ "default_filament_profile": [ "Prusa Generic PLA @MINIIS" ], - "default_print_profile": "0.20mm Standard @MINIIS", + "default_print_profile": "0.25mm Standard @MINIIS", "nozzle_diameter": [ "0.6" ], diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json index 97a9ce0206..909e5daee1 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json @@ -11,7 +11,7 @@ "default_filament_profile": [ "Prusa Generic PLA @MINIIS" ], - "default_print_profile": "0.20mm Standard @MINIIS", + "default_print_profile": "0.40mm Standard @MINIIS", "nozzle_diameter": [ "0.8" ], diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json index c164bac718..c22b0d24c2 100644 --- a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json @@ -11,6 +11,8 @@ "top_shell_layers": "10", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "8", + "bridge_speed": "30", + "internal_solid_infill_speed": "140", "compatible_printers": [ "Prusa MINIIS 0.25 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json index 5e96d9ecc9..40076038c9 100644 --- a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json @@ -13,7 +13,7 @@ "bottom_shell_thickness": "0.5", "bottom_shell_layers": "5", "sparse_infill_acceleration": "3000", - "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "3000", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", "compatible_printers": [ diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json index da353c169d..2e77168ac0 100644 --- a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json @@ -4,7 +4,7 @@ "name": "0.12mm Speed @MINIIS", "from": "system", "instantiation": "true", - "inherits": "process_speed_miniis", + "inherits": "process_detail_miniis", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", @@ -18,14 +18,11 @@ "internal_solid_infill_speed": "140", "top_surface_speed": "60", "gap_infill_speed": "50", + "bridge_speed": "25", "support_speed": "70", - "initial_layer_acceleration": "500", - "top_surface_acceleration": "1000", - "inner_wall_acceleration": "2000", - "outer_wall_acceleration": "1500", - "bridge_acceleration": "1500", - "internal_solid_infill_acceleration": "4000", "overhang_1_4_speed": "60", + "internal_solid_infill_acceleration": "2500", + "sparse_infill_acceleration": "2500", "compatible_printers": [ "Prusa MINIIS 0.25 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json index f8201a08eb..1a2cc01686 100644 --- a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json @@ -4,7 +4,7 @@ "name": "0.12mm Standard @MINIIS", "from": "system", "instantiation": "true", - "inherits": "process_common_miniis", + "inherits": "process_detail_miniis", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", @@ -19,12 +19,15 @@ "top_surface_speed": "60", "gap_infill_speed": "50", "support_speed": "70", + "bridge_speed": "25", "initial_layer_acceleration": "500", "top_surface_acceleration": "1000", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1000", "bridge_acceleration": "1500", - "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_acceleration": "2500", + "sparse_infill_acceleration": "2500", + "travel_acceleration": "3000", "compatible_printers": [ "Prusa MINIIS 0.25 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index 379e1b49d6..fba5d501b4 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -4,7 +4,7 @@ "name": "0.15mm Speed @MINIIS", "from": "system", "instantiation": "true", - "inherits": "process_speed_miniis", + "inherits": "process_detail_miniis", "layer_height": "0.12", "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", @@ -14,7 +14,10 @@ "outer_wall_speed": "120", "inner_wall_speed": "120", "top_surface_speed": "120", - "sparse_infill_acceleration": "3000", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", "internal_solid_infill_acceleration": "2500", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json index 48afef5b30..d4485f483c 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json @@ -4,13 +4,23 @@ "name": "0.15mm Standard @MINIIS", "from": "system", "instantiation": "true", - "inherits": "process_common_miniis", + "inherits": "process_detail_miniis", "layer_height": "0.12", "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "4", + "outer_wall_speed": "40", + "inner_wall_speed": "70", + "top_surface_speed": "40", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.6 nozzle", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json index 465c158c24..cf5c7333bb 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json @@ -6,7 +6,6 @@ "instantiation": "true", "inherits": "process_speed_miniis", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.6 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_detail_miniis.json b/resources/profiles/Prusa/process/process_detail_miniis.json index 7a690a3094..a505444987 100644 --- a/resources/profiles/Prusa/process/process_detail_miniis.json +++ b/resources/profiles/Prusa/process/process_detail_miniis.json @@ -5,14 +5,14 @@ "instantiation": "false", "inherits": "process_common_miniis", "travel_speed": "300", - "initial_layer_speed": "30", + "initial_layer_speed": "20", "outer_wall_speed": "40", "inner_wall_speed": "60", "bridge_speed": "25", "support_speed": "60", "small_perimeter_speed": "40", "sparse_infill_speed": "100", - "internal_solid_infill_speed": "140", + "internal_solid_infill_speed": "100", "top_surface_speed": "60", "gap_infill_speed": "40", "default_acceleration": "1500", @@ -22,5 +22,6 @@ "outer_wall_acceleration": "1000", "bridge_acceleration": "1000", "internal_solid_infill_acceleration": "2000", + "sparse_infill_acceleration": "2000", "travel_acceleration": "3000" } \ No newline at end of file From 532b952b99ec22cd9c812e7e1b57b8eb63c35d54 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 18 Apr 2024 12:47:50 +0200 Subject: [PATCH 08/47] simplified machine settings --- .../machine/Prusa MINIIS 0.25 nozzle.json | 98 +------------------ .../machine/Prusa MINIIS 0.6 nozzle.json | 98 +------------------ .../machine/Prusa MINIIS 0.8 nozzle.json | 98 +------------------ 3 files changed, 3 insertions(+), 291 deletions(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json index 46ac7b20f8..f7833d3596 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json @@ -4,7 +4,7 @@ "name": "Prusa MINIIS 0.25 nozzle", "from": "system", "instantiation": "true", - "inherits": "fdm_machine_common", + "inherits": "Prusa MINIIS 0.4 nozzle", "gcode_flavor": "marlin2", "printer_model": "MINIIS", "printer_variant": "0.25", @@ -14,101 +14,5 @@ "default_print_profile": "0.12mm Standard @MINIIS", "nozzle_diameter": [ "0.25" - ], - "bed_exclude_area": [ - "0x0" - ], - "printable_area": [ - "0x0", - "180x0", - "180x180", - "0x180" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "4000", - "4000" - ], - "machine_max_acceleration_retracting": [ - "1250", - "1250" - ], - "machine_max_acceleration_x": [ - "4000", - "4000" - ], - "machine_max_acceleration_y": [ - "4000", - "4000" - ], - "machine_max_acceleration_z": [ - "400", - "400" - ], - "machine_max_acceleration_travel": [ - "4000", - "4000" - ], - "machine_max_jerk_e": [ - "10", - "2.5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "2", - "2" - ], - "machine_max_speed_e": [ - "80", - "25" - ], - "machine_max_speed_x": [ - "400", - "400" - ], - "machine_max_speed_y": [ - "400", - "400" - ], - "retraction_length": [ - "2.5" - ], - "retraction_minimum_travel": [ - "1" - ], - "retraction_speed": [ - "70" - ], - "z_hop": [ - "0.2" - ], - "host_type": "prusalink", - "printable_height": "180", - "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", - "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", - "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", - "scan_first_layer": "0", - "machine_load_filament_time": "17", - "machine_unload_filament_time": "16", - "nozzle_type": "brass", - "auxiliary_fan": "0", - "thumbnails": [ - "16x16", - "313x173", - "440x240" ] } diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json index 8d701bf8e8..c4cf0f8b44 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json @@ -4,7 +4,7 @@ "name": "Prusa MINIIS 0.6 nozzle", "from": "system", "instantiation": "true", - "inherits": "fdm_machine_common", + "inherits": "Prusa MINIIS 0.4 nozzle", "gcode_flavor": "marlin2", "printer_model": "MINIIS", "printer_variant": "0.6", @@ -14,101 +14,5 @@ "default_print_profile": "0.25mm Standard @MINIIS", "nozzle_diameter": [ "0.6" - ], - "bed_exclude_area": [ - "0x0" - ], - "printable_area": [ - "0x0", - "180x0", - "180x180", - "0x180" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "4000", - "4000" - ], - "machine_max_acceleration_retracting": [ - "1250", - "1250" - ], - "machine_max_acceleration_x": [ - "4000", - "4000" - ], - "machine_max_acceleration_y": [ - "4000", - "4000" - ], - "machine_max_acceleration_z": [ - "400", - "400" - ], - "machine_max_acceleration_travel": [ - "4000", - "4000" - ], - "machine_max_jerk_e": [ - "10", - "2.5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "2", - "2" - ], - "machine_max_speed_e": [ - "80", - "25" - ], - "machine_max_speed_x": [ - "400", - "400" - ], - "machine_max_speed_y": [ - "400", - "400" - ], - "retraction_length": [ - "2.8" - ], - "retraction_minimum_travel": [ - "1.5" - ], - "retraction_speed": [ - "70" - ], - "z_hop": [ - "0.2" - ], - "host_type": "prusalink", - "printable_height": "180", - "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", - "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", - "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", - "scan_first_layer": "0", - "machine_load_filament_time": "17", - "machine_unload_filament_time": "16", - "nozzle_type": "brass", - "auxiliary_fan": "0", - "thumbnails": [ - "16x16", - "313x173", - "440x240" ] } diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json index 909e5daee1..3bf2d9a70d 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json @@ -4,7 +4,7 @@ "name": "Prusa MINIIS 0.8 nozzle", "from": "system", "instantiation": "true", - "inherits": "fdm_machine_common", + "inherits": "Prusa MINIIS 0.4 nozzle", "gcode_flavor": "marlin2", "printer_model": "MINIIS", "printer_variant": "0.8", @@ -14,101 +14,5 @@ "default_print_profile": "0.40mm Standard @MINIIS", "nozzle_diameter": [ "0.8" - ], - "bed_exclude_area": [ - "0x0" - ], - "printable_area": [ - "0x0", - "180x0", - "180x180", - "0x180" - ], - "machine_max_acceleration_e": [ - "5000", - "5000" - ], - "machine_max_acceleration_extruding": [ - "4000", - "4000" - ], - "machine_max_acceleration_retracting": [ - "1250", - "1250" - ], - "machine_max_acceleration_x": [ - "4000", - "4000" - ], - "machine_max_acceleration_y": [ - "4000", - "4000" - ], - "machine_max_acceleration_z": [ - "400", - "400" - ], - "machine_max_acceleration_travel": [ - "4000", - "4000" - ], - "machine_max_jerk_e": [ - "10", - "2.5" - ], - "machine_max_jerk_x": [ - "8", - "8" - ], - "machine_max_jerk_y": [ - "8", - "8" - ], - "machine_max_jerk_z": [ - "2", - "2" - ], - "machine_max_speed_e": [ - "80", - "25" - ], - "machine_max_speed_x": [ - "400", - "400" - ], - "machine_max_speed_y": [ - "400", - "400" - ], - "retraction_length": [ - "2.8" - ], - "retraction_minimum_travel": [ - "1.5" - ], - "retraction_speed": [ - "40" - ], - "z_hop": [ - "0.2" - ], - "host_type": "prusalink", - "printable_height": "180", - "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", - "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", - "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", - "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", - "scan_first_layer": "0", - "machine_load_filament_time": "17", - "machine_unload_filament_time": "16", - "nozzle_type": "brass", - "auxiliary_fan": "0", - "thumbnails": [ - "16x16", - "313x173", - "440x240" ] } From 7bb437eb0f98aa13267bb2ceb53b08baa2354edd Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 18 Apr 2024 13:17:19 +0200 Subject: [PATCH 09/47] retraction speeds according to prusa slicer --- .../Prusa/machine/Prusa MINIIS 0.25 nozzle.json | 12 ++++++++++++ .../Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 3 +++ .../Prusa/machine/Prusa MINIIS 0.6 nozzle.json | 12 ++++++++++++ .../Prusa/machine/Prusa MINIIS 0.8 nozzle.json | 17 ++++++++++++++++- 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json index f7833d3596..97e63d54c0 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json @@ -14,5 +14,17 @@ "default_print_profile": "0.12mm Standard @MINIIS", "nozzle_diameter": [ "0.25" + ], + "max_layer_height": [ + "0.15" + ], + "min_layer_height": [ + "0.05" + ], + "retraction_length": [ + "2.5" + ], + "retraction_minimum_travel": [ + "1.0" ] } diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index c3cf15a8c3..2457711175 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -89,6 +89,9 @@ "retraction_speed": [ "70" ], + "deretraction_speed": [ + "40" + ], "z_hop": [ "0.2" ], diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json index c4cf0f8b44..b3df3dff2b 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json @@ -14,5 +14,17 @@ "default_print_profile": "0.25mm Standard @MINIIS", "nozzle_diameter": [ "0.6" + ], + "max_layer_height": [ + "0.4" + ], + "min_layer_height": [ + "0.15" + ], + "retraction_length": [ + "2.8" + ], + "retraction_speed": [ + "70" ] } diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json index 3bf2d9a70d..c6c0fad3b9 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json @@ -14,5 +14,20 @@ "default_print_profile": "0.40mm Standard @MINIIS", "nozzle_diameter": [ "0.8" - ] + ], + "max_layer_height": [ + "0.55" + ], + "min_layer_height": [ + "0.2" + ] , + "retraction_length": [ + "2.8" + ], + "retraction_speed": [ + "45" + ], + "deretraction_speed": [ + "20" +] } From d9944b90be97cf7ffe594b3d5774b9f657457d74 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 19 Apr 2024 18:51:32 +0200 Subject: [PATCH 10/47] changed max flow according to prusa slicer --- .../profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index a416b2b34d..95d885a721 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -7,7 +7,7 @@ "instantiation": "true", "inherits": "fdm_filament_tpu", "filament_max_volumetric_speed": [ - "3.2" + "1.35" ], "filament_flow_ratio": [ "1.08" From d4d3256ef83eb5034947141b525d1eb8799fb1b6 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 20 Apr 2024 16:32:50 +0200 Subject: [PATCH 11/47] after clearification at the prusaslicer repository M900 got removed --- .../profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json | 4 ++-- .../profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json | 4 ++-- .../profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json | 4 ++-- .../profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json | 3 ++- .../profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json | 2 +- resources/profiles/Prusa/machine/Prusa MINIIS.json | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json index 4df6cd326f..1eae409695 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -10,10 +10,10 @@ "0.926" ], "filament_max_volumetric_speed": [ - "12" + "10" ], "filament_start_gcode": [ - "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json index 1301190aa4..a708546480 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -10,10 +10,10 @@ "0.93" ], "filament_max_volumetric_speed": [ - "12" + "10" ], "filament_start_gcode": [ - "; Filament gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.02{else}0.04{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K12{elsif nozzle_diameter[0]==0.8};{else}M900 K20{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json index 6d6a2629e1..4f56ee10a4 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -49,10 +49,10 @@ "85" ], "filament_max_volumetric_speed": [ - "10" + "9" ], "filament_start_gcode": [ - "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.08{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json index 1e6dea76c5..45ab0c1812 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json @@ -16,7 +16,8 @@ "8" ], "filament_start_gcode": [ - "; filament start gcode\nM900 K{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINIIS.*/}0.2{elsif nozzle_diameter[0]==0.8}0.01{elsif nozzle_diameter[0]==0.6}0.04{else}0.05{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINIIS.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K18{elsif nozzle_diameter[0]==0.8};{else}M900 K30{endif} ; Filament gcode LA 1.0 \n\nM572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" ], + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle", diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index 95d885a721..d645684606 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -13,7 +13,7 @@ "1.08" ], "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "M900 K0 ; Filament gcode" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS.json b/resources/profiles/Prusa/machine/Prusa MINIIS.json index 6c42d6c770..0786441dcd 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS.json @@ -8,5 +8,5 @@ "bed_model": "miniis_bed.stl", "bed_texture": "miniis.svg", "hotend_model": "", - "default_materials": "Prusa Generic PLA-CF;Prusa Generic PC;Prusa Generic PVA;Prusa Generic PA;Prusa Generic PA-CF;Prusa Generic ABS @MK4;Prusa Generic PLA @MK4;Prusa Generic PETG @MK4;Prusa Generic TPU @MK4;Prusa Generic ASA @MK4;" + "default_materials": "Prusa Generic PLA-CF;Prusa Generic PC;Prusa Generic PVA;Prusa Generic PA;Prusa Generic PA-CF;Prusa Generic ABS @MINIIS;Prusa Generic PLA @MINIIS;Prusa Generic PETG @MINIIS;Prusa Generic TPU @MINIIS;Prusa Generic ASA @MINIIS;" } From 5e56735e794d9ec99d94d702e6ff41688cf7dcb4 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 20 Apr 2024 20:36:32 +0200 Subject: [PATCH 12/47] precise wall per default --- resources/profiles/Prusa/process/process_common_miniis.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 105d4ee70a..6471a36c39 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -48,5 +48,6 @@ "sparse_infill_anchor": "2,5", "infill_wall_overlap": "10%", "enable_arc_fitting": "1", - "support_speed": "100" + "support_speed": "100", + "precise_outer_wall": "1" } \ No newline at end of file From 88a9ddadb062a72d924c0fa41db9a4f282ef7cfc Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 20 Apr 2024 21:30:54 +0200 Subject: [PATCH 13/47] enable reverse overhang on odd by default --- resources/profiles/Prusa/process/process_common_miniis.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 6471a36c39..5416f7915a 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -49,5 +49,6 @@ "infill_wall_overlap": "10%", "enable_arc_fitting": "1", "support_speed": "100", - "precise_outer_wall": "1" + "precise_outer_wall": "1", + "overhang_reverse": "1" } \ No newline at end of file From 3d5fe64fe185bb4172bb883d0b1bfa7844e990a9 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 22 Apr 2024 08:21:29 +0200 Subject: [PATCH 14/47] added settings from prusa slicer --- .../filament/Prusa Generic TPU @MINIIS.json | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index d645684606..e9f068c783 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -10,11 +10,41 @@ "1.35" ], "filament_flow_ratio": [ - "1.08" + "1.15" ], "filament_start_gcode": [ "M900 K0 ; Filament gcode" ], + "hot_plate_temp" : [ + "50" + ], + "hot_plate_temp_initial_layer" : [ + "50" + ], + "filament_type": [ + "FLEX" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature": [ + "210" + ], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "40" + ], + "filament_deretraction_speed": [ + "16" + ], + "filament_retraction_minimum_travel": [ + "6" + ], + "filament_wipe": [ + "1" + ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle", From edb57990ef39757691eff70c83c5d13e724cdd4d Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 22 Apr 2024 20:58:46 +0200 Subject: [PATCH 15/47] changed cooling setings --- .../filament/Prusa Generic TPU @MINIIS.json | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index e9f068c783..b79f4ae870 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -45,6 +45,45 @@ "filament_wipe": [ "1" ], + "close_fan_the_first_x_layers": [ + "3" + ], + "full_fan_speed_layer": [ + "3" + ], + "fan_min_speed": [ + "30" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "80" + ], + "slow_down_layer_time": [ + "4" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "overhang_fan_threshold": [ + "50%" + ], + "overhang_fan_speed": [ + "50" + ], + "support_material_interface_fan_speed": [ + "-1" + ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", "Prusa MINIIS 0.25 nozzle", From aec20c836461d3df1286d973a2489d248c597000 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 27 Apr 2024 09:08:38 +0200 Subject: [PATCH 16/47] changed default to inner-outer-inner wall inner-outer-inner gives pretty good overhangs with better surface --- resources/profiles/Prusa.json | 6 ++++- .../process/0.20mm Speed @MINIIS 0.6.json | 26 +++++++++++++++++++ .../Prusa/process/process_common_miniis.json | 3 ++- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 00a3485df1..6762532a1a 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -204,7 +204,11 @@ "name": "0.20mm Speed @MINIIS", "sub_path": "process/0.20mm Speed @MINIIS.json" - }, + }, + { + "name": "0.20mm Speed @MINIIS 0.6", + "sub_path": "process/0.20mm Speed @MINIIS 0.6.json" + }, { "name": "0.25mm Standard @MINIIS", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json new file mode 100644 index 0000000000..065455543b --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -0,0 +1,26 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Speed @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_miniis", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ], + "outer_wall_speed": "115", + "inner_wall_speed": "115", + "small_perimeter_speed": "115", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "4000", + "overhang_1_4_speed": "45" +} diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 5416f7915a..840de1deb9 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -50,5 +50,6 @@ "enable_arc_fitting": "1", "support_speed": "100", "precise_outer_wall": "1", - "overhang_reverse": "1" + "overhang_reverse": "1", + "wall_sequence": "inner-outer-inner wall" } \ No newline at end of file From 3591e94a80e948bad06cfa7918d9823c40169621 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 29 Apr 2024 20:26:18 +0200 Subject: [PATCH 17/47] new profiles for bigger nozzles, changed some cooling settings according to prusaslicer --- .../filament/Prusa Generic ABS @MINIIS.json | 11 +++- .../filament/Prusa Generic ASA @MINIIS.json | 11 +++- .../filament/Prusa Generic PA @MINIIS.json | 30 ++++++++++ .../filament/Prusa Generic PA-CF @MINIIS.json | 33 ++++++++++ .../Prusa/filament/Prusa Generic PA.json | 6 +- .../filament/Prusa Generic PC @MINIIS.json | 24 ++++++++ .../Prusa/filament/Prusa Generic PC.json | 29 +++++---- .../Prusa Generic PETG @MINIIS 0.6.json | 60 +++++++++++++++++++ .../Prusa Generic PETG @MINIIS 0.8.json | 60 +++++++++++++++++++ .../filament/Prusa Generic PETG @MINIIS.json | 16 +++-- .../Prusa Generic PLA @MINIIS 0.6.json | 24 ++++++++ .../Prusa Generic PLA @MINIIS 0.8.json | 24 ++++++++ .../filament/Prusa Generic PLA @MINIIS.json | 8 +-- .../Prusa Generic PLA-CF @MINIIS 0.6.json | 27 +++++++++ .../Prusa Generic PLA-CF @MINIIS 0.8.json | 27 +++++++++ .../Prusa Generic PLA-CF @MINIIS.json | 28 +++++++++ .../Prusa/filament/Prusa Generic PLA-CF.json | 6 +- .../filament/Prusa Generic PVA @MINIIS.json | 30 ++++++++++ .../Prusa/filament/Prusa Generic PVA.json | 6 +- 19 files changed, 418 insertions(+), 42 deletions(-) create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json index 1eae409695..e047366f4c 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -7,11 +7,20 @@ "instantiation": "true", "inherits": "fdm_filament_abs", "filament_flow_ratio": [ - "0.926" + "1" ], "filament_max_volumetric_speed": [ "10" ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], "filament_start_gcode": [ "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json index a708546480..32bf7ee7ca 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -7,11 +7,20 @@ "instantiation": "true", "inherits": "fdm_filament_asa", "filament_flow_ratio": [ - "0.93" + "1" ], "filament_max_volumetric_speed": [ "10" ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], "filament_start_gcode": [ "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json new file mode 100644 index 0000000000..bf959c4ffa --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "filament_id": "GFN99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json new file mode 100644 index 0000000000..d5d82052f8 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json @@ -0,0 +1,33 @@ +{ + "type": "filament", + "filament_id": "GFN98_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA.json b/resources/profiles/Prusa/filament/Prusa Generic PA.json index c92b0a981e..f1507270b5 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PA.json @@ -27,10 +27,6 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MK4 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json new file mode 100644 index 0000000000..e884f06f35 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFC99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "1" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC.json b/resources/profiles/Prusa/filament/Prusa Generic PC.json index 0c232ec272..792e6ad0a6 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC.json @@ -7,10 +7,25 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "12" + "7" ], "filament_flow_ratio": [ - "0.94" + "1" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "0" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" ], "compatible_printers": [ "Prusa MK3S 0.25 nozzle", @@ -20,14 +35,6 @@ "Prusa MINI 0.25 nozzle", "Prusa MINI 0.4 nozzle", "Prusa MINI 0.6 nozzle", - "Prusa MINI 0.8 nozzle", - "Prusa MK4 0.25 nozzle", - "Prusa MK4 0.4 nozzle", - "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINI 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json new file mode 100644 index 0000000000..e6c0f39063 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "filament_id": "GFG99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "17" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json new file mode 100644 index 0000000000..85546c3b93 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json @@ -0,0 +1,60 @@ +{ + "type": "filament", + "filament_id": "GFG99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "20" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json index 4f56ee10a4..61ddc2e7a3 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -1,6 +1,6 @@ { "type": "filament", - "filament_id": "GFG99_1", + "filament_id": "GFG99_2", "setting_id": "GFSA04", "name": "Prusa Generic PETG @MINIIS", "from": "system", @@ -16,25 +16,25 @@ "30" ], "overhang_fan_speed": [ - "90" + "50" ], "overhang_fan_threshold": [ "25%" ], "fan_max_speed": [ - "90" + "50" ], "fan_min_speed": [ - "40" + "30" ], "slow_down_min_speed": [ "10" ], "slow_down_layer_time": [ - "8" + "10" ], "filament_flow_ratio": [ - "0.95" + "1" ], "nozzle_temperature": [ "240" @@ -56,8 +56,6 @@ ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.25 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json new file mode 100644 index 0000000000..64a417abc6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFL99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "12" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json new file mode 100644 index 0000000000..be4a0069f5 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json @@ -0,0 +1,24 @@ +{ + "type": "filament", + "filament_id": "GFL99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json index 45ab0c1812..2214ef0d4f 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json @@ -7,21 +7,19 @@ "instantiation": "true", "inherits": "fdm_filament_pla", "filament_flow_ratio": [ - "0.98" + "1" ], "filament_max_volumetric_speed": [ "14" ], "slow_down_layer_time": [ - "8" + "10" ], "filament_start_gcode": [ "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.25 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json new file mode 100644 index 0000000000..18751a285c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "filament_id": "GFL98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "12" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json new file mode 100644 index 0000000000..755d031ae8 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json @@ -0,0 +1,27 @@ +{ + "type": "filament", + "filament_id": "GFL98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "15" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json new file mode 100644 index 0000000000..5cd0692aca --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL98_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json index 4461005ad3..a167d5683f 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF.json @@ -30,10 +30,6 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MK4 0.8 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json new file mode 100644 index 0000000000..05dc8de166 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "filament_id": "GFS99_1", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" + ], + "compatible_printers": [ + "Prusa MINIIS 0.4 nozzle", + "Prusa MINIIS 0.25 nozzle", + "Prusa MINIIS 0.6 nozzle", + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA.json b/resources/profiles/Prusa/filament/Prusa Generic PVA.json index ee80f6c637..2c0e2017e3 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PVA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA.json @@ -30,10 +30,6 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MK4 0.8 nozzle" ] } From f96696596ab02c674a5365d801eb6937caee88b5 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 29 Apr 2024 22:16:47 +0200 Subject: [PATCH 18/47] profiles for different nozzles sizes, better speed settings --- resources/profiles/Prusa.json | 57 ++++++++++++++++++- .../profiles/Prusa/machine/Prusa MINIIS.json | 2 +- .../Prusa/process/0.15mm Speed @MINIIS.json | 2 +- .../process/0.15mm Standard @MINIIS 0.25.json | 27 +++++++++ .../process/0.15mm Standard @MINIIS 0.6.json | 34 +++++++++++ .../process/0.15mm Standard @MINIIS.json | 26 +++++---- .../process/0.20mm Speed @MINIIS 0.6.json | 3 +- .../process/0.20mm Standard @MINIIS 0.6.json | 24 ++++++++ .../process/0.20mm Standard @MINIIS.json | 3 +- .../Prusa/process/0.25mm Speed @MINIIS.json | 2 + .../process/0.25mm Standard @MINIIS.json | 1 + .../Prusa/process/0.30mm Detail @MINIIS.json | 1 + .../process/0.35mm Standard @MINIIS.json | 2 + .../process/0.40mm Standard @MINIIS.json | 1 + .../Prusa/process/process_common_miniis.json | 3 +- 15 files changed, 166 insertions(+), 22 deletions(-) create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 6762532a1a..64adea160a 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -190,6 +190,17 @@ "name": "0.15mm Standard @MINIIS", "sub_path": "process/0.15mm Standard @MINIIS.json" }, + { + + "name": "0.15mm Standard @MINIIS 0.6", + "sub_path": "process/0.15mm Standard @MINIIS 0.6.json" + }, + { + + "name": "0.15mm Standard @MINIIS 0.25", + "sub_path": "process/0.15mm Standard @MINIIS 0.25.json" + }, + { "name": "0.15mm Speed @MINIIS", @@ -200,15 +211,23 @@ "name": "0.20mm Standard @MINIIS", "sub_path": "process/0.20mm Standard @MINIIS.json" }, + { + + "name": "0.20mm Standard @MINIIS 0.6", + "sub_path": "process/0.20mm Standard @MINIIS 0.6.json" + }, { "name": "0.20mm Speed @MINIIS", "sub_path": "process/0.20mm Speed @MINIIS.json" }, { - "name": "0.20mm Speed @MINIIS 0.6", - "sub_path": "process/0.20mm Speed @MINIIS 0.6.json" - }, + + "name": "0.20mm Speed @MINIIS 0.6", + "sub_path": "process/0.20mm Speed @MINIIS 0.6.json" + }, + + { "name": "0.25mm Standard @MINIIS", @@ -305,6 +324,14 @@ "name": "Prusa Generic PLA @MK4", "sub_path": "filament/Prusa Generic PLA @MK4.json" }, + { + "name": "Prusa Generic PLA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PLA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PLA @MINIIS", "sub_path": "filament/Prusa Generic PLA @MINIIS.json" @@ -313,6 +340,10 @@ "name": "Prusa Generic PLA-CF", "sub_path": "filament/Prusa Generic PLA-CF.json" }, + { + "name": "Prusa Generic PLA-CF @MINIIS", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS.json" + }, { "name": "Prusa Generic PETG", "sub_path": "filament/Prusa Generic PETG.json" @@ -325,6 +356,14 @@ "name": "Prusa Generic PETG @MINIIS", "sub_path": "filament/Prusa Generic PETG @MINIIS.json" }, + { + "name": "Prusa Generic PETG @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PETG @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.8.json" + }, { "name": "Prusa Generic ABS", "sub_path": "filament/Prusa Generic ABS.json" @@ -365,6 +404,10 @@ "name": "Prusa Generic PC", "sub_path": "filament/Prusa Generic PC.json" }, + { + "name": "Prusa Generic PC @MINIIS", + "sub_path": "filament/Prusa Generic PC @MINIIS.json" + }, { "name": "Prusa Generic PVA", "sub_path": "filament/Prusa Generic PVA.json" @@ -373,9 +416,17 @@ "name": "Prusa Generic PA", "sub_path": "filament/Prusa Generic PA.json" }, + { + "name": "Prusa Generic PA @MINIIS", + "sub_path": "filament/Prusa Generic PA @MINIIS.json" + }, { "name": "Prusa Generic PA-CF", "sub_path": "filament/Prusa Generic PA-CF.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS.json" } ], "machine_list": [ diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS.json b/resources/profiles/Prusa/machine/Prusa MINIIS.json index 0786441dcd..5735ad018c 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS.json @@ -8,5 +8,5 @@ "bed_model": "miniis_bed.stl", "bed_texture": "miniis.svg", "hotend_model": "", - "default_materials": "Prusa Generic PLA-CF;Prusa Generic PC;Prusa Generic PVA;Prusa Generic PA;Prusa Generic PA-CF;Prusa Generic ABS @MINIIS;Prusa Generic PLA @MINIIS;Prusa Generic PETG @MINIIS;Prusa Generic TPU @MINIIS;Prusa Generic ASA @MINIIS;" + "default_materials": "Prusa Generic PLA-CF @MINIIS;Prusa Generic PC @MINIIS;Prusa Generic PVA @MINIIS;Prusa Generic PA @MINIIS;Prusa Generic PA-CF @MINIIS;Prusa Generic ABS @MINIIS;Prusa Generic PLA @MINIIS;Prusa Generic PLA @MINIIS 0.6;Prusa Generic PLA @MINIIS 0.8;Prusa Generic PETG @MINIIS;Prusa Generic PETG @MINIIS 0.6;Prusa Generic PETG @MINIIS 0.8;Prusa Generic TPU @MINIIS;Prusa Generic ASA @MINIIS;" } diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index fba5d501b4..8a0e9bc683 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -5,7 +5,7 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", - "layer_height": "0.12", + "layer_height": "0.15", "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "5", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json new file mode 100644 index 0000000000..425cdbd0d0 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "layer_height": "0.15", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "40", + "inner_wall_speed": "70", + "top_surface_speed": "40", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json new file mode 100644 index 0000000000..6a4dbd2f30 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json @@ -0,0 +1,34 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "45", + "inner_wall_speed": "70", + "top_surface_speed": "70", + "sparse_infill_speed": "140", + "bridge_speed": "40", + "gap_infill_speed": "80", + "internal_solid_infill_speed": "140", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json index d4485f483c..a56b8b70e0 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json @@ -5,25 +5,27 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", - "layer_height": "0.12", - "initial_layer_print_height": "0.15", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "4", - "outer_wall_speed": "40", - "inner_wall_speed": "70", - "top_surface_speed": "40", - "sparse_infill_speed": "100", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "top_surface_speed": "45", + "sparse_infill_speed": "110", "bridge_speed": "25", - "internal_solid_infill_speed": "140", - "sparse_infill_acceleration": "2500", - "internal_solid_infill_acceleration": "2500", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json index 065455543b..6c5f537956 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -16,11 +16,12 @@ "top_surface_speed": "70", "gap_infill_speed": "80", "bridge_speed": "40", + "travel_speed": "300", "initial_layer_acceleration": "500", "top_surface_acceleration": "1500", "inner_wall_acceleration": "2500", "outer_wall_acceleration": "2000", "bridge_acceleration": "1500", - "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", "overhang_1_4_speed": "45" } diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json new file mode 100644 index 0000000000..5a1913d8e7 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json @@ -0,0 +1,24 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_miniis", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45", + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json index 8984d059d1..bcd7157635 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json @@ -6,7 +6,6 @@ "instantiation": "true", "inherits": "process_common_miniis", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.6 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index 1b8cb9efd0..570cfe8bea 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -19,6 +19,8 @@ "gap_infill_speed": "60", "support_speed": "80", "overhang_1_4_speed": "45", + "travel_speed": "300", + "internal_solid_infill_acceleration": "3000", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index 66964b9cf7..685a7d5438 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -19,6 +19,7 @@ "top_surface_speed": "60", "gap_infill_speed": "60", "support_speed": "80", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json index 54fb85f6cd..664e2c1350 100644 --- a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -11,6 +11,7 @@ "top_shell_layers": "3", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "2", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index ebc6ffcb3e..51bad6759f 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -6,6 +6,7 @@ "instantiation": "true", "inherits": "process_common_miniis", "initial_layer_print_height": "0.2", + "layer_height": "0.35", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", @@ -19,6 +20,7 @@ "internal_solid_infill_speed": "60", "top_surface_speed": "55", "gap_infill_speed": "45", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index 26edf2b36d..c5b618260a 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -21,6 +21,7 @@ "internal_solid_infill_speed": "40", "top_surface_speed": "35", "gap_infill_speed": "35", + "travel_speed": "300", "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 840de1deb9..5416f7915a 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -50,6 +50,5 @@ "enable_arc_fitting": "1", "support_speed": "100", "precise_outer_wall": "1", - "overhang_reverse": "1", - "wall_sequence": "inner-outer-inner wall" + "overhang_reverse": "1" } \ No newline at end of file From 5c2d3c911218b8b3cd3fb732d2248d470a0456cb Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 29 Apr 2024 22:20:51 +0200 Subject: [PATCH 19/47] initial layer height was wrong --- .../profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json index 425cdbd0d0..af926d3a61 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json @@ -6,7 +6,7 @@ "instantiation": "true", "inherits": "process_detail_miniis", "layer_height": "0.15", - "initial_layer_print_height": "0.15", + "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", From f74ae0ed56ac467151cf6ec7342a1325d31960cf Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 29 Apr 2024 22:23:43 +0200 Subject: [PATCH 20/47] wrong initial layer height --- resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index 8a0e9bc683..5373e2a517 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -6,7 +6,7 @@ "instantiation": "true", "inherits": "process_detail_miniis", "layer_height": "0.15", - "initial_layer_print_height": "0.15", + "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", From 026ba7330ec08bc086cb6ef022efed3f6d6cab9c Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 29 Apr 2024 22:27:22 +0200 Subject: [PATCH 21/47] set the correct accelerations --- .../profiles/Prusa/process/0.40mm Standard @MINIIS.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index c5b618260a..586511d4e6 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -22,6 +22,15 @@ "top_surface_speed": "35", "gap_infill_speed": "35", "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1000", "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] From 3619c1efed977cd8796cdd53328db3b8335aaf5b Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 2 May 2024 15:04:30 +0200 Subject: [PATCH 22/47] changed firmware version number --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 2457711175..d5fa1be640 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U5.1.2+13478\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 6.0.0+14794\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", From 2c50705e33d525b06bebf2172aab1d5a8b683b11 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 2 May 2024 20:23:23 +0200 Subject: [PATCH 23/47] using pressure advance UI setting instead of custom filament g-code --- resources/profiles/Prusa.json | 80 +++++++++++++++++++ .../Prusa Generic ABS @MINIIS 0.25.json | 34 ++++++++ .../Prusa Generic ABS @MINIIS 0.6.json | 34 ++++++++ .../Prusa Generic ABS @MINIIS 0.8.json | 34 ++++++++ .../filament/Prusa Generic ABS @MINIIS.json | 13 +-- .../Prusa Generic ASA @MINIIS 0.25.json | 34 ++++++++ .../Prusa Generic ASA @MINIIS 0.6.json | 34 ++++++++ .../Prusa Generic ASA @MINIIS 0.8.json | 34 ++++++++ .../filament/Prusa Generic ASA @MINIIS.json | 13 +-- .../Prusa Generic PA @MINIIS 0.25.json | 31 +++++++ .../Prusa Generic PA @MINIIS 0.6.json | 31 +++++++ .../Prusa Generic PA @MINIIS 0.8.json | 31 +++++++ .../filament/Prusa Generic PA @MINIIS.json | 15 ++-- .../Prusa Generic PA-CF @MINIIS 0.25.json | 34 ++++++++ .../Prusa Generic PA-CF @MINIIS 0.6.json | 34 ++++++++ .../Prusa Generic PA-CF @MINIIS 0.8.json | 34 ++++++++ .../filament/Prusa Generic PA-CF @MINIIS.json | 13 +-- .../Prusa Generic PC @MINIIS 0.25.json | 25 ++++++ .../Prusa Generic PC @MINIIS 0.6.json | 25 ++++++ .../Prusa Generic PC @MINIIS 0.8.json | 25 ++++++ .../filament/Prusa Generic PC @MINIIS.json | 13 +-- .../Prusa Generic PETG @MINIIS 0.25.json | 64 +++++++++++++++ .../Prusa Generic PETG @MINIIS 0.6.json | 8 +- .../Prusa Generic PETG @MINIIS 0.8.json | 8 +- .../filament/Prusa Generic PETG @MINIIS.json | 11 ++- .../Prusa Generic PLA @MINIIS 0.25.json | 28 +++++++ .../Prusa Generic PLA @MINIIS 0.6.json | 8 +- .../Prusa Generic PLA @MINIIS 0.8.json | 8 +- .../filament/Prusa Generic PLA @MINIIS.json | 11 ++- .../Prusa Generic PLA-CF @MINIIS 0.25.json | 31 +++++++ .../Prusa Generic PLA-CF @MINIIS 0.6.json | 8 +- .../Prusa Generic PLA-CF @MINIIS 0.8.json | 8 +- .../Prusa Generic PLA-CF @MINIIS.json | 11 ++- .../Prusa Generic PVA @MINIIS 0.25.json | 31 +++++++ .../Prusa Generic PVA @MINIIS 0.6.json | 31 +++++++ .../Prusa Generic PVA @MINIIS 0.8.json | 31 +++++++ .../filament/Prusa Generic PVA @MINIIS.json | 12 +-- .../filament/Prusa Generic TPU @MINIIS.json | 6 +- 38 files changed, 872 insertions(+), 64 deletions(-) create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 64adea160a..e485104610 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -324,6 +324,10 @@ "name": "Prusa Generic PLA @MK4", "sub_path": "filament/Prusa Generic PLA @MK4.json" }, + { + "name": "Prusa Generic PLA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PLA @MINIIS 0.25.json" + }, { "name": "Prusa Generic PLA @MINIIS 0.6", "sub_path": "filament/Prusa Generic PLA @MINIIS 0.6.json" @@ -344,6 +348,18 @@ "name": "Prusa Generic PLA-CF @MINIIS", "sub_path": "filament/Prusa Generic PLA-CF @MINIIS.json" }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PLA-CF @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PLA-CF @MINIIS 0.8.json" + }, { "name": "Prusa Generic PETG", "sub_path": "filament/Prusa Generic PETG.json" @@ -356,6 +372,10 @@ "name": "Prusa Generic PETG @MINIIS", "sub_path": "filament/Prusa Generic PETG @MINIIS.json" }, + { + "name": "Prusa Generic PETG @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PETG @MINIIS 0.25.json" + }, { "name": "Prusa Generic PETG @MINIIS 0.6", "sub_path": "filament/Prusa Generic PETG @MINIIS 0.6.json" @@ -376,6 +396,18 @@ "name": "Prusa Generic ABS @MINIIS", "sub_path": "filament/Prusa Generic ABS @MINIIS.json" }, + { + "name": "Prusa Generic ABS @MINIIS 0.25", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic ABS @MINIIS 0.6", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic ABS @MINIIS 0.8", + "sub_path": "filament/Prusa Generic ABS @MINIIS 0.8.json" + }, { "name": "Prusa Generic TPU", "sub_path": "filament/Prusa Generic TPU.json" @@ -400,6 +432,18 @@ "name": "Prusa Generic ASA @MINIIS", "sub_path": "filament/Prusa Generic ASA @MINIIS.json" }, + { + "name": "Prusa Generic ASA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic ASA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic ASA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic ASA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PC", "sub_path": "filament/Prusa Generic PC.json" @@ -408,6 +452,18 @@ "name": "Prusa Generic PC @MINIIS", "sub_path": "filament/Prusa Generic PC @MINIIS.json" }, + { + "name": "Prusa Generic PC @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PC @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PC @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PC @MINIIS 0.8.json" + }, { "name": "Prusa Generic PVA", "sub_path": "filament/Prusa Generic PVA.json" @@ -420,6 +476,18 @@ "name": "Prusa Generic PA @MINIIS", "sub_path": "filament/Prusa Generic PA @MINIIS.json" }, + { + "name": "Prusa Generic PA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PA @MINIIS 0.8.json" + }, { "name": "Prusa Generic PA-CF", "sub_path": "filament/Prusa Generic PA-CF.json" @@ -427,6 +495,18 @@ { "name": "Prusa Generic PA-CF @MINIIS", "sub_path": "filament/Prusa Generic PA-CF @MINIIS.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.25.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.6.json" + }, + { + "name": "Prusa Generic PA-CF @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.8.json" } ], "machine_list": [ diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json new file mode 100644 index 0000000000..f745f0a598 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json new file mode 100644 index 0000000000..16a29adf04 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json new file mode 100644 index 0000000000..fa19460110 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic ABS @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_abs", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json index e047366f4c..dc9cda73db 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -21,13 +21,14 @@ "slow_down_layer_time": [ "20" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json new file mode 100644 index 0000000000..b4cfcf9f74 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB98_5", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json new file mode 100644 index 0000000000..5084675925 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json new file mode 100644 index 0000000000..4000cd9b1e --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFB98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic ASA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_asa", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "10" + ], + "fan_max_speed": [ + "15" + ], + "fan_min_speed": [ + "15" + ], + "slow_down_layer_time": [ + "20" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json index 32bf7ee7ca..4a657c99e9 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -21,13 +21,14 @@ "slow_down_layer_time": [ "20" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json new file mode 100644 index 0000000000..b6576cc0d1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json new file mode 100644 index 0000000000..bdb64a4a8b --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json new file mode 100644 index 0000000000..2075ae25ed --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFN99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "pressure_advance": [ + "0.07" + ], + "enable_pressure_advance": [ + "1" + ], + "filament_max_volumetric_speed": [ + "8" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json index bf959c4ffa..ff8c622dec 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PA @MINIIS.json @@ -15,16 +15,17 @@ "nozzle_temperature": [ "280" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" - ], "filament_max_volumetric_speed": [ "8" ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json new file mode 100644 index 0000000000..68b628210d --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.25.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "1.02" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json new file mode 100644 index 0000000000..f19a1545d6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.6.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.22" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json new file mode 100644 index 0000000000..c4dbec0528 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS 0.8.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "filament_id": "GFN98_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PA-CF @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pa", + "filament_type": [ + "PA-CF" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature_initial_layer": [ + "280" + ], + "nozzle_temperature": [ + "280" + ], + "filament_max_volumetric_speed": [ + "8" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.15" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json index d5d82052f8..a0a6b78914 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PA-CF @MINIIS.json @@ -21,13 +21,14 @@ "filament_max_volumetric_speed": [ "8" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.36" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json new file mode 100644 index 0000000000..c9a80d3c11 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json new file mode 100644 index 0000000000..151ce48a33 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json new file mode 100644 index 0000000000..57815bc5a3 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json @@ -0,0 +1,25 @@ +{ + "type": "filament", + "filament_id": "GFC99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PC @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pc", + "filament_max_volumetric_speed": [ + "12" + ], + "filament_flow_ratio": [ + "1" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json index e884f06f35..210645e0a5 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json @@ -12,13 +12,14 @@ "filament_flow_ratio": [ "1" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.19" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json new file mode 100644 index 0000000000..8090554d09 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.25.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "filament_id": "GFG99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PETG @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pet", + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_cooling_layer_time": [ + "30" + ], + "overhang_fan_speed": [ + "50" + ], + "overhang_fan_threshold": [ + "25%" + ], + "fan_max_speed": [ + "50" + ], + "fan_min_speed": [ + "30" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "10" + ], + "filament_flow_ratio": [ + "1" + ], + "nozzle_temperature": [ + "240" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "hot_plate_temp": [ + "85" + ], + "hot_plate_temp_initial_layer": [ + "85" + ], + "filament_max_volumetric_speed": [ + "9" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "1.02" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json index e6c0f39063..8dad5b26e8 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.6.json @@ -51,9 +51,13 @@ "filament_max_volumetric_speed": [ "9" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.22" + ], + "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json index 85546c3b93..8829ea6f8f 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS 0.8.json @@ -51,9 +51,13 @@ "filament_max_volumetric_speed": [ "9" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.15" + ], + "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json index 61ddc2e7a3..e9b57ebada 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MINIIS.json @@ -51,11 +51,14 @@ "filament_max_volumetric_speed": [ "9" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.22{elsif nozzle_diameter[0]==0.8}0.15{elsif nozzle_diameter[0]==0.4}0.36{elsif nozzle_diameter[0]==0.25}1.02{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.4" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json new file mode 100644 index 0000000000..9df6c863c0 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.25.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "filament_id": "GFL99_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "14" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.85" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json index 64a417abc6..667c98c801 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.6.json @@ -15,9 +15,13 @@ "slow_down_layer_time": [ "12" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.17" + ], + "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json index be4a0069f5..711b271b1c 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS 0.8.json @@ -15,9 +15,13 @@ "slow_down_layer_time": [ "15" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.12" + ], + "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json index 2214ef0d4f..2ac1386e71 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MINIIS.json @@ -15,11 +15,14 @@ "slow_down_layer_time": [ "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.27" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json new file mode 100644 index 0000000000..929fe26671 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFL98_5", + "setting_id": "GFSA04", + "name": "Prusa Generic PLA-CF @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": [ + "1" + ], + "filament_type": [ + "PLA-CF" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "slow_down_layer_time": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.85" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json index 18751a285c..cee0363300 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.6.json @@ -18,9 +18,13 @@ "slow_down_layer_time": [ "12" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.17" + ], + "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json index 755d031ae8..1bfce10352 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS 0.8.json @@ -18,9 +18,13 @@ "slow_down_layer_time": [ "15" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.12" + ], + "compatible_printers": [ "Prusa MINIIS 0.8 nozzle" ] diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json index 5cd0692aca..24559261d9 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MINIIS.json @@ -18,11 +18,14 @@ "slow_down_layer_time": [ "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.17{elsif nozzle_diameter[0]==0.8}0.12{elsif nozzle_diameter[0]==0.4}0.27{elsif nozzle_diameter[0]==0.25}0.85{else}0{endif}" + "enable_pressure_advance": [ + "1" ], + "pressure_advance": [ + "0.27" + ], + "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json new file mode 100644 index 0000000000..bbbc4a6aa9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.25.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_4", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.55" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json new file mode 100644 index 0000000000..d9f64abbed --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.6.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_2", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.6", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.1" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.6 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json new file mode 100644 index 0000000000..5e0055a5fb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS 0.8.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "filament_id": "GFS99_3", + "setting_id": "GFSA04", + "name": "Prusa Generic PVA @MINIIS 0.8", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pva", + "filament_flow_ratio": [ + "1" + ], + "filament_max_volumetric_speed": [ + "4" + ], + "slow_down_layer_time": [ + "7" + ], + "slow_down_min_speed": [ + "10" + ], + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.07" + ], + + "compatible_printers": [ + "Prusa MINIIS 0.8 nozzle" + ] +} diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json index 05dc8de166..164b717964 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA @MINIIS.json @@ -18,13 +18,13 @@ "slow_down_min_speed": [ "10" ], - "filament_start_gcode": [ - "M572 S{if nozzle_diameter[0]==0.6}0.1{elsif nozzle_diameter[0]==0.8}0.07{elsif nozzle_diameter[0]==0.4}0.19{elsif nozzle_diameter[0]==0.25}0.55{else}0{endif}{endif}" + "enable_pressure_advance": [ + "1" + ], + "pressure_advance": [ + "0.19" ], "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json index b79f4ae870..b9214b3031 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MINIIS.json @@ -12,9 +12,6 @@ "filament_flow_ratio": [ "1.15" ], - "filament_start_gcode": [ - "M900 K0 ; Filament gcode" - ], "hot_plate_temp" : [ "50" ], @@ -83,6 +80,9 @@ ], "support_material_interface_fan_speed": [ "-1" + ], + "pressure_advance": [ + "0" ], "compatible_printers": [ "Prusa MINIIS 0.4 nozzle", From 5a56215b54d5fde930c3a5ec03648b27db23f266 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Fri, 3 May 2024 20:32:17 +0200 Subject: [PATCH 24/47] Update Prusa Generic PC.json --- resources/profiles/Prusa/filament/Prusa Generic PC.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC.json b/resources/profiles/Prusa/filament/Prusa Generic PC.json index 792e6ad0a6..338aaaa4dc 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC.json @@ -32,6 +32,10 @@ "Prusa MK3S 0.4 nozzle", "Prusa MK3S 0.6 nozzle", "Prusa MK3S 0.8 nozzle", + "Prusa MK4 0.25 nozzle", + "Prusa MK4 0.4 nozzle", + "Prusa MK4 0.6 nozzle", + "Prusa MK4 0.8 nozzle", "Prusa MINI 0.25 nozzle", "Prusa MINI 0.4 nozzle", "Prusa MINI 0.6 nozzle", From 61d680e2a6b436a0008bae28299dc83f7f9d9c47 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner <36260775+koppensb@users.noreply.github.com> Date: Fri, 3 May 2024 20:33:50 +0200 Subject: [PATCH 25/47] Update Prusa Generic PC.json --- resources/profiles/Prusa/filament/Prusa Generic PC.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC.json b/resources/profiles/Prusa/filament/Prusa Generic PC.json index 338aaaa4dc..b1821e1d4d 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC.json @@ -7,10 +7,10 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "7" + "12" ], "filament_flow_ratio": [ - "1" + "0.94" ], "eng_plate_temp" : [ "100" From 335c1713b36af72b4c8321f9002a4e04b2345fd5 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 3 May 2024 23:53:27 +0200 Subject: [PATCH 26/47] changed max flow for PC --- .../profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json | 2 +- .../profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json | 2 +- .../profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json | 2 +- resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json index c9a80d3c11..e1ca18d3ae 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.25.json @@ -7,7 +7,7 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "12" + "7" ], "filament_flow_ratio": [ "1" diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json index 151ce48a33..2636f59ea3 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.6.json @@ -7,7 +7,7 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "12" + "7" ], "filament_flow_ratio": [ "1" diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json index 57815bc5a3..e7bac7b4eb 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS 0.8.json @@ -7,7 +7,7 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "12" + "7" ], "filament_flow_ratio": [ "1" diff --git a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json index 210645e0a5..3dadd23764 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PC @MINIIS.json @@ -7,7 +7,7 @@ "instantiation": "true", "inherits": "fdm_filament_pc", "filament_max_volumetric_speed": [ - "12" + "7" ], "filament_flow_ratio": [ "1" From 85a1ed676e77a1b159173504ddd06ce5fd08f39d Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 3 May 2024 23:57:31 +0200 Subject: [PATCH 27/47] added PVA filament profiles --- resources/profiles/Prusa.json | 16 ++++++++++++++++ .../Prusa/filament/Prusa Generic PVA.json | 6 +----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index e485104610..917c90a113 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -468,6 +468,22 @@ "name": "Prusa Generic PVA", "sub_path": "filament/Prusa Generic PVA.json" }, + { + "name": "Prusa Generic PVA @MINIIS", + "sub_path": "filament/Prusa Generic PVA.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.25", + "sub_path": "filament/Prusa Generic PVA.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.6", + "sub_path": "filament/Prusa Generic PVA.json" + }, + { + "name": "Prusa Generic PVA @MINIIS 0.8", + "sub_path": "filament/Prusa Generic PVA.json" + }, { "name": "Prusa Generic PA", "sub_path": "filament/Prusa Generic PA.json" diff --git a/resources/profiles/Prusa/filament/Prusa Generic PVA.json b/resources/profiles/Prusa/filament/Prusa Generic PVA.json index ee80f6c637..2c0e2017e3 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic PVA.json +++ b/resources/profiles/Prusa/filament/Prusa Generic PVA.json @@ -30,10 +30,6 @@ "Prusa MK4 0.25 nozzle", "Prusa MK4 0.4 nozzle", "Prusa MK4 0.6 nozzle", - "Prusa MK4 0.8 nozzle", - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle", - "Prusa MINIIS 0.6 nozzle", - "Prusa MINIIS 0.8 nozzle" + "Prusa MK4 0.8 nozzle" ] } From 12eeb85feb0fe7b760fe541f83f2f108507700fb Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 4 May 2024 00:00:57 +0200 Subject: [PATCH 28/47] bug fix in filament loading --- resources/profiles/Prusa.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 917c90a113..c034004c9d 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -470,19 +470,19 @@ }, { "name": "Prusa Generic PVA @MINIIS", - "sub_path": "filament/Prusa Generic PVA.json" + "sub_path": "filament/Prusa Generic PVA @MINIIS.json" }, { "name": "Prusa Generic PVA @MINIIS 0.25", - "sub_path": "filament/Prusa Generic PVA.json" + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.25.json" }, { "name": "Prusa Generic PVA @MINIIS 0.6", - "sub_path": "filament/Prusa Generic PVA.json" + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.6.json" }, { "name": "Prusa Generic PVA @MINIIS 0.8", - "sub_path": "filament/Prusa Generic PVA.json" + "sub_path": "filament/Prusa Generic PVA @MINIIS 0.8.json" }, { "name": "Prusa Generic PA", From c7683ae61419d43ce1e5742d890d5f9a02c9b637 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sun, 5 May 2024 20:09:00 +0200 Subject: [PATCH 29/47] changed line width according to prusa slicer --- resources/profiles/Prusa.json | 5 +++ .../Prusa/process/0.05mm Detail @MINIIS.json | 8 +++++ .../Prusa/process/0.07mm Detail @MINIIS.json | 8 +++++ .../Prusa/process/0.10mm Speed @MINIIS.json | 8 +++++ .../Prusa/process/0.12mm Speed @MINIIS.json | 8 +++++ .../process/0.12mm Standard @MINIIS.json | 8 +++++ .../process/0.15mm Speed @MINIIS 0.25.json | 35 +++++++++++++++++++ .../Prusa/process/0.15mm Speed @MINIIS.json | 11 ++++-- .../process/0.15mm Standard @MINIIS 0.25.json | 8 +++++ .../process/0.15mm Standard @MINIIS 0.6.json | 8 +++++ .../process/0.15mm Standard @MINIIS.json | 8 +++++ .../process/0.20mm Speed @MINIIS 0.6.json | 8 +++++ .../Prusa/process/0.20mm Speed @MINIIS.json | 10 +++++- .../process/0.20mm Standard @MINIIS 0.6.json | 8 +++++ .../process/0.20mm Standard @MINIIS.json | 10 +++++- .../Prusa/process/0.25mm Speed @MINIIS.json | 8 +++++ .../process/0.25mm Standard @MINIIS.json | 8 +++++ .../Prusa/process/0.30mm Detail @MINIIS.json | 8 +++++ .../process/0.35mm Standard @MINIIS.json | 8 +++++ .../process/0.40mm Standard @MINIIS.json | 8 +++++ 20 files changed, 187 insertions(+), 4 deletions(-) create mode 100644 resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index c034004c9d..1a7cf4e465 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -206,6 +206,11 @@ "name": "0.15mm Speed @MINIIS", "sub_path": "process/0.15mm Speed @MINIIS.json" }, + { + + "name": "0.15mm Speed @MINIIS 0.25", + "sub_path": "process/0.15mm Speed @MINIIS 0.25.json" + }, { "name": "0.20mm Standard @MINIIS", diff --git a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json index ce05b68662..bc1222ce36 100644 --- a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", "layer_height": "0.05", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json index c22b0d24c2..575a23a674 100644 --- a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", "layer_height": "0.07", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json index 40076038c9..220e8c33d6 100644 --- a/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.10mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_speed_miniis", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.4", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", "bridge_speed": "35", "layer_height": "0.10", "initial_layer_print_height": "0.2", diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json index 2e77168ac0..2d2ee203ab 100644 --- a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json index 1a2cc01686..ffbd39268f 100644 --- a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", "layer_height": "0.12", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json new file mode 100644 index 0000000000..aa50d7e06e --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Speed @MINIIS 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "top_surface_speed": "120", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MINIIS 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json index 5373e2a517..14bce20a50 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", "layer_height": "0.15", "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", @@ -22,7 +30,6 @@ "inner_wall_acceleration": "2000", "outer_wall_acceleration": "1500", "compatible_printers": [ - "Prusa MINIIS 0.4 nozzle", - "Prusa MINIIS 0.25 nozzle" + "Prusa MINIIS 0.4 nozzle" ] } diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json index af926d3a61..d6e26a6a34 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", "layer_height": "0.15", "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json index 6a4dbd2f30..dca892dfcc 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.6", + "outer_wall_line_width": "0.6", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.6", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.6", + "support_line_width": "0.5", "layer_height": "0.15", "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json index a56b8b70e0..6d6abbfaf1 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", "layer_height": "0.15", "initial_layer_print_height": "0.20", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json index 6c5f537956..34f2125fa2 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -8,6 +8,14 @@ "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ], + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", "outer_wall_speed": "115", "inner_wall_speed": "115", "small_perimeter_speed": "115", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json index cf5c7333bb..18de123e5c 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS.json @@ -7,5 +7,13 @@ "inherits": "process_speed_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle" - ] + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json index 5a1913d8e7..70a388dc98 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", "sparse_infill_speed": "120", "internal_solid_infill_speed": "100", "top_surface_speed": "70", diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json index bcd7157635..7a1f1d1baf 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS.json @@ -7,5 +7,13 @@ "inherits": "process_common_miniis", "compatible_printers": [ "Prusa MINIIS 0.4 nozzle" - ] + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index 570cfe8bea..edb6a5430b 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_speed_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index 685a7d5438..d46e23e0ff 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json index 664e2c1350..80cda29acc 100644 --- a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.7", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", "layer_height": "0.3", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.7", diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index 51bad6759f..e3d12815f5 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.55", "initial_layer_print_height": "0.2", "layer_height": "0.35", "top_shell_thickness": "0.9", diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index 586511d4e6..3f2bd1d86a 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -5,6 +5,14 @@ "from": "system", "instantiation": "true", "inherits": "process_detail_miniis", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.75", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", "layer_height": "0.4", "initial_layer_print_height": "0.2", "top_shell_thickness": "1.2", From 7207731a857e0976993db6d354c35ab946087e36 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Tue, 7 May 2024 11:20:32 +0200 Subject: [PATCH 30/47] changed heatbed temperature for Minis capabilities --- .../Prusa Generic ABS @MINIIS 0.25.json | 18 ++++++++++++++++++ .../Prusa Generic ABS @MINIIS 0.6.json | 18 ++++++++++++++++++ .../Prusa Generic ABS @MINIIS 0.8.json | 18 ++++++++++++++++++ .../filament/Prusa Generic ABS @MINIIS.json | 18 ++++++++++++++++++ .../Prusa Generic ASA @MINIIS 0.25.json | 18 ++++++++++++++++++ .../Prusa Generic ASA @MINIIS 0.6.json | 18 ++++++++++++++++++ .../Prusa Generic ASA @MINIIS 0.8.json | 18 ++++++++++++++++++ .../filament/Prusa Generic ASA @MINIIS.json | 18 ++++++++++++++++++ 8 files changed, 144 insertions(+) diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json index f745f0a598..f1f91d3f78 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.25.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json index 16a29adf04..3ef1005948 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.6.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json index fa19460110..8a3fefe1b4 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS 0.8.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json index dc9cda73db..08495b61ac 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MINIIS.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json index b4cfcf9f74..577d06c5ea 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.25.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json index 5084675925..8d9c6edd6a 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.6.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json index 4000cd9b1e..6eff61395e 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS 0.8.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json index 4a657c99e9..5fd2131170 100644 --- a/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MINIIS.json @@ -9,6 +9,24 @@ "filament_flow_ratio": [ "1" ], + "cool_plate_temp" : [ + "100" + ], + "eng_plate_temp" : [ + "100" + ], + "hot_plate_temp" : [ + "100" + ], + "cool_plate_temp_initial_layer" : [ + "100" + ], + "eng_plate_temp_initial_layer" : [ + "100" + ], + "hot_plate_temp_initial_layer" : [ + "100" + ], "filament_max_volumetric_speed": [ "10" ], From b63c62911a6aba5e2123195edc29411e48c73878 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sun, 19 May 2024 13:38:38 +0200 Subject: [PATCH 31/47] set default support to snug --- resources/profiles/Prusa/process/process_common_miniis.json | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/profiles/Prusa/process/process_common_miniis.json b/resources/profiles/Prusa/process/process_common_miniis.json index 5416f7915a..72b54badce 100644 --- a/resources/profiles/Prusa/process/process_common_miniis.json +++ b/resources/profiles/Prusa/process/process_common_miniis.json @@ -49,6 +49,7 @@ "infill_wall_overlap": "10%", "enable_arc_fitting": "1", "support_speed": "100", + "support_style": "snug", "precise_outer_wall": "1", "overhang_reverse": "1" } \ No newline at end of file From d59187d7567c414b6ef20372ae56852cb2fe064d Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 24 May 2024 11:52:35 +0200 Subject: [PATCH 32/47] changed default filament setting to the correct value --- resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json | 2 +- resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json | 2 +- resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json index 97e63d54c0..d5123ae8d6 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.25 nozzle.json @@ -9,7 +9,7 @@ "printer_model": "MINIIS", "printer_variant": "0.25", "default_filament_profile": [ - "Prusa Generic PLA @MINIIS" + "Prusa Generic PLA @MINIIS 0.25" ], "default_print_profile": "0.12mm Standard @MINIIS", "nozzle_diameter": [ diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json index b3df3dff2b..65ccb3806d 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.6 nozzle.json @@ -9,7 +9,7 @@ "printer_model": "MINIIS", "printer_variant": "0.6", "default_filament_profile": [ - "Prusa Generic PLA @MINIIS" + "Prusa Generic PLA @MINIIS 0.6" ], "default_print_profile": "0.25mm Standard @MINIIS", "nozzle_diameter": [ diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json index c6c0fad3b9..933751aab2 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.8 nozzle.json @@ -9,7 +9,7 @@ "printer_model": "MINIIS", "printer_variant": "0.8", "default_filament_profile": [ - "Prusa Generic PLA @MINIIS" + "Prusa Generic PLA @MINIIS 0.8" ], "default_print_profile": "0.40mm Standard @MINIIS", "nozzle_diameter": [ From d9dfdbe557a4c9645f54d9cedf8462be78f2c799 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 24 May 2024 11:52:58 +0200 Subject: [PATCH 33/47] changed line with to the correct values according to prusaslicer profiles --- resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json | 4 ++-- resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json | 4 ++-- resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index edb6a5430b..1d4d2a3356 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -8,11 +8,11 @@ "line_width": "0.68", "inner_wall_line_width": "0.68", "outer_wall_line_width": "0.68", - "top_surface_line_width": "0.5", + "top_surface_line_width": "0.55", "sparse_infill_line_width": "0.68", "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.68", - "support_line_width": "0.55", + "support_line_width": "0.5", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index d46e23e0ff..b061ba7cc4 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -8,11 +8,11 @@ "line_width": "0.68", "inner_wall_line_width": "0.68", "outer_wall_line_width": "0.68", - "top_surface_line_width": "0.5", + "top_surface_line_width": "0.55", "sparse_infill_line_width": "0.68", "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.68", - "support_line_width": "0.55", + "support_line_width": "0.5", "layer_height": "0.25", "initial_layer_print_height": "0.2", "top_shell_thickness": "0.9", diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index e3d12815f5..4902e06b28 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -8,11 +8,11 @@ "line_width": "0.68", "inner_wall_line_width": "0.68", "outer_wall_line_width": "0.68", - "top_surface_line_width": "0.5", + "top_surface_line_width": "0.55", "sparse_infill_line_width": "0.68", "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.68", - "support_line_width": "0.55", + "support_line_width": "0.5", "initial_layer_print_height": "0.2", "layer_height": "0.35", "top_shell_thickness": "0.9", From b0bfa9165aec6f061532a23ddca22b01a87d6bc0 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Fri, 31 May 2024 19:56:58 +0200 Subject: [PATCH 34/47] Update Prusa MINIIS 0.4 nozzle.json updated firmware version --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index d5fa1be640..92a682efaa 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 6.0.0+14794\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", From b1c0b40fea4297b0228f94e0f5d3622f63af1fac Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 10 Jun 2024 07:52:55 +0200 Subject: [PATCH 35/47] updated firmware version --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 418dc5fef3..38ea5980f2 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 6.0.0+14794\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", From f86b45e4faa075cbb9030bb147a08814cf33267f Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 10 Jun 2024 07:53:35 +0200 Subject: [PATCH 36/47] changed first layer height according to optimal value of the respective nozzle size --- resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json | 2 +- .../profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json | 2 +- .../profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json | 2 +- resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json | 2 ++ .../profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json | 2 ++ resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json | 2 +- resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json | 2 +- 14 files changed, 16 insertions(+), 12 deletions(-) diff --git a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json index bc1222ce36..033f40d22f 100644 --- a/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.05mm Detail @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.25", "support_line_width": "0.25", "layer_height": "0.05", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "13", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json index 575a23a674..51e281895e 100644 --- a/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.07mm Detail @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.25", "support_line_width": "0.25", "layer_height": "0.07", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "10", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json index 2d2ee203ab..983535f48d 100644 --- a/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Speed @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.27", "support_line_width": "0.25", "layer_height": "0.12", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "9", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json index ffbd39268f..4192e7d5f7 100644 --- a/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.12mm Standard @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.27", "support_line_width": "0.25", "layer_height": "0.12", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "9", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json index aa50d7e06e..da4e58bc3b 100644 --- a/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json +++ b/resources/profiles/Prusa/process/0.15mm Speed @MINIIS 0.25.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.27", "support_line_width": "0.25", "layer_height": "0.15", - "initial_layer_print_height": "0.20", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json index d6e26a6a34..57c789f5bd 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.25.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.27", "support_line_width": "0.25", "layer_height": "0.15", - "initial_layer_print_height": "0.20", + "initial_layer_print_height": "0.15", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json index dca892dfcc..ecc501adaf 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.6", "support_line_width": "0.5", "layer_height": "0.15", - "initial_layer_print_height": "0.20", + "initial_layer_print_height": "0.25", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json index 34f2125fa2..656ed225b7 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -8,6 +8,8 @@ "compatible_printers": [ "Prusa MINIIS 0.6 nozzle" ], + "layer_height": "0.20", + "initial_layer_print_height": "0.25", "line_width": "0.68", "inner_wall_line_width": "0.62", "outer_wall_line_width": "0.62", diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json index 70a388dc98..7d21b7bab0 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json @@ -5,6 +5,8 @@ "from": "system", "instantiation": "true", "inherits": "process_common_miniis", + "layer_height": "0.20", + "initial_layer_print_height": "0.25", "line_width": "0.68", "inner_wall_line_width": "0.62", "outer_wall_line_width": "0.62", diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index 1d4d2a3356..3110f93c39 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.68", "support_line_width": "0.5", "layer_height": "0.25", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.25", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index b061ba7cc4..c69ef865eb 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.68", "support_line_width": "0.5", "layer_height": "0.25", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.25", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json index 80cda29acc..820637e619 100644 --- a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.9", "support_line_width": "0.65", "layer_height": "0.3", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.4", "top_shell_thickness": "0.7", "top_shell_layers": "3", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index 4902e06b28..02ec9d4a46 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -13,7 +13,7 @@ "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.68", "support_line_width": "0.5", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.25", "layer_height": "0.35", "top_shell_thickness": "0.9", "top_shell_layers": "4", diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index 3f2bd1d86a..9d9531da55 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -14,7 +14,7 @@ "internal_solid_infill_line_width": "0.9", "support_line_width": "0.65", "layer_height": "0.4", - "initial_layer_print_height": "0.2", + "initial_layer_print_height": "0.3", "top_shell_thickness": "1.2", "top_shell_layers": "4", "bottom_shell_thickness": "0.8", From 41504ff0dc1793a5049e007d128150122f7271bc Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 13 Jun 2024 14:40:10 +0200 Subject: [PATCH 37/47] changed wall loops to 2 for bigger nozzles --- .../profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json | 1 + resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json | 1 + .../profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json | 1 + resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json | 1 + resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json | 1 + resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json | 1 + resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json | 1 + resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json | 1 + 8 files changed, 8 insertions(+) diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json index ecc501adaf..52819af718 100644 --- a/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.15mm Standard @MINIIS 0.6.json @@ -15,6 +15,7 @@ "support_line_width": "0.5", "layer_height": "0.15", "initial_layer_print_height": "0.25", + "wall_loops": "2", "top_shell_thickness": "0.7", "top_shell_layers": "5", "bottom_shell_thickness": "0.5", diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json index 656ed225b7..0d7930f441 100644 --- a/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Speed @MINIIS 0.6.json @@ -18,6 +18,7 @@ "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.62", "support_line_width": "0.5", + "wall_loops": "2", "outer_wall_speed": "115", "inner_wall_speed": "115", "small_perimeter_speed": "115", diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json index 7d21b7bab0..16d53885bc 100644 --- a/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json +++ b/resources/profiles/Prusa/process/0.20mm Standard @MINIIS 0.6.json @@ -15,6 +15,7 @@ "initial_layer_line_width": "0.68", "internal_solid_infill_line_width": "0.62", "support_line_width": "0.5", + "wall_loops": "2", "sparse_infill_speed": "120", "internal_solid_infill_speed": "100", "top_surface_speed": "70", diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json index 3110f93c39..a0dcf72759 100644 --- a/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Speed @MINIIS.json @@ -15,6 +15,7 @@ "support_line_width": "0.5", "layer_height": "0.25", "initial_layer_print_height": "0.25", + "wall_loops": "2", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json index c69ef865eb..0f3dcf81b6 100644 --- a/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.25mm Standard @MINIIS.json @@ -15,6 +15,7 @@ "support_line_width": "0.5", "layer_height": "0.25", "initial_layer_print_height": "0.25", + "wall_loops": "2", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json index 820637e619..447720117b 100644 --- a/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json +++ b/resources/profiles/Prusa/process/0.30mm Detail @MINIIS.json @@ -17,6 +17,7 @@ "initial_layer_print_height": "0.4", "top_shell_thickness": "0.7", "top_shell_layers": "3", + "wall_loops": "2", "bottom_shell_thickness": "0.5", "bottom_shell_layers": "2", "travel_speed": "300", diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json index 02ec9d4a46..6aaff5322a 100644 --- a/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.35mm Standard @MINIIS.json @@ -15,6 +15,7 @@ "support_line_width": "0.5", "initial_layer_print_height": "0.25", "layer_height": "0.35", + "wall_loops": "2", "top_shell_thickness": "0.9", "top_shell_layers": "4", "bottom_shell_thickness": "0.6", diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json index 9d9531da55..ab085de8be 100644 --- a/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json +++ b/resources/profiles/Prusa/process/0.40mm Standard @MINIIS.json @@ -15,6 +15,7 @@ "support_line_width": "0.65", "layer_height": "0.4", "initial_layer_print_height": "0.3", + "wall_loops": "2", "top_shell_thickness": "1.2", "top_shell_layers": "4", "bottom_shell_thickness": "0.8", From 9b2a254c5e618382812da75bea3d2e45cbaa0787 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Sat, 29 Jun 2024 20:39:13 +0200 Subject: [PATCH 38/47] removed prime tower for color change --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 38ea5980f2..57f0483007 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -101,7 +101,7 @@ "machine_pause_gcode": "M601", "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", - "change_filament_gcode": "M600\nG1 E0.4 F1500 ; prime after color change", + "change_filament_gcode": "M600", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", "scan_first_layer": "0", From a0a20349d0e5359998507fa8ccc08e76da922faf Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Mon, 8 Jul 2024 08:09:42 +0200 Subject: [PATCH 39/47] changed position of the homeing gcode so the pinda probe gets heated --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 57f0483007..a37cb8cc08 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG28 ; home all without mesh bed level\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nG28 ; home all without mesh bed level\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "change_filament_gcode": "M600", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", From 5b0e37ed5ea79eb29da0a2fe0df3daf12c8233dc Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Tue, 16 Jul 2024 12:56:29 +0200 Subject: [PATCH 40/47] moved M74 code to after_layer_change according to prusa slicer profile --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index a37cb8cc08..5937a351ea 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -100,9 +100,9 @@ "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nG28 ; home all without mesh bed level\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", - "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}", "change_filament_gcode": "M600", - "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", "printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES", "scan_first_layer": "0", "machine_load_filament_time": "17", From 65d6b3d393c608704f9504286ac826de469c8151 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Tue, 16 Jul 2024 12:58:17 +0200 Subject: [PATCH 41/47] Updated FW version notifications according to Prusaslicer profiles --- resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json index 5937a351ea..bdd750314b 100644 --- a/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json @@ -99,7 +99,7 @@ "printable_height": "180", "machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]", "machine_pause_gcode": "M601", - "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.1+14848\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nG28 ; home all without mesh bed level\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", + "machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.0.3+14902\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nG28 ; home all without mesh bed level\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}", "change_filament_gcode": "M600", "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n", From 65e007cb41003f27dd9ffc1408ffeb7242183998 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Wed, 28 Aug 2024 21:48:15 +0200 Subject: [PATCH 42/47] added MK3.5 support --- resources/profiles/Prusa.json | 255 +++++++- resources/profiles/Prusa/MK3.5_cover.png | Bin 0 -> 67723 bytes resources/profiles/Prusa/MK4IS_cover copy.png | Bin 0 -> 55847 bytes .../Prusa Generic ABS @MK3.5 0.25.json | 52 ++ .../Prusa Generic ABS @MK3.5 0.6.json | 52 ++ .../Prusa Generic ABS @MK3.5 0.8.json | 52 ++ .../filament/Prusa Generic ABS @MK3.5.json | 52 ++ .../Prusa Generic ASA @MK3.5 0.25.json | 52 ++ .../Prusa Generic ASA @MK3.5 0.6.json | 52 ++ .../Prusa Generic ASA @MK3.5 0.8.json | 52 ++ .../filament/Prusa Generic ASA @MK3.5.json | 52 ++ .../Prusa Generic PA @MK3.5 0.25.json | 31 + .../filament/Prusa Generic PA @MK3.5 0.6.json | 31 + .../filament/Prusa Generic PA @MK3.5 0.8.json | 31 + .../filament/Prusa Generic PA @MK3.5.json | 31 + .../Prusa Generic PA-CF @MK3.5 0.25.json | 34 + .../Prusa Generic PA-CF @MK3.5 0.6.json | 34 + .../Prusa Generic PA-CF @MK3.5 0.8.json | 34 + .../filament/Prusa Generic PA-CF @MK3.5.json | 34 + .../Prusa Generic PC @MK3.5 0.25.json | 25 + .../filament/Prusa Generic PC @MK3.5 0.6.json | 25 + .../filament/Prusa Generic PC @MK3.5 0.8.json | 25 + .../filament/Prusa Generic PC @MK3.5.json | 25 + .../Prusa Generic PETG @MK3.5 0.25.json | 64 ++ .../Prusa Generic PETG @MK3.5 0.6.json | 64 ++ .../Prusa Generic PETG @MK3.5 0.8.json | 64 ++ .../filament/Prusa Generic PETG @MK3.5.json | 64 ++ .../Prusa Generic PLA @MK3.5 0.25.json | 28 + .../Prusa Generic PLA @MK3.5 0.6.json | 28 + .../Prusa Generic PLA @MK3.5 0.8.json | 28 + .../filament/Prusa Generic PLA @MK3.5.json | 28 + .../Prusa Generic PLA-CF @MK3.5 0.25.json | 31 + .../Prusa Generic PLA-CF @MK3.5 0.6.json | 31 + .../Prusa Generic PLA-CF @MK3.5 0.8.json | 31 + .../filament/Prusa Generic PLA-CF @MK3.5.json | 31 + .../Prusa Generic PVA @MK3.5 0.25.json | 31 + .../Prusa Generic PVA @MK3.5 0.6.json | 31 + .../Prusa Generic PVA @MK3.5 0.8.json | 31 + .../filament/Prusa Generic PVA @MK3.5.json | 30 + .../filament/Prusa Generic TPU @MK3.5.json | 81 +++ .../machine/Prusa MK3.5 0.25 nozzle.json | 36 ++ .../Prusa/machine/Prusa MK3.5 0.4 nozzle.json | 118 ++++ .../Prusa/machine/Prusa MK3.5 0.6 nozzle.json | 39 ++ .../Prusa/machine/Prusa MK3.5 0.8 nozzle.json | 39 ++ .../profiles/Prusa/machine/Prusa MK3.5.json | 12 + resources/profiles/Prusa/mk3.5.svg | 612 ++++++++++++++++++ resources/profiles/Prusa/mk3.5_bed.stl | Bin 0 -> 91884 bytes .../Prusa/process/0.05mm Detail @MK3.5.json | 25 + .../Prusa/process/0.07mm Detail @MK3.5.json | 27 + .../Prusa/process/0.10mm Speed @MK3.5.json | 30 + .../Prusa/process/0.12mm Speed @MK3.5.json | 37 ++ .../Prusa/process/0.12mm Standard @MK3.5.json | 42 ++ .../process/0.15mm Speed @MK3.5 0.25.json | 35 + .../Prusa/process/0.15mm Speed @MK3.5.json | 35 + .../process/0.15mm Standard @MK3.5 0.25.json | 35 + .../process/0.15mm Standard @MK3.5 0.6.json | 43 ++ .../Prusa/process/0.15mm Standard @MK3.5.json | 39 ++ .../process/0.20mm Speed @MK3.5 0.6.json | 38 ++ .../Prusa/process/0.20mm Speed @MK3.5.json | 19 + .../process/0.20mm Standard @MK3.5 0.6.json | 35 + .../Prusa/process/0.20mm Standard @MK3.5.json | 19 + .../Prusa/process/0.25mm Speed @MK3.5.json | 36 ++ .../Prusa/process/0.25mm Standard @MK3.5.json | 35 + .../Prusa/process/0.30mm Detail @MK3.5.json | 27 + .../Prusa/process/0.35mm Standard @MK3.5.json | 36 ++ .../Prusa/process/0.40mm Standard @MK3.5.json | 46 ++ .../Prusa/process/process_common_MK3.5.json | 55 ++ .../Prusa/process/process_detail_MK3.5.json | 27 + .../Prusa/process/process_speed_MK3.5.json | 21 + 69 files changed, 3324 insertions(+), 1 deletion(-) create mode 100644 resources/profiles/Prusa/MK3.5_cover.png create mode 100644 resources/profiles/Prusa/MK4IS_cover copy.png create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PA-CF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PC @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA-CF @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MK3.5 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PVA @MK3.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU @MK3.5.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK3.5 0.25 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK3.5 0.4 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK3.5 0.6 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK3.5 0.8 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK3.5.json create mode 100644 resources/profiles/Prusa/mk3.5.svg create mode 100644 resources/profiles/Prusa/mk3.5_bed.stl create mode 100644 resources/profiles/Prusa/process/0.05mm Detail @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.07mm Detail @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.10mm Speed @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.12mm Speed @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.12mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.15mm Speed @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm Speed @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/process/0.15mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm Speed @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm Speed @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm Standard @MK3.5 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm Speed @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.30mm Detail @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json create mode 100644 resources/profiles/Prusa/process/process_common_MK3.5.json create mode 100644 resources/profiles/Prusa/process/process_detail_MK3.5.json create mode 100644 resources/profiles/Prusa/process/process_speed_MK3.5.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 1845bd173b..121521974e 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -12,6 +12,10 @@ "name": "MINIIS", "sub_path": "machine/Prusa MINIIS.json" }, + { + "name": "MK3.5", + "sub_path": "machine/Prusa MK3.5.json" + }, { "name": "MK3S", "sub_path": "machine/Prusa MK3S.json" @@ -46,6 +50,19 @@ "name": "process_detail_miniis", "sub_path": "process/process_detail_miniis.json" }, + { + "name": "process_common_mk3.5", + "sub_path": "process/process_common_mk3.5.json" + }, + { + "name": "process_speed_mk3.5", + "sub_path": "process/process_speed_mk3.5.json" + }, + { + "name": "process_detail_mk3.5", + "sub_path": "process/process_detail_mk3.5.json" + }, + { "name": "process_common_mk3", "sub_path": "process/process_common_mk3.json" @@ -241,7 +258,79 @@ { "name": "0.40mm Standard @MINIIS", "sub_path": "process/0.40mm Standard @MINIIS.json" - }, + }, + { + "name": "0.07mm Detail @MK3.5", + "sub_path": "process/0.07mm Detail @MK3.5.json" + }, + { + "name": "0.10mm Speed @MK3.5", + "sub_path": "process/0.10mm Speed @MK3.5.json" + }, + { + "name": "0.12mm Speed @MK3.5", + "sub_path": "process/0.12mm Speed @MK3.5.json" + }, + { + "name": "0.12mm Standard @MK3.5", + "sub_path": "process/0.12mm Standard @MK3.5.json" + }, + { + "name": "0.15mm Standard @MK3.5", + "sub_path": "process/0.15mm Standard @MK3.5.json" + }, + { + "name": "0.15mm Standard @MK3.5 0.6", + "sub_path": "process/0.15mm Standard @MK3.5 0.6.json" + }, + { + "name": "0.15mm Standard @MK3.5 0.25", + "sub_path": "process/0.15mm Standard @MK3.5 0.25.json" + }, + { + "name": "0.15mm Speed @MK3.5", + "sub_path": "process/0.15mm Speed @MK3.5.json" + }, + { + "name": "0.15mm Speed @MK3.5 0.25", + "sub_path": "process/0.15mm Speed @MK3.5 0.25.json" + }, + { + "name": "0.20mm Standard @MK3.5", + "sub_path": "process/0.20mm Standard @MK3.5.json" + }, + { + "name": "0.20mm Standard @MK3.5 0.6", + "sub_path": "process/0.20mm Standard @MK3.5 0.6.json" + }, + { + "name": "0.20mm Speed @MK3.5", + "sub_path": "process/0.20mm Speed @MK3.5.json" + }, + { + "name": "0.20mm Speed @MK3.5 0.6", + "sub_path": "process/0.20mm Speed @MK3.5 0.6.json" + }, + { + "name": "0.25mm Standard @MK3.5", + "sub_path": "process/0.25mm Standard @MK3.5.json" + }, + { + "name": "0.25mm Speed @MK3.5", + "sub_path": "process/0.25mm Speed @MK3.5.json" + }, + { + "name": "0.30mm Detail @MK3.5", + "sub_path": "process/0.30mm Detail @MK3.5.json" + }, + { + "name": "0.35mm Standard @MK3.5", + "sub_path": "process/0.35mm Standard @MK3.5.json" + }, + { + "name": "0.40mm Standard @MK3.5", + "sub_path": "process/0.40mm Standard @MK3.5.json" + }, { "name": "0.24mm Standard @MK4", "sub_path": "process/0.24mm Standard @MK4.json" @@ -691,6 +780,154 @@ { "name": "Prusament PA-CF @XL", "sub_path": "filament/Prusament PA-CF @XL.json" + }, + { + "name": "Prusa Generic PLA @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PLA @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PLA @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PLA @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PLA @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PLA @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PLA @MK3.5", + "sub_path": "filament/Prusa Generic PLA @MK3.5.json" + }, + { + "name": "Prusa Generic PLA-CF @MK3.5", + "sub_path": "filament/Prusa Generic PLA-CF @MK3.5.json" + }, + { + "name": "Prusa Generic PLA-CF @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PLA-CF @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PLA-CF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PLA-CF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PLA-CF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PLA-CF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PETG @MK3.5", + "sub_path": "filament/Prusa Generic PETG @MK3.5.json" + }, + { + "name": "Prusa Generic PETG @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PETG @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PETG @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PETG @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PETG @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PETG @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic ABS @MK3.5", + "sub_path": "filament/Prusa Generic ABS @MK3.5.json" + }, + { + "name": "Prusa Generic ABS @MK3.5 0.25", + "sub_path": "filament/Prusa Generic ABS @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic ABS @MK3.5 0.6", + "sub_path": "filament/Prusa Generic ABS @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic ABS @MK3.5 0.8", + "sub_path": "filament/Prusa Generic ABS @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic TPU @MK3.5", + "sub_path": "filament/Prusa Generic TPU @MK3.5.json" + }, + { + "name": "Prusa Generic ASA @MK3.5", + "sub_path": "filament/Prusa Generic ASA @MK3.5.json" + }, + { + "name": "Prusa Generic ASA @MK3.5 0.25", + "sub_path": "filament/Prusa Generic ASA @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic ASA @MK3.5 0.6", + "sub_path": "filament/Prusa Generic ASA @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic ASA @MK3.5 0.8", + "sub_path": "filament/Prusa Generic ASA @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PC @MK3.5", + "sub_path": "filament/Prusa Generic PC @MK3.5.json" + }, + { + "name": "Prusa Generic PC @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PC @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PC @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PC @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PC @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PC @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PVA @MK3.5", + "sub_path": "filament/Prusa Generic PVA @MK3.5.json" + }, + { + "name": "Prusa Generic PVA @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PVA @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PVA @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PVA @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PVA @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PVA @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PA @MK3.5", + "sub_path": "filament/Prusa Generic PA @MK3.5.json" + }, + { + "name": "Prusa Generic PA @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PA @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PA @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PA @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PA @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PA @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic PA-CF @MK3.5", + "sub_path": "filament/Prusa Generic PA-CF @MK3.5.json" + }, + { + "name": "Prusa Generic PA-CF @MK3.5 0.25", + "sub_path": "filament/Prusa Generic PA-CF @MK3.5 0.25.json" + }, + { + "name": "Prusa Generic PA-CF @MK3.5 0.6", + "sub_path": "filament/Prusa Generic PA-CF @MK3.5 0.6.json" + }, + { + "name": "Prusa Generic PA-CF @MK3.5 0.8", + "sub_path": "filament/Prusa Generic PA-CF @MK3.5 0.8.json" } ], "machine_list": [ @@ -738,6 +975,22 @@ "name": "Prusa MINIIS 0.8 nozzle", "sub_path": "machine/Prusa MINIIS 0.8 nozzle.json" }, + { + "name": "Prusa MK3.5 0.4 nozzle", + "sub_path": "machine/Prusa MK3.5 0.4 nozzle.json" + }, + { + "name": "Prusa MK3.5 0.25 nozzle", + "sub_path": "machine/Prusa MK3.5 0.25 nozzle.json" + }, + { + "name": "Prusa MK3.5 0.6 nozzle", + "sub_path": "machine/Prusa MK3.5 0.6 nozzle.json" + }, + { + "name": "Prusa MK3.5 0.8 nozzle", + "sub_path": "machine/Prusa MK3.5 0.8 nozzle.json" + }, { "name": "Prusa MK4 0.6 nozzle", "sub_path": "machine/Prusa MK4 0.6 nozzle.json" diff --git a/resources/profiles/Prusa/MK3.5_cover.png b/resources/profiles/Prusa/MK3.5_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..0a5cf8bf3c458a1ded63094f7a9c776390bc6493 GIT binary patch literal 67723 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 NZ)H@Z%O#D1{s+ro8$$p9 literal 0 HcmV?d00001 diff --git a/resources/profiles/Prusa/MK4IS_cover copy.png b/resources/profiles/Prusa/MK4IS_cover copy.png new file mode 100644 index 0000000000000000000000000000000000000000..de98d5318316cc510f2cb108e461f71badae6930 GIT binary patch literal 55847 zcmV)6K*+y|P)x{($@gLdw~`1g-(9rWS)BJm9*ctw9i& z0Q!b*{3a{nn*h#c*YENOnE|B24AYNH>u~*0XS(;!LnoSH7=7$G_D;`pVdP9mvW#YZ z0fHc)RH}Slt;{?Fz{OP(MA2GJ(~h>=tu@U?4WcAMl4Ou5O2&<9b#@nk)7drrKVtS5 zOq?5-en}(vKUlR9TdX1$8)@WuvKMUK^4`e{s-}Jyg#J!K2@2&3R8_@r&;z9unr^^$ z?A^8c!e?O^int00q4RS~=1$U>u4%U$$e9)tRfFq|Kxo9xx8Li2#SCFpb`>)NNSpa_ z@UO;%Ik$Zeo?W{MC$~Mis3stF2C&{ZqR+qb>Heug;T=&@Hn^?}9_+&by4@Df0Ls-l zsHzUn9iiE*Khz)eUc(g<1iolZSs%HsxAd<+&%-cGgkb<@*oUTS$WNCbN-}JFP-%Bs zN7S4lXIC;afV8-69Q?~MVfN16g86(22{~ECYI7Qkfz!AXMqy3$?o?xJzLJEHU{ zh{8TuR-TW67uebXw)YZ=>C0^VYAoO_QI=o#JP)mA4Z~rNXBov}6^LW>du_z*Q($vN zQ899Cbi3^r1qiw9dj3b25?y=NjT?S5DFi=H`!8W}g1^>+dGHG;UIaf3QJI;8BuTIb zeGHu;e;NltfH;m(t<18yne20kf(ZW2L@B*p62&hmJBKl%C_l-btQ?(BLF_hu4!fflVJV$RbL4y@N@G# z_C$B^v_GL@SXiza_&sou7Se?ViieK_wu>;PFikUg;_`rC4W09{ju{jX)%z>Q(jVT)wUQz_T0AU#M@$8bN@J0^$-F8wI zpjfITwg10nU|Q4AbRC0!H|aw>nHfM<0!)Iifq*I$g+$3PLDyITQJOp4a&?z?*W2DV8l;k-YNb%{g7qaT!Jqs-i-YC1{$? zn|L|HfX>!6oqaQ@st%1wQ58s{#LXq}{p5+xjYZdW^g1mb?7C^8P^uyfL$sQ8B$Ugu zkVKK6iT^R94b}3@%Ivyk25>F8hv|E!X-p2@-9NQ)2b>3EvKpd-12t7c5{eR(CT$fVrHiVn zsw%;cL~1IPHi=5B{3uaVs58{629hp}hI<5}*$ec%1Ip7ZF_ z)paLr;&^5v;rmKQ=UdOcBhB+}&-?BD+f7C61=qFLV&;q1cJavBn%nCXP7H63=^J57oX>@>oOGRv|A`wEA$v% zdu1O|nJhAy99oS!>h&rj(WvqyxNbvU6Pm`Pq-mN|1g`6-=l=`9y@P+qKB~3VxF8r?(4f@I6jj@6+>&SrDC z=9+EjwCc#DGvwhntlx-qDvd-u!8sm}BQ5XI{f|VId(Wg`DwRSak>K@Qeu%k*WFm=N zHcxAw4DWY3ZCtT_9RxgN^TTq@3@W8Xf?oogpQ)IEdaa6BJdR>8Oeybxg+rsof&_RS2q3A(S$MvWk>a>gMpOn) z*Fq+nr{%9!me6cekyYpE3@ody*oi{m`Zo>!g$FFaFDkza;4uI?emSD7JG1@(2>MOQ zth&~7`yagN4iz4dDOd@K9eWR{Z|s5P`6`~K3!Y4+74S*niO`)tb9M@Lx2rgPtXsDp zstV9?YcO;Z@mL&&Zz#n<&`T@KFv0c60H`D%6M_Jgl_pytgvP{Rw`-%_tTRvG2f*ay zDS89xOpcUat67ty0W%s!I-O;q(bB>klaqzfb)*kvqLA!DJeg9g!%mem9Vmc-T&#RS zQSfW+J)NnSRf4Zq_RHfC{BKnk@Z=r$gTOy`8V^mrjj2`*CC8>$aH+DT+=c%53ur>1 z*=}NDY&~*?A`pPI9011YbMteUJ3lAEt=#tnTCEm7u=xrJ$Ru{}*@M#3B9nbV0Q~x$ zzX=b5ZhbTsRRCqC-!x3F>9}%qyBrXJj0zzq0&kuQ!ENAeX1@H&}vD&4*pa0-ZNSP5doh}|b zbr4D(z3r1gPY8a3{lN`aDNO-NAFuJO!&(R|Pe2 zH9$bnQd1KM4PcwEKq#c&HeRt2sbmtT-#d*)qp6Z`tiU4jbnax8r!#Cjbu8_ z_cb9{!RLEE*K%Bk%B5a!;MJF3gkc(}H5z#5$UA@tXw@b2K$gL_Ei`IXCKN{sqbxga zHfr+S3bNTDCIsaLbuEjQ^R{mw=~hk5IPe ziukwfAHj#RBS0uKtr}KJ(g#l>^1c0-x_JjFHuwP&nG71uCaE`sU=@J?j{_f^eJTPL z_Z&L%HUz*V;pq4T?)~)VXz@=RKZbH?5tFA+Ve^IwtY5z#uIKVuX8qYe&{pRJy`gDn zRLU6NxDh8$okF8gAxn_U538&{lYp&OgL#B#EWug<*KzqhvbkZv_f>u%qyuyCUH1x2 zW1q&+fdUxF&yp_#_#)OocH~E~T$s?~+^+;azGd4oO7Nd&PGTh_`^IsMJoO?vet-k7 zy+{B%3iJ@6l_yYnteYmFzz-c%2nO%Nw>=0@Coo>WW9MD?)Mr1BY+S=)xr)F1;zQgQ zpja%@dV78Vojkt_1gsNaXwYu8F>_`L?T&?dvyC%nCZS|#cvR7Q>;>?AU!E74M^J6S zLV&!#rt5V1yS7Evz%UF}1iG$c=JWY&0FDk=fPws9A^?144Zu&H|LE=a;}5ppijc>r zJO7=@cP>x@Su=(()4vS-fA!YB6)6KAI&d5lPrn8M!QvaC>u>`PBDDAtJZcWXt??W} zs6nNG0CeHygzzCI^xipq5GRhljT4hID3@x??0@*zZXnTa z*t{JRi8Ri&8~EmXNAOa!f=iW=R}Q1_?0y77lS9Zs7_$yP2tcI(0fLHP4KRLX4qm9ahR2rA_gi-eNt3=@e-MH}jdyw+6Tm8^t(o}o-Eo+M+C%jTW{ z@acg97|8z?9l)ai9zdV0VWl5A{vCV2jnJYq*8l8PH}~!pp8Y4Rv^;R^7`E-+i@!bJ zfiPHmk3=ek5a;Z=quUP<+_cQ~Dvw7-Mj2Z#EiK}%J9lApYz$VXL-6-?{;^pHY8?QZ zH*Mj$ZP{vF4hTWF-($J2hDM`-W}}J2hkuNjxpOQFJ~QPT`lz9y;Wvwg(OUon0|hXUe(-+_!0%vnrDxg0Z2mGO zps2r(zW9Vv0%Qi59PBFwT1olR>~VZ)?>>C(SPfro>M%6{=JbT1RfQ0Wt0yo+VO(#? z5g=gGO#rYt=aZkfPxbk;1=wVM0Ho=J#x-~jA;{@NfQm#DTpK>f1fW`}kZowy>u59^ zICSVu*siPMcjgLmxgoUW^?IYK5`U!kVJ!eW z?`*L+x)nfskOUkE!m7Ui0Px#b1G!`3O3tBsPbGkt_w}Le&ot%znMbW4UD*I+g`!nkxEXLb6<1Ah3sq zic~r>@kg$Icw~&=ce*xPfIZh!>r-)b9h-Eap&M)%GITu;f&4%L3`9u`z>@%eYb`eN zxVf+nTe8ET{0t>Pj=xWimF89~$??_2!}#;lZ@^iqW3KApoS#r&Wb3SLwP{%;u=ud& zY5gxVrq`8nFickZ>5TsoQg|(NEaHl;xF$qc1QgIS5SrG@BM8w3!vi6xWMsU~wK`UZ zyneY{Lb#(a70|-@S-xK^PB2#>SpdfS1$pkdE?a>!nJirX4IM=f@;eqsC+HPat7U%g zL?WH=95)YOcAx+*Z%F`n8o-@v;Px-u#pkCff#Lnn_PhMO*#Gd-Iehu(>nj5Oe^@+( zKbd_SXtYsXY@^};H9Z1DCE`M!pYFMCu&Bll2v~4$ zftpo&a#Aio*Xot}nyma&d_LC#1lN|JWys)#$vYVWsAuSjR9Q_JMfH} zB*?k~TKQBe2gh+krRAv*AuJcJGf|jGW!bCHYB%&`GM*jO0bJga2JkF^+t#FgaN|}` zLaOhL#TkYIve;*t64-QM;Sa&jTK^RQ|38)w;S1#xfa}4pTWDJzjAR6MGXez6`m?~M zR;_S@4$aUZ0v*2R5~Ln2x1fv9-F5!+eb0ewm;}B6fzGTyghs`{ zl48O234W8H}u9-xFX%&reeVPdi{2@)J5_wb#f>wIYb0xKRC0yI3 zb+v8v9>A_XAl%W1iA3lOCwv7$T5c!&OaP?rT-Rf+z_KhVk+`Oj`JV*q}z z%HUUf^D*X^96o0N{qZ}&-oI(bTZ^;km%rP=dsG7b)qg)+oW{jUB=GR~doSWM^Cy9} z1$5M~5!5U++AcgzpaczGSi=tiy7SU{(z?2iqku?Poxla4ks1`r8k4e1CQ@|WUC*KS zAdfk>nrs46Ag6opvsw`B8Sq@j|4cMmw#CFDTZp^18oUk&whi01%~)OnoFRY&Hxqxc zSVC0<^7--c^>q73M<+O6z4dxrdF54VBNCPhZ;{}?{<<5eJT!VW<{$@fnaTRF5B#dt zDCF6D_9Q~<%)R;gtNR|yGC! z371Nx2y$PZ3r!0xyp8~ZdjyyU>-)nlzo56xcK|=^1k_;JU3knh0Q5BE&<$O!%X);i zq6HVu(=!|PJs8&jto}S{mhOSZJNJYba1A-vf zmP#a8+cZ!B?|<0@K$+6bSYZiiJ2vP%TwTEP3ui9?f4FTopOag6EmHz&fI{FekMl1c z_>{QsV$b2{u&Z>IaXcjujPv36@Dva=fkI9Lx89}(5JZCn9XWiv)8Q^Zx*?dE4}8AE zXTUWDDj`*uPN&s9do{Yhf|cyT=aU_MLa*$dQAp@rVUMQ)i~Zl4Y=S zahsv(8346G2=M+Eg|L@b1N>9~$KSkw&il#@xA&+!$=lPa_wC`wO+4tB;q<8lh&E7z5-CkbgLt=m~!Q5t(EYmPoNUO ztQ!EWJFh{2a{z!n0aOS^Z@&P7-1ilDSuPxI_!+KcfbVfr5Hb!7KVq>sLyD0?k!(Yy zG|%jQCX+|NT7Y@(9Q3h!?vrl+b=V@^{&$Zb!J!}j2+evGyYBut3ZoPJ^J}#Vm5<%E zV0EpeZCmL<4&ePQ*Mz^*w*jjpe{|x2qV<;T;rIO66S(#VkK_919#f^gJtgq9U%88| zyYi>J*!UwA1noO9l+ZX@MGiaFfXmW!(RwW;F<64CX*43 zM!9uZ$WAaJ=sJ$>cwTgn19<<+jbXNb1gk4_+xGz%xbtZ<%30R)v#wv3_OiM!Ec4~H zZ?Nlcjes!<*X2gAYt-vCyz=rsY`@`GAv7Ia%kZ(VG>?~F+N(koh6bs0 zS{*a2Q4hwVF>~Mnyf20P{=U@#KRfjJBOSqgf5!Rgo9?6%=<@`a6CeW+DuLg7{k#1? z;<4ht)$O{<`}RJ=Ki=t0_xZl(XFHL@i)siGA*!k% zT2hrN6{S=iR1l~FDhQS6ptd4yr6`@!swJv`Dzt)@Qp(VR(nPJ}mXHECi|9>TaYp;3bti>;tJEdF~tl{s- zd07_1rIr8c=N&lj?77T7EBG!%SW}Re@4R~TWvcvT(ZTk{E#?ZGT|3WbHn-M!-O;*$ zTi5ZXH@%rcgXzq@0Y`>=nl}vvTHCZtQ6BaOPM&vj0dVipH`varHIJLj0hBXa;KDDo`RkQ)noauWnSIq&!T4CQso zjxq~{y1lM~m$rMyMuJgzlqGk4Pl4i?#N)GEbNTtsTeq(9zO}Ur*xBBqNf0CSyZF9q z*Dj0m?^!V!PSI4Lkg6+21I7mjEDXwvoI*wfR27{Y%}s!Ni{2*uLE-*w%I7x^|IyC9 z?|t#PBj$h!0d@SbORq2se%}42Z^Q>LeVW%_F0ED*eE9!Aibuw~Kv~*u-vP=9+pg(J zPa@w1xU2!!;jljiYH$o!s{JQ9hiX=VT0m7%g=UVu+3dVuCjsy7>R=Fp&}WY7y!SbQ z<}Igyeg(&O>+VYdV*Ug(3vwV@hM~0{SK!kWkmtSC@=HaZhWu#fSM^Lsg3}jZ9g3MN za80#^g(V86NFPQ?yT4XV#W{@zFuW<6&87&Z&A9-$cj)als;hh3hIE`h52MtDSDSfW zt)^7-Kfh0ap+W^d0Z$g^;BnBJ?);zpzqmM?0(l=OBDmuhB>_%nTLQjI0svVA{0!bt z%qf=>H0!3~M;JM4@fBn8*26wm75>1w^Kb{xGOF@TRjJd>rT~NM0iJPq*yt}Y2~x13p3$qXxQ>HNRY%Fh0>Ci8IO51o82hwcmEoI(cA>MH%JhM_Y?fLk%mR*^EUJRH;=rPJ^Rfkz%0M- zd-@|*zMDdT6c)!t7pe(<^|_DY;=u&SdLVa&T?rHepzMR(S&;QbV6X&oU#@#YxK5Xa zKE5pFm}4;LtKHAt+8N3-pK>c=f&G2_+WJd4zqA6kI0V`Ts9T__flf`()7zg5 zyTBtc?UnT;1M(SS*+UQ>EUaQU>T-vtx168{DF!zCWV`Or2CC`Nrus}~Qw6`x<68nf z{^ne4>x$rY&a*7I$mw{4v&NxbIE$1m$>CVoIB*d<0@g)zsxBtE=dLcJz}W#vv;#W& z@KGt5dJY?hdW0E z^xu8xYw(S04{>_W@9b_UxRXQg$+!N+q$T{Z)K2l?TpYupfAkh9tEGxvKLC8wzmhhHEp};qx5l}PZPXz#XeQ*T0%>dL$LiC=%Y(q>PhSeMh zZN)ZXGVOO8eJT{FC1fU4gs9rHop@EDZYmZjNgn_<1lir)vEd``zsrzPWE@w?`d(;5jq)l#vR8G^Wq6-fDm0_Dt)!zJWLX*e~GxSFZq< zGOF_gv}+KH5)K*AP9YaSXoU^Iu?3H=10YgR1ee2U$gS5!+bQAv46#xBpCTY7{1~p% z8~}pTy8Y_v%E?pesAEX3Kj=#)-Wq)YY$W16d;9|dtOm41B=0pu*dp+<1Y+R5_Wsm& zU?}gaCL^>FdQIow0!NRF39x>X@05_${q6?+n_oH#?R;NrzcFdDI^fU5kgHk1eg z|E}HLEjT#sF4W8gz}-pzSoojbrrCVSbN{3O`H@riVSRj%I`n>_4!@+^G_7ZNV+&vV zIwISW`*4rsE@bOPriFcqGS0px%ahG_&%EnERv2{6VV;R>~}`xy2z zY>l^4kxwe+u_--u2m~st{jyA}0jcuu?QCm|osoc|Ec6xx@36nO5AT_wN9SD|TKWPq zmjU4TFFk;bLEupOjP`${W4)Tdlwc+f6(u%zcQxgg02ap~i-Mf@RO>~}r(-Y6t$Ast zLZr~XfD{;<5}cPDBUa6(>{!(8^jK7+IRJA3aQD%_5Ps(!oXbyp|7|O)`0UM>@cHNm zzvivLQ98D1J;UwM{>7huY@w`LJU6Pbv0npc?+5Y@f$o|LQGE*nLM#NZ*+*N_CqVl@ zFw95$Ur+$}DO^2*51>t-wKZJZun&Lced^KY|G*e9#{YG<2J`z_lV4XePUflWMy|(N zddug%_pH@txUlSMSkTM}1$RVk*@X@r)SLjsCY}g-ZehK)X(_m-lQDOC?;Qax+66;` zw*=r4&sTGRJA6)GN2KZS#)}W*sgFO-W+7#_M?b-g6@$wvC^%U3^r_YDc|(x9hn(kF z9enB3vjLz@L%`Gi2b?zQWWWBVZaAV_KuhOc41tw*d%JsDHY~g$yZN@-)wD{H?GkHSUY!tLd!d0?^F=b|M2{0o=300 zpgTXK67qXFQXCGVwQMphD1u;pt^wQ~7D5b=n<0p15 z`j$l$KXR$6(5qW~Rn}rU=mR^~f!;E(v;;vPxU*LyFbi<9$9jJ{{onxRF600mdjY6x zIaF|!Lndn@0VF1U&gFMzZ!1Oc2m(wv%Q6BfBG`_btBuX+yr<8chT|yjJ#Dx_a5i;| zye!n=#%C>DC+GC`a}8E`SY?$K_XxLW*?l<@581p$YJN`esCd3Sv-0PYU@PrA|K_7Z39U+6F4 zUC;g+lXfJeNAMqM)_G^>mxcd=@Hj8aEmq?dC9X_nxca$kz#}ExZ~$~OpxPCll4Svy zPJqb5eNbI!07ePg3PeB$W+Y%r*=BIZCf=BXnQ*V^aErCoM*$2RCcU_B+$%&P4sbWE-KFp=vP!2(Ef)5 zZd|`cFaF7sCsmuEP!V5%b^4jWXWrV89{>^BAe2>w=BHpnk@ub^!NPFy+FStK1$2kN zpN4R(eQpth|MBl2^okvOZ!W=C!7g;s|kQIg@J1TuU&JU$6{FIBbl}Pw%mGx2@a`aFDddrn(V{!TnC4}-Ax4+ zd-gf=BOLDe*IHpw%p)IfE&o5-a8OtUVr@c3o})it*Ex9eL#*Gr&aA_Q;ez-AZgB1N z8TJLxdnqL9x>B=){)1C&8}9X9Iv`J;TBR_Or~&&6zG8LX?IR8; z`8I;zNOs$eh7P+1uP-8YPYi%FoNotAD@BeX7bt=uwFaVcW4nEom}^Z%0pQyyvSy0r zV1&+OY!1I*PCv^Bh*8yRUXuaR!GSseYg`eh-`3VG1AR>udphP&PB|Z?uEJp5f21%F zuyUuLjMy-g%{eG=tOL+wJXURlg-F|5TNFGJx}*Is^$Lvta~ja<8cl$mtxYiDD9h~~ zm8KZesVEtP^iRl$aLyCt&cC>-%j`h=PzHE%K6UZQvjfeUDB3sR>SkJjTS-2r4=O;lR(~yyIsAT0UdDxz7Hl zGf+Z+bS{d?!L;LA7?!}~GnzpbYeO>(BHY`9OeSxwMiV(sUT*o z-#YUopuY+sz$0V)$3s6U{MQY>M<@ndgU?2_oU9ZXZgx7@JG}^;8UVu%NR>Y70q0Wv zKZS#XQ8WzzJdzaHg~v>uU2GZ@v1L@id1r$^GRE&~i|flZ!JK8DyJ$6K?|zIY2XbVS z&onkX1PT*#IXJ!MdD~Le*Q0U6&)T}Sc>tAO^C=1uY5=W98W__b4%Gy>p+Ki+e>~n} zKR}CIsKDVfEK(XDuwt;=8>;Vs4MLlSPD6ES-fZf6G#3D`QToXG%Q)Pb=fA#%4!~C< z1T@Ca<1x|ug#ShY|54K2^F|xvpmBhbVVN3d2En`|&2->L|8=S{r? z$@U)h00?bz7FtVi<`J++hz>;682DY<`;WW-jT@I)i74MmQ={MOV@W=Kf=GYS$h zotQQ(m45>MZT@Y;;UdioIll}b&IQ10k{G*B?YWLl>LJjrlW!6N8YxK0LdQh^R`_qe zivJPoJoC?Qw+^4JBi0b`(v^K+YXS;^P63omr3I@3+lIEkx!Vo=${<4NYq6tc8oPtcocp8($KdChLTJQo4M&my$| znhMDzXjNMf&V@7Q0aIkQHg9Rjk#hj|cDMNb0|B&iNIeV9RMFo@jX?wfv;N>R&=EK~ zV7`F-MoRd(0C;T>ReS+Bn|28E{F#Ft{K#{U!-(O&!$M$G&v2NQiVlvE{+00Gd9}Mx zzuS9?aLWr!vJ5ZmvZ zB7)|H-s3#Agvj#Vk;e47gI~GwB4hsdtzBRSp_m+2oCJ*kSUd4jO$q{jFkDcrfm4Co z&~ik$b9iYk0A4$!Dn0>jZMk{=?AyQl$dC?Mr+|>gpRDT_Vszl0Pk!h)l5>*zg%%ZgT8<52z5>n*rk*EcmHf1GX~_KsY8XfJ_R2%L!s;-YsOn`8*)F zRF5#izV zeZno*3;H8^%mn}(djV{2-qMUjmiXEW?RyKF7;R{36F{Xq42x#MUrph^DSJf;lK-7z>Pe|<;4YHp#+); z3V>j{e31dUuqE;En86I>L+qV_#xWfDKp7Q`X)4f|gF0*M9~=-^_L;KDlBo7J*))s9 zAyDPFC_q32-%SRusHT&x-B=3wMeoRRf!rntqp7j8aZ`m26MCdOFe3zK&z?uH)L}X= zHLK7}j9za*6F_PWcs^WMr0L*+NuKA=&jrA1K=0Ia1~U2(l`8#Kb~3gjI>1EM+d0ti$fHScux z53ebdc+Kx`RJ%Y#D-7%DFP(?Eqi?KVr)IEv<~~h0qOkH=rfbafqaUIu89J0KL3!pR z)0CM&L`|Z5$;EgDz`P^SJxp4{d!%*OXGXi~#ABVl_3BIGx*q&L|Cxh5|LVCnV4>{b zw|8zG*Ule>|CaEN;!CHo_u12RQ(gFU>#>Ly&%UsSurh!jk&-r`VDUgV;-NZVfPjgq>>9V9Oj-0p8=fFd%|g9`n(V9(U*7YKWE@Goddvkuby4Q_V%WR`j{jH(@fZc+PmUtc@eT)BhEMDPzk73Hi9gZQ`hb+NQ%5=j$pPT8HP+7=^N&2A)Bz{t z^D}ZC6}*`WfQGHUvMfuUe;WjvyzQLa<1GzWXvR2xB>2eoOmr@-u{?p#(k$Sb^%~%{ zlIM3K37g=Y0DeOO&i(_^g^1z2GiT2e)G=^gAvpW5u2q0A3NV?BHDQQ(07Y5SR5^G5 z1D}}ZzTUGM0K58drx!3E>CgX;ul^I*t*7eHqY$_?-cRPi`N0y7nOfoR75*t41BvST zv8~YoUXK=Ana4QK@noCh;b9JJPe4%bPZ1Ah1TiUd1QXiUvI5O4@XgpgPg^V? z;-Rd@rM4vCZ8TT{J#zqJ%X9MsP)HPIU>4v=z40#63~=oK=S)ZhMDU!?ksP=ZxrS7G z;0~o5^T=t!peC~{Aokrp9f1yzVxLux{{o!t`VH0ojGcsgG!3e%qT|nd$F4%>&OZpm z_^~zy)zI-;TKQ-p~fsg<1&pWB-jmu~78|#-bC_1=3MDTx?@Xz8{h#>j6^Zw;a zO}Ma{1yqH{W9t!rt@X%y1pywLh<4T@xJaP;-~e_C_i&a8NV6b|AhmX+r4Vs{TOqiC zdi7Jo&1fEaBc2ni4g{(t2GLV5#GRSbfb~9_3bgT)W@5H}8YP~35CS~Pny^I%EQIL0 zT{;wZHgEB}&z?P}c>xRoE}uAU&qovmM~g9R7-H0hAPiyd?e5SQP?Y7)?#}jebNB=K zJ?8LB;5VWt|It7F?M(PNECj6Lk9?SZ;>Azmn5Yu|4&h(K@zS_cl)pT!@jWj$HO{$! zo4Wx|T^i#pOGx0Ce+dSk!G-|QxksRJXU=WVCwM@Xdtrw7Z%kK zc!L6J?c4)gujE{{5a&HR3q?TV|Lg%Umg_|^@#wg0>L&r*n!_K+?=goT!T(C3J{%PS zsd49TZCuCuFMWz8!!d#XFLOTOu@lE$y?;C%eb0ox0FTqL!7p8J@s^VXT-HHs2})`J zp#@d_wu#7Ehb*W$5M;^Ja}b~eU;r?w0$$(qI5VxW?mHH*k7g=3JyQU4Xh-Dq;FvP{ z%+{x1aF$9efJ?mvQ;(tOV0u21^UrqubR8)IY%L`dF=8?74d~Dl@Uz~3G8vgg;dG7H z&U>~h6YapXfYVGHuE$d?Zu)<7=!2BsOKSgN`je0S6fO>y@J<=PXRxbvfSigRf3%+-L$hXHT>`W#u2p*Jkq zTC1vq!ieU7tKf_dz7_Uzo+;3*zhA4nYs9pTIMsFdx?YP9RxySBTGyHx0GsfWGs)&q zn2+&x?{itJ^?iIUcR7@znG1-#N?|{t6jn5%fUuL)A{^231lV$HN3{}83*Oz?L~SL$ za6sKu)J_UvodhIA=U-D->^&gnK2sfNb4XYJvW|=k(VV?fTckQ)&3JFSJU89$q3}| z(2;>(l7Bd8bTr~vFpU;`*84Dz0NlL-fGxV{$u}?`so}Re|5pn2@i`$~KOzLa98e1X zS>ZdfyJThY6T$oHiZ5|lcqz~D{M1Y2!=Y$f?2KD%jRUsFQO*NKm4MuK_*rmrRMQ7s z-xofpfr+f|HV&634krU}DpV9234{(x32Z`)5D2JrM`lWH(>4lF8_^Yc4HBQx`x5XI z@ib)?rp1JPa}Zj#AierGZd_qo@e`+3lYc-+wE;T&e3r2Zh?oPse{pFAP0h6C4+E&? z(7%fXz#qTw!31U#0=zl>^;aQX zwQ3Rs%py2Q=s#pir8*#88$8rM*G*02=PRy3z6bS00 zAX!mQmV|~&ptj9Ey-SG4}`|;lPP$Zl2YMEy3^e9OCT5WVBDgFc>c3 z^r@4YkoA*u*xv(D00LToZ9;&WfB>Ibz~N9|vh7U>FwA#6bW`03!oP*DAPt87A8K~0 zZ>|H*Ov(iHNS#+pfa7_s} zE4`~+<|3S13dr*H_3wM+0Y&!FL+?Hj<{X}g$)R;Z5Rh)wtr@L zLcO7XXy(((%F5-{8X6nTz8mVq+> zJ&?zM!o|t?b8Fv4@V_cw!@>{u`-5MlGqC*w#X8<|?w_RA!Xcv9?YC=d_x~g5-}i2{ zyNkTA1|kGM{RI>b@~rs@n$^|&zL((tB4~MO_`b3%pARu|K&kZlXR?pHSHQoa!iZge z4mA8XTzst8?f$|X?)PRQ5Q}=u>32jEpkLtl=tX@!eviFti?QoE%ip@}ea@My=jO3z z>|E_M7u7@*N@-{*Ee@hlsfC~dse*@y2YBEKq0)*(RE1LUf{;KJEs=@{QYBDGFGwi_ zRY^l!NK-4R6DN)x-)8I?d*;mL%(?7!`PuVnX=#LnL|dn|+gZ|@eOr62eYW=ZU)KEV z`*A~3N&WHI_|!mRd{jhPClQ5FIqqI7%~^U|7E86cybb=Z;s0L-<5M%g;k^Hv)%r-D zr^{}-KoT2oIn?OxnV9(Ney_h#Rn=X+e(yI0NbW#H&vk*EbVP;8$;saZ@Fc$bvc7lU z-rrihwD`31Ze;K5JmV7<7S8iO07X$UPM{_cJzvv^Jq#f3!u>~fIWUF5|F#6UBJetv z*OTVIk$L1kRTPa^ilMO=>TRWzL6C^bJD8$a-!nP=kF~aafZ+e`%hG}QgAdle`pNWf z`{W7$Y2uIBcgDu{JRM`$0wB}Vdw+X+a^`Pqt3Zq~nGdiAC+8m~r=~s(;Pd$2%YV)6 z+y852QC_Vl`%=z;G1S%yc>u>p$6u{y{vQIcxC`|kc|L$F1Tu@yb!6^+6~OxdT)d&< zBgRICwNjmtk&#~+o7{VU9VBzC2K`58_RbxvdGL><#Yt!Iy_Y4U^;HE$pI(5JfI~9x zf3r3G)DEHz$CcUp<{p@wocZ*`#N=n|#GIe11;ek`^_>8&2e0~5b8`pYGcq>*c&+(g zX*Qc@z4I?jPSoSf%)AG{$z7QL*enO85FoYJb)4{f3Bb{tVf9#5G&CgWL#itjTCCTv zT(RZPt-G}cVoa>SX;q*$2F%K^?8%AhFVqkASNi)t{i0D8O7{_!OQxt`#E zG5w!^1vf#_F)Aey<5CIUf)W)R6bhv^!EO=*&_=rr&2y#~qyJ&LNN&6C!g`kx==&~Z z^xyv6H=q8!pSpB@zfst)m4b^vHwYXAT^Cgl4IiUKk*FkwW@-8W&f|wvz7m5-@Yr%b z;;krE)nv*oQ&8(O7zm30euH9Oz?HHnuk3z3y8_^*F7Mn}uD<&6mk;l8?pc{hajGW8 zv9=~4qJTk!=pitI%{$S?M^nF&=O_Uj^cWiOJ(r~uG9SmC{=p5d8>iWIRYVowT7|wk*vRAR%!hpc@S>G@+Z9$ z<=y+Nnwt!AWnqAk*)fb5K-xX5Y<97*QK4OlEc6<2$u$K)+zkc(!4<&|p!|Gq6<@vh z9EMc@M)v|+i*>yQc%+0IV}LXe);fqV2xP?#XtWeG0?w^h_?_4G;QU%gf_I`c89D_D zQ7J8TjZhGs&MTf*lDP4r(pro$5lWFEv#>@&2(o<~VvHgZwKkEVHX(rh2x5p54vY+| zzxd$3+yC&NUU_3-psS`)L6K4?h*mlnrM)rM>lmV<=z@bb-dOFTb3rK+lqtL@`YDafi6C;J!{Y^;SbCI|L(H#cC7d8QU*PZmWXjk1i!TG86n+ah>3h*edI zEsAKgjdhz~3mba9ZVcW_QMYfkhC{Q}2nxp6V+3Q3Z#G-L-nwc~Mem$zwT4`~y&8(L z@U2$M#~A(EdOKLt2t{E%6hh4t5PT5!X^e@!szfOzg)QrC6s@%Mt19{!G1KjuNAA4# z$wP56deJI-WcHlxTqNhQHhQ|A~XzQ8J%>!g#Lzm6KlQyEPL+6<+bv^ z0d#jQfSarwU0uY#ocacalm~{Jz))Rf4CpNbj*JvQ0gC;;4~dFjfk3Q)!U(De2B8dk zODY7Xf*4UJUBa-W193af(8=y>pNaS^E3ur+a-$Lmfsli=E@Ygk^{3cHTdY#Sp z4qWx#8r%TDF@(&+27GStxjDv;wFIo-KH~%OZ_`@yISOk*N#_H{r1n*a5D7}DsFbF# z)j-h3#JY&{E|f(Xl8_8Ocqxh^rWdl^Bu1^{9aCfG?aj_%z1#u%eZT>BL;?4V1H&!A zYFMq9pacM|+9&9djtE5HYWBTgqog$Y^@_Iz$%A} zYYtz$HjH;qD12a2Blw7+(x6#dgk(BWyBU*ctEs`WX4^@A5rWHt!djbCaRZWtKqlGn z9-3g@J`TtXI$6UiwkZH^K#{)+11&;ef&b`#86RNn)G|TPlCdG*us*+n?eZ`UaSOnvM^HNJ!RQINcXE4 zQIL`>Ak9VaJRqPD;W5*a^LOmDD41U$F&NXrQb5!SzA)$+scWF7AMG@O6KjBXN#jRA zj{`#uK&^m-8UxHm03K{t^?=n?aNjDm>jK;a-C`~*HQd;zW4g- zO{UbU19AwgwRW2^@ggy&+!`Gn*^alz($W>=1RQ}#B->6MSI?Dp)u2zHPfbmO%U(A( z`N5;Eg7lFm0I~@3$6q!|f;E8%fFgkCS}4Uz?T#e4lqQHmNFY;^`Tq!JYS)lRJv6sQ z8{X@EK%-Ie-Vg{%z5{}s+Swp$Z3TcrjTQ#mT55BR#0s1RT#6<{lt_V;5vC|`lDwkO zO%_Z*VJ+K+z~9O(gaU{Cxk$ETP$*l4@ANgcM#gcp8!#>cR1TC#r2(@rcQw#)$(`HY zUIUuRHwpu=tpP@ctlf9ynS=N1hko_R>9^gD z@!JmKq#ebdt{udqXIgmV)dGKZX$qfwa}*ytGl9RqAh`U}alCML0UtkA;N#x`{-|!V z)af!bw$U1fW|}I)wd=Rub_eOQd{y@TSed5!Wc`AyvgYqjPIFbAK3y)#JoIK zI$I?^c!G%l%+>&qEexGqlbq<&nry<;BB-242y9Pq5S+-AU&(@?HqOrgC^Q>QS`0iU zwsm44mfW{aE(@UYs=^}St!y+?cA^2V@i(RMjWN8BBc=1itI}v$KsQP}b?`oXarO|N zI(-$VyAwEd-!ZJ-{yr>SXyW;AZ(^y_2Zk&_SJ41v0Td-*Eoe?y0ldM6Q*PG+xPi+D z$L2eSpE)m_jYw@Ac4V6wGaR@xr-8lcfOxwR~_6Q`1vezPe0u3!~}R zCa{5hkR#tY+TBkWSC-L(Fpw3N*Djk*G;0COPXbMDaLTI<$sj2-$4+p03c2`~ziX z4~ygwkSr{$H85hb1(W72_>97_Kp_MXo(qxt(AMx+3E=vDT=c-dtqicWyoI&K7S?-P zcyV(Ju{DF$TkgkQ7SP`~g>POyi#V$>JFEfc0r8-P(C>ooK;PryMRWT2BK~e=5TDx> z05@nUfX{t;?#M4bUVdvtM-N>p_1wm@O#poWct^Zt;JxNYO&_>nq2XZ*0Lj-5$^7-y zIt7|Wb3)Ju3juxEocb!#4+T?bA(CpF`SxCW^&~Usn4uv6Lclogh-t_q|!O`6svx1cC_E$09P80()j zJqQ}D(=|n(JDcqW0D+5aDX_Y#%KaE>T|lCzFp;!GI0*z+=PI_#{yhLmS=s^X%mA^2_LTT-bFixMGWB`y)E>o z#&K?T8vok9hR%jTxacu4eE>6abL1Lm9Xy0rjz53u!r6^K?`-OS2GH3J1iEp{Uw)=P z^NAS4OWJ7I?OIrgI~gt%tO!3fL`^N3`0WA|H83;jWa0~&lR|9VwBup%{DnKE|cPe?Vg2F-}C;1E#Y08&H$^OVc$cf87oY1;~h@|lx zIJQ;@&eJ;Jdn4e%qIsRanKcT91k3J9J3%ikkH+K09fRBxfZAz3xSx?hZ_`#C z6!=Ju3}NG(t}17;(FrKj@>*rTnD+>QlYkZoejgnAeQMxjF0&11xs^8j;OFLV!RqP? zXc0hoO_B*LQD`-A<~{lG{XxZj_GwFuPwj=?TEtMJq)**$w^6x@!eaiwEm+@Zle`l~ zAjyX>Yy&ZRq-^}jwCA&BYVQzeUMEd22np0FNoex3EkT0>B(=luk3K@Q2T!sEukx5+ zO#PBNJY6@|GVK@R2~_0uokAuPhC;w=(CjaGpWOmMa))dIiFqCadgkOm}#K;rMXaOA>`0~fx44@02c6^IL<#q+Y(W|*$ZWHuBE`NG`?*I{~k zrn>BQS7b$IhAR<87oN``0B?Mnl^AsEH+;Sf>~1$KgZ9n>W?K6A7aPpYZDlkRn$a=YNM3}Ni1dn4(`|=e~oz7q| zFd}e!bIl62pM3fmL4G_Qv3vbD$7$f>B6GOAyQR^&y80L&Jb&)!con!W-W(I)Zapg} z`exZuz1MoDQGn8e6zm`f@+rU*D3y-h2ZH^cVhMHwTq>;KO1=T^*h^q)*I>F8qTTEd z6l84q`UnLTWiZ9#*+*$c$0`(4Asb`kxIrC)KXZ*Mmq`Z7aSpf?d6C7?K%ih_4L(1) z8kNW~+4r#uBPZ6$Il=qeDj=!SW_9^4!1=as0ela&Cm>W+C0BzgP0WB>MCa-N$ft!i zubf;336kFUe;2cG-ae!dP9p?JUrm9KmV`@=X&=VpMUWsqx+Bd zcX;{YXT1Bw9=6N%Oew^ER+_e?RR64+%V)zA2us+^?zsLRkoefQ9dBPvwyuq)pULYdOFn<5-mDPWTrTytg+yi*Ht`|6cy`lY@R%$uTH4cs^&HQ1gb?70qv*fKY#EPXL25BDg)b z6^jvM9-TD!A!lZ&_&@4eF_67-}l-hKhMvTsB$f8@p zrd#X$96|<;#tbE;Ae=c+cRZS$K(0ko+@r}*X1llm=hX_p*9QMdyZUI0-lHPAdS>*# z1k^^(4CTmEG`|S=B-l=cHdgon^j8He9$~`~oMcO1cm(VwNEibE2EPCpa!;CQE%o_4 z2Cr*620YfXpwO+sXLX)vNGk<_!||w0Jz$jr*hVk4_1zLn|v0y4BbA7en*+nuO_eEHI~x;rQa z6U`E6x3F5%F_5)n5L+`_fu6HoGcF9^yukkzfFJ+opMKC|CYWR*irv9VxsfHn!a$Nh zMXCFeQSgciY0i1HYv5~f0yYKVz{&0aSE>&ur;BEIY`Yg6kNsVvAEn7WGtgUM%tC7d z0MaY-Tn9q_x7JEi@&;0Jz0bkdUs+hB)5r}P35#jSE}#f}$}qI0^N4a^-)A(+rU_n- zfkfax_TB@^vg^7I+~?l=!VmQ;hfW9$G|)|?CI}D!K?KqyC7NMmnNeb#p+${sjUw$O zd2ua;8O@9>kCr9Ph$ESjXxTJLNwgTWOo;@T00Km6ga**L(N&!)SN-(DP5yP(U2m04 zNnij#qE)AO`QHEUS9PJ@JLjIT&pzO=N|zx?2(CCV=0KYgK$uJfk1CPJCL^E+Wq?l` z0}6;lA94r*_W<&Ozdz&=s-&PXHiTo?oCs!5gAJUN;9wvug!{lpQRNuKmI3&|5DVY~ z0R9+%hiGFeW#U~PB%I%5!HFnz-@$H*OJNB_K{+eMtYQQp>>AeUDzO!+27DYJoA~!2 zu}~IyqT)oTf#_08V@egpu~1SfW2~~y$|#DZ_fA=@m33Z9rGzm$^42Qny@;YnI%k!& zP6;VE`V}gQ1z~R#r_aQe9K4nAUI-~z)xERQS}TN0?jvrp2FuiY#^!(SJl_x!HQdXIu3j-l8OhHSnsMT0uid@ zAlr{%H2H-ONxERv@*;yIZd}D%9}wk#4}g#V{gZWL2qAd!YawYvzQsr2-4#{btCZk}%foMaIDFON zhs~XM1eDfRZuB5q{~Mf)d>-Yxsp)t$jqiHdh(JH`#oWe zq1MQVbk@ndD5R2+8X9WWi#&_6EZ?`XviKK{+vf!YH~|JF7;(oS91lPS?tiUIG@H$j zHyW+amPM|N^`c%&MQKW9w3cOA$~3J}k|Z+EGo=TwiAdCHb)j_`WqB4QDiv{@s=UZz zqsvH1B?qFk(J??#J&vVuE^^MsM5Lrt%32%q%p(%gIj1O+Qt-A6#jn``ksF_rAewU4 z)&iR`f>dE#W!x#?KSC7&Qo^#)^1MumIQ^^H#`6!vAJ=-3K;|lRSr!`M1y6>EYzE=-@x-E!vl>KN=55s(K4W9 zIm@;!WU&(9wmlKt76L$NBneg{>$Ztw9{}C;b$;Zfl;q&DO|)jm8bhs@6?vX270WE| zM@H+xvazu`RZ_(O5^Z!6$7y{4GV;U2L;o4TBEHWuyamc&i&W1P_m9JkV!#rqH+^j+ZFks#*!i(1E2-@rGrPh|7bH#79-q!1N|3$mK zzS}yVx_VQr=$WA-o#Gpve(oiC0)g0VhOaURn@Z*s>hZKua@_Nht7&|4Du3jWhdu=0 z_W_ni@!}N6>s#fUJ1^h!#$!)C@mX)|wu+#o0&N9l1|MNP_})4~l{5@_6izxi&*9yc z0r);j2H-~ld;#CCSO*GUoXz%@82X0_grX}j34(hV;IYOy7-#vMlW(@#8v+zn0#;YM zNSLiJoh>DvLuu6O|D-62kC$a3oeN4GI`qi9A?G~=e1$d&xcBNI-yG|Xj!&T38phJf zGFl^}@eMcJ^#4Ef&^JARKfr}44^2(aeD3_|xt|~sq0Hz|-NUN92~gk}a1}nlA#_Yu zO-$CZ5%61Oz!zTn0N(T+DL=p|zhLw^#)}k@brzKnG~Z8DP~NHrU4;Nu>j|p1RLk9T@8>vJC)1`RQBQew9*~-o67P zW8;D5OXJ9qLzta?X5;+-m_L7}i3?Pej64KEhWUoHiI^m;fD-i8CJ?GX)dIL85fGSe z%L90Ur32s%0KSgzP^{79gE9+ZPzuQ?qD>{BSU?2D4>y~I`12kvlm%V&KJkH@egcq% zi86!o392PE!gC-UJU`5U;G9O7 z(5sk$WNO{KFV8cE9xp7+!-M(%>j1jA0L3{gWK~V5xEZUmB|Je1QI%#Tze%CH z)4^C1qCyJj&n;T;7gE*%y#BkLHlvMWhS;F&AQB|Jpz6BTPRY3HSr>w;UEcGjDnJP; z%s;;yXs8U}LYNTh>5TWm_aOad{Z(-k{qT5m=snARdAQr{pw!F?#2s>sv?JhDuf*tZ z4Od>e8)=+|nf+Xw$IQ$Oc3!j#j~#r1G5R24gkjdt&>tL)=9)P|kG_KUF)mQ?)(}9O zL!uDRdmtc0HA9LW?8b3Z(ijvB!RD}GYc9YGCaVB`2*88*E`@?(QiW&dtzICA6w-yJ z5(IadR|QiIE@7x2S9tJEiNVS!ghpE7oEP7f;tvfadEWn+USE6rl~-Je^>&+Eh`Ze$ zF1_?pG%mXw$B!RJN0(rzEH*%oS2@T!Rz1fdKf|IeDn|T_`?sOC`%?2 z2|WJ{@^Pg`K)5LYDK1Rm#HTTwysc=*093h~$|E4b_jWVZBOo{{(vr|0vQ-9r0c0tR z>Nk6>jvPJgaRG}E5>>rF^!^i3mERGPV4Y)6 zDI!9^FjhSqR%_@|gFLp7fG>dD3E&W(11Yi$)>`j;xS6nmgcPWROknw`;H&_uqY8X~ z+)B!4A+sLTKJ@=ra8&>lMT+okh#MN)S?cn(yx;prS)T6^XV2_3TGu}D$xpDmNg%c-^Gs%btVXa?O*?y+d+SHritPcjt;8bT02a*)O^!nH1pTF-N_~4_DU}$#v(edYl`UjE=8$ya|@(sYH zBqCyW`|p#Ei{F^_dmrep&fS^k`Ea1e3PKF93)W_VQ(38C6uW!M?meH4Vi+7o!~BtpMIK$m~3lq$J)Wu^OncG?U7*ce^? zJDWHzDnLq}=a|{H9nNyt!O6fACr)re(0hkYw*w^=GwB**0v4d+)MtLdJj=ie-s!+t zQ#IbmO@04yl7!LUpg@R0(c2SC2e`#=yWYqy@Bf99i|^|dRt(X7}k zBmx(Ha<>rjuC!J^?BQ3Oai-B|)U_$Elv4hS;gQij1h~8*mdb1jEs&! z5}}{lDHzs(*3=T1melas>rsuIB0c=2_-C`F;fKR7AC+5CzO!Z{)-gg_ACY#E3(AZ5i> z$1ZhOcQ(O60i|SB^0S+mfJ1{wwS(t{@c=M1H1ggvr)NKsW&PAy_6{npyf{fd7boez z1MpS+?ebT>UjI7p{GQ3FY2;ZCNm7I9cQG+i$MV7~PbBJgdkg?d2j@f0A)Gp~h@Crk zVs&{D+Gr*b&GVdl<3)hOGE*@GtkFEaOoVdh1u7LUBh!uvV#eYi)esU!PBQM_Z9;@n z2m=BOk`MP;(pE3Pi%8stFc3rvBuPxx7>OWB6wyGc_%D0`6#*y$H5A~&!@(Jy3;cJ}gFG2BS~jZyA6W zmsCky2spu-5X3sWA$;?lsR$~;Wg`#p0zrjl5ySQ1GQfWc*f@qva>VobL{|v;>cz$L z{}F%;9s@sYNt`?}0O8yTU~ui(r7Q~*Tvo(U%;AW!4qv|aK79JqpT?nM$Fbb*V*iaV zXYZz$7r66PuL7jNo-3|Ex7)3Dz_RE=NzN5u+qP|(8LZ{yC3uet^?2cmC+B=<)}jjb zy*U){-c?hSLBt^)OH~;lh%kmsV2c*~MJ2{)&%1zSSC71N0znGr%ZLOj$ZvpvhFcui zZ8cnYC`51#89Na8`QgDFdYVHF-&k2${yidUG9Mp*hFOQdG&DT&b^t42`SuKe4$Qht zLMkPWKk*pqXO80Qr&n}6jsrW5ua@tfESbSQ~++_ z<=vaK)*{e_3F~~CD#>U+o%P|%l4-A`v!Qd09~4k{07U4uC+}cF^N0sRe8{|jV@gJ2 zy`lq7`Z52%I?!yk-U49#J9AxqDS5mVfk`V#Ak91Y)z%7rB8u?8jC9Z_7BJh3aj^!D zoNlAx8u*u&NBFrT=ehUa7|q>-o&@jytyT-8Bcqs`odwS-lrm78fpCEe0Tl?S%IP~) zO7B5zz~LRrJcon;0wo$YQ^ti^5MIbFDDaC(RGb*_JiHR;7nT55vTqzC{%~o^pGDWh zd5J6cUWG#kA4A^nfk8Ho;E5pN5DQc_WC90`5FStfbST?-Tai|R6L0)6u`o71^-sT3 z<(JHXClhNlW>1|25jfGOl)#)7c>4~4RuW;p?{ICs1d1;H!Vck`(+aDdE+PZ?cpPQF z2j=WoaTp?MaBB7h1B$|=n=mXi#f2(LMWOGX+oTbOv{XAf!3UaguEYrXxfbb z78aLr;?N<~ldM_p*Xbo(Ko&k2cLRU;R2Q5wug8=7=g_pp7&w6DIq|=s|n6dh02eykf^2# zZFvCS5BcJFG_hxx{$y0>+fzq%=i^PB`%&ehk#}&ugKke_ZTT4Dxs$kBdZ=z6owH}+ zSKjgJ|MjxlUya}Wt$&NJ-uq23=6>oT9GhRqvDve*mhh6g!T)txhLO}`womw}Cu1DX zCE|!%Mk@kQM%WQhYqnq=XNjvaVWZLfV*r2t9T0xroM-uupFDAF|4?iA(jw1mopK#R zLoG)28EY|XYxwA57fKKi8O+o?NF+GWC9KS4xNEhKy)}npg@nnM(d)LE5JbtSntIgl zbpr1`SRsnCENiv;@e8;LKunlYi2#O@2}

dTuW4LYBvg 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Prusa/mk3.5_bed.stl b/resources/profiles/Prusa/mk3.5_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..6aff36f0bcbda670a4d3ed645dcac8ff112d3462 GIT binary patch literal 91884 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Prusa/process/0.05mm Detail @MK3.5.json b/resources/profiles/Prusa/process/0.05mm Detail @MK3.5.json new file mode 100644 index 0000000000..a43f28e555 --- /dev/null +++ b/resources/profiles/Prusa/process/0.05mm Detail @MK3.5.json @@ -0,0 +1,25 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.05mm Detail @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", + "layer_height": "0.05", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "13", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "10", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.07mm Detail @MK3.5.json b/resources/profiles/Prusa/process/0.07mm Detail @MK3.5.json new file mode 100644 index 0000000000..b1217f9fd8 --- /dev/null +++ b/resources/profiles/Prusa/process/0.07mm Detail @MK3.5.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.07mm Detail @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.25", + "outer_wall_line_width": "0.25", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.25", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.25", + "support_line_width": "0.25", + "layer_height": "0.07", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "10", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "8", + "bridge_speed": "30", + "internal_solid_infill_speed": "140", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.10mm Speed @MK3.5.json b/resources/profiles/Prusa/process/0.10mm Speed @MK3.5.json new file mode 100644 index 0000000000..8a1594f17b --- /dev/null +++ b/resources/profiles/Prusa/process/0.10mm Speed @MK3.5.json @@ -0,0 +1,30 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.10mm Speed @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_MK3.5", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.4", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "bridge_speed": "35", + "layer_height": "0.10", + "initial_layer_print_height": "0.2", + "top_shell_thickness": "0.7", + "top_shell_layers": "7", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "5", + "sparse_infill_acceleration": "3000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.12mm Speed @MK3.5.json b/resources/profiles/Prusa/process/0.12mm Speed @MK3.5.json new file mode 100644 index 0000000000..56b2b36d05 --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm Speed @MK3.5.json @@ -0,0 +1,37 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Speed @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.12", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "9", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "6", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "small_perimeter_speed": "120", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "50", + "bridge_speed": "25", + "support_speed": "70", + "overhang_1_4_speed": "60", + "internal_solid_infill_acceleration": "2500", + "sparse_infill_acceleration": "2500", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.12mm Standard @MK3.5.json new file mode 100644 index 0000000000..a008f0ae0f --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm Standard @MK3.5.json @@ -0,0 +1,42 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.12", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "9", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "6", + "outer_wall_speed": "70", + "inner_wall_speed": "40", + "small_perimeter_speed": "40", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "140", + "top_surface_speed": "60", + "gap_infill_speed": "50", + "support_speed": "70", + "bridge_speed": "25", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "2500", + "sparse_infill_acceleration": "2500", + "travel_acceleration": "3000", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MK3.5 0.25.json b/resources/profiles/Prusa/process/0.15mm Speed @MK3.5 0.25.json new file mode 100644 index 0000000000..4516620647 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Speed @MK3.5 0.25.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Speed @MK3.5 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.15", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "top_surface_speed": "120", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm Speed @MK3.5.json b/resources/profiles/Prusa/process/0.15mm Speed @MK3.5.json new file mode 100644 index 0000000000..0b14acdffd --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Speed @MK3.5.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Speed @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "120", + "inner_wall_speed": "120", + "top_surface_speed": "120", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.25.json b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.25.json new file mode 100644 index 0000000000..bd75d3323b --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.25.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MK3.5 0.25", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.27", + "inner_wall_line_width": "0.27", + "outer_wall_line_width": "0.27", + "top_surface_line_width": "0.27", + "sparse_infill_line_width": "0.27", + "initial_layer_line_width": "0.32", + "internal_solid_infill_line_width": "0.27", + "support_line_width": "0.25", + "layer_height": "0.15", + "initial_layer_print_height": "0.15", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "40", + "inner_wall_speed": "70", + "top_surface_speed": "40", + "sparse_infill_speed": "100", + "bridge_speed": "25", + "internal_solid_infill_speed": "140", + "sparse_infill_acceleration": "2500", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.25 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.6.json b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.6.json new file mode 100644 index 0000000000..7223f04299 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5 0.6.json @@ -0,0 +1,43 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.6", + "outer_wall_line_width": "0.6", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.6", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.6", + "support_line_width": "0.5", + "layer_height": "0.15", + "initial_layer_print_height": "0.25", + "wall_loops": "2", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "45", + "inner_wall_speed": "70", + "top_surface_speed": "70", + "sparse_infill_speed": "140", + "bridge_speed": "40", + "gap_infill_speed": "80", + "internal_solid_infill_speed": "140", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "2500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5.json new file mode 100644 index 0000000000..a970c9db5a --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm Standard @MK3.5.json @@ -0,0 +1,39 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.15mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36", + "layer_height": "0.15", + "initial_layer_print_height": "0.20", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "top_surface_speed": "45", + "sparse_infill_speed": "110", + "bridge_speed": "25", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MK3.5 0.6.json b/resources/profiles/Prusa/process/0.20mm Speed @MK3.5 0.6.json new file mode 100644 index 0000000000..b6c94d692d --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Speed @MK3.5 0.6.json @@ -0,0 +1,38 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Speed @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_MK3.5", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ], + "layer_height": "0.20", + "initial_layer_print_height": "0.25", + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", + "wall_loops": "2", + "outer_wall_speed": "115", + "inner_wall_speed": "115", + "small_perimeter_speed": "115", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45" +} diff --git a/resources/profiles/Prusa/process/0.20mm Speed @MK3.5.json b/resources/profiles/Prusa/process/0.20mm Speed @MK3.5.json new file mode 100644 index 0000000000..183772b710 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Speed @MK3.5.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Speed @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_MK3.5", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MK3.5 0.6.json b/resources/profiles/Prusa/process/0.20mm Standard @MK3.5 0.6.json new file mode 100644 index 0000000000..97fc0fbd79 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Standard @MK3.5 0.6.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @MK3.5 0.6", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "layer_height": "0.20", + "initial_layer_print_height": "0.25", + "line_width": "0.68", + "inner_wall_line_width": "0.62", + "outer_wall_line_width": "0.62", + "top_surface_line_width": "0.5", + "sparse_infill_line_width": "0.62", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.5", + "wall_loops": "2", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "100", + "top_surface_speed": "70", + "gap_infill_speed": "80", + "bridge_speed": "40", + "travel_speed": "300", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1500", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "2000", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "3000", + "overhang_1_4_speed": "45", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.20mm Standard @MK3.5.json new file mode 100644 index 0000000000..713a700d2b --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm Standard @MK3.5.json @@ -0,0 +1,19 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "compatible_printers": [ + "Prusa MK3.5 0.4 nozzle" + ], + "line_width": "0.45", + "inner_wall_line_width": "0.45", + "outer_wall_line_width": "0.45", + "top_surface_line_width": "0.42", + "sparse_infill_line_width": "0.45", + "initial_layer_line_width": "0.5", + "internal_solid_infill_line_width": "0.45", + "support_line_width": "0.36" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Speed @MK3.5.json b/resources/profiles/Prusa/process/0.25mm Speed @MK3.5.json new file mode 100644 index 0000000000..47e04f4907 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm Speed @MK3.5.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Speed @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_speed_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "wall_loops": "2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "outer_wall_speed": "70", + "inner_wall_speed": "80", + "small_perimeter_speed": "70", + "sparse_infill_speed": "90", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "60", + "support_speed": "80", + "overhang_1_4_speed": "45", + "travel_speed": "300", + "internal_solid_infill_acceleration": "3000", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.25mm Standard @MK3.5.json new file mode 100644 index 0000000000..67e90a29df --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm Standard @MK3.5.json @@ -0,0 +1,35 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "layer_height": "0.25", + "initial_layer_print_height": "0.25", + "wall_loops": "2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "small_perimeter_speed": "45", + "sparse_infill_speed": "90", + "internal_solid_infill_speed": "80", + "top_surface_speed": "60", + "gap_infill_speed": "60", + "support_speed": "80", + "travel_speed": "300", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.30mm Detail @MK3.5.json b/resources/profiles/Prusa/process/0.30mm Detail @MK3.5.json new file mode 100644 index 0000000000..2371daedc9 --- /dev/null +++ b/resources/profiles/Prusa/process/0.30mm Detail @MK3.5.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Detail @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.7", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", + "layer_height": "0.3", + "initial_layer_print_height": "0.4", + "top_shell_thickness": "0.7", + "top_shell_layers": "3", + "wall_loops": "2", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "2", + "travel_speed": "300", + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json new file mode 100644 index 0000000000..f7690532a8 --- /dev/null +++ b/resources/profiles/Prusa/process/0.35mm Standard @MK3.5.json @@ -0,0 +1,36 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.35mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_common_MK3.5", + "line_width": "0.68", + "inner_wall_line_width": "0.68", + "outer_wall_line_width": "0.68", + "top_surface_line_width": "0.55", + "sparse_infill_line_width": "0.68", + "initial_layer_line_width": "0.68", + "internal_solid_infill_line_width": "0.68", + "support_line_width": "0.5", + "initial_layer_print_height": "0.25", + "layer_height": "0.35", + "wall_loops": "2", + "top_shell_thickness": "0.9", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_shell_layers": "3", + "outer_wall_speed": "45", + "inner_wall_speed": "60", + "bridge_speed": "30", + "support_speed": "60", + "small_perimeter_speed": "45", + "sparse_infill_speed": "70", + "internal_solid_infill_speed": "60", + "top_surface_speed": "55", + "gap_infill_speed": "45", + "travel_speed": "300", + "compatible_printers": [ + "Prusa MK3.5 0.6 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json b/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json new file mode 100644 index 0000000000..3919357a9b --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm Standard @MK3.5.json @@ -0,0 +1,46 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.40mm Standard @MK3.5", + "from": "system", + "instantiation": "true", + "inherits": "process_detail_MK3.5", + "line_width": "0.9", + "inner_wall_line_width": "0.9", + "outer_wall_line_width": "0.9", + "top_surface_line_width": "0.75", + "sparse_infill_line_width": "0.9", + "initial_layer_line_width": "1", + "internal_solid_infill_line_width": "0.9", + "support_line_width": "0.65", + "layer_height": "0.4", + "initial_layer_print_height": "0.3", + "wall_loops": "2", + "top_shell_thickness": "1.2", + "top_shell_layers": "4", + "bottom_shell_thickness": "0.8", + "bottom_shell_layers": "3", + "initial_layer_speed": "30", + "outer_wall_speed": "40", + "inner_wall_speed": "40", + "bridge_speed": "22", + "support_speed": "40", + "small_perimeter_speed": "40", + "sparse_infill_speed": "50", + "internal_solid_infill_speed": "40", + "top_surface_speed": "35", + "gap_infill_speed": "35", + "travel_speed": "300", + "default_acceleration": "2000", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2000", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1000", + "compatible_printers": [ + "Prusa MK3.5 0.8 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_common_MK3.5.json b/resources/profiles/Prusa/process/process_common_MK3.5.json new file mode 100644 index 0000000000..31bbd1c79e --- /dev/null +++ b/resources/profiles/Prusa/process/process_common_MK3.5.json @@ -0,0 +1,55 @@ +{ + "type": "process", + "name": "process_common_MK3.5", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "initial_layer_speed": "30", + "initial_layer_infill_speed": "80", + "outer_wall_speed": "45", + "inner_wall_speed": "80", + "sparse_infill_speed": "115", + "internal_solid_infill_speed": "140", + "top_surface_speed": "80", + "gap_infill_speed": "60", + "travel_speed": "400", + "bridge_speed": "35", + "internal_bridge_speed": "50", + "small_perimeter_speed": "45", + "travel_jerk": "8", + "outer_wall_jerk": "7", + "inner_wall_jerk": "8", + "default_jerk": "8", + "infill_jerk": "8", + "top_surface_jerk": "7", + "initial_layer_jerk": "7", + "default_acceleration": "2500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "travel_acceleration": "4000", + "sparse_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", + "inner_wall_acceleration": "2500", + "outer_wall_acceleration": "1500", + "bridge_acceleration": "1500", + "exclude_object": "1", + "overhang_1_4_speed": "80%", + "overhang_2_4_speed": "25", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "15", + "sparse_infill_pattern": "crosshatch", + "top_shell_thickness": "0.7", + "top_shell_layers": "5", + "bottom_shell_thickness": "0.5", + "bottom_shell_layers": "4", + "elefant_foot_compensation": "0.2", + "slowdown_for_curled_perimeters": "1", + "infill_anchor_max": "12", + "sparse_infill_anchor": "2,5", + "infill_wall_overlap": "10%", + "enable_arc_fitting": "1", + "support_speed": "100", + "support_style": "snug", + "precise_outer_wall": "1", + "overhang_reverse": "1" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_detail_MK3.5.json b/resources/profiles/Prusa/process/process_detail_MK3.5.json new file mode 100644 index 0000000000..68208d8510 --- /dev/null +++ b/resources/profiles/Prusa/process/process_detail_MK3.5.json @@ -0,0 +1,27 @@ +{ + "type": "process", + "name": "process_detail_MK3.5", + "from": "system", + "instantiation": "false", + "inherits": "process_common_MK3.5", + "travel_speed": "300", + "initial_layer_speed": "20", + "outer_wall_speed": "40", + "inner_wall_speed": "60", + "bridge_speed": "25", + "support_speed": "60", + "small_perimeter_speed": "40", + "sparse_infill_speed": "100", + "internal_solid_infill_speed": "100", + "top_surface_speed": "60", + "gap_infill_speed": "40", + "default_acceleration": "1500", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "1200", + "outer_wall_acceleration": "1000", + "bridge_acceleration": "1000", + "internal_solid_infill_acceleration": "2000", + "sparse_infill_acceleration": "2000", + "travel_acceleration": "3000" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_MK3.5.json b/resources/profiles/Prusa/process/process_speed_MK3.5.json new file mode 100644 index 0000000000..5f5e6473b2 --- /dev/null +++ b/resources/profiles/Prusa/process/process_speed_MK3.5.json @@ -0,0 +1,21 @@ +{ + "type": "process", + "name": "process_speed_MK3.5", + "from": "system", + "instantiation": "false", + "inherits": "process_common_MK3.5", + "outer_wall_speed": "140", + "inner_wall_speed": "140", + "small_perimeter_speed": "140", + "sparse_infill_speed": "140", + "internal_solid_infill_speed": "140", + "top_surface_speed": "80", + "gap_infill_speed": "80", + "initial_layer_acceleration": "500", + "top_surface_acceleration": "1000", + "inner_wall_acceleration": "3000", + "outer_wall_acceleration": "2500", + "bridge_acceleration": "1500", + "internal_solid_infill_acceleration": "4000", + "overhang_1_4_speed": "60" +} \ No newline at end of file From 22444137e817b61c585484ec3adba600ead69e32 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Wed, 28 Aug 2024 22:02:57 +0200 Subject: [PATCH 43/47] changed cover --- resources/profiles/Prusa/MK3.5_cover.png | Bin 67723 -> 55847 bytes resources/profiles/Prusa/MK4IS_cover copy.png | Bin 55847 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 resources/profiles/Prusa/MK4IS_cover copy.png diff --git a/resources/profiles/Prusa/MK3.5_cover.png b/resources/profiles/Prusa/MK3.5_cover.png index 0a5cf8bf3c458a1ded63094f7a9c776390bc6493..de98d5318316cc510f2cb108e461f71badae6930 100644 GIT binary patch literal 55847 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

dTuW4LYBvg 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 NZ)H@Z%O#D1{s+ro8$$p9 diff --git a/resources/profiles/Prusa/MK4IS_cover copy.png b/resources/profiles/Prusa/MK4IS_cover copy.png deleted file mode 100644 index de98d5318316cc510f2cb108e461f71badae6930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55847 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

dTuW4LYBvg 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 Date: Thu, 29 Aug 2024 14:40:27 +0200 Subject: [PATCH 44/47] changed thumbnail output --- .../Prusa/machine/Prusa MK3.5 0.25 nozzle.json | 13 +++++++------ .../Prusa/machine/Prusa MK3.5 0.4 nozzle.json | 5 +++-- .../Prusa/machine/Prusa MK3.5 0.6 nozzle.json | 5 +++-- .../Prusa/machine/Prusa MK3.5 0.8 nozzle.json | 13 +++++++------ 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/resources/profiles/Prusa/machine/Prusa MK3.5 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK3.5 0.25 nozzle.json index 4de5ca7958..4bab1d54a0 100644 --- a/resources/profiles/Prusa/machine/Prusa MK3.5 0.25 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MK3.5 0.25 nozzle.json @@ -27,10 +27,11 @@ "retraction_minimum_travel": [ "1.5" ], - "thumbnails": [ - "16x16/QOI", - "220x124/QOI", - "200x240/QOI", - "640x480/PNG" - ] + "thumbnails": [ + "16x16/QOI", + "313x173/QOI", + "440x240/QOI", + "480x240/QOI", + "640x480/PNG" +] } diff --git a/resources/profiles/Prusa/machine/Prusa MK3.5 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK3.5 0.4 nozzle.json index 48895070ed..4e3dac4d43 100644 --- a/resources/profiles/Prusa/machine/Prusa MK3.5 0.4 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MK3.5 0.4 nozzle.json @@ -111,8 +111,9 @@ "auxiliary_fan": "0", "thumbnails": [ "16x16/QOI", - "220x124/QOI", - "200x240/QOI", + "313x173/QOI", + "440x240/QOI", + "480x240/QOI", "640x480/PNG" ] } \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK3.5 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK3.5 0.6 nozzle.json index 4e3253e74b..8bc0146caf 100644 --- a/resources/profiles/Prusa/machine/Prusa MK3.5 0.6 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MK3.5 0.6 nozzle.json @@ -32,8 +32,9 @@ ], "thumbnails": [ "16x16/QOI", - "220x124/QOI", - "200x240/QOI", + "313x173/QOI", + "440x240/QOI", + "480x240/QOI", "640x480/PNG" ] } diff --git a/resources/profiles/Prusa/machine/Prusa MK3.5 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK3.5 0.8 nozzle.json index e804a1bb3d..4d97e18d0a 100644 --- a/resources/profiles/Prusa/machine/Prusa MK3.5 0.8 nozzle.json +++ b/resources/profiles/Prusa/machine/Prusa MK3.5 0.8 nozzle.json @@ -30,10 +30,11 @@ "deretraction_speed": [ "25" ], - "thumbnails": [ - "16x16/QOI", - "220x124/QOI", - "200x240/QOI", - "640x480/PNG" - ] +"thumbnails": [ + "16x16/QOI", + "313x173/QOI", + "440x240/QOI", + "480x240/QOI", + "640x480/PNG" +] } From 50039afb66c26a5829bee912d257f269ad4c9d62 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 29 Aug 2024 14:41:09 +0200 Subject: [PATCH 45/47] added MK3.5 --- resources/profiles/Prusa.json | 330 ++++++++++++++++++++++++++++------ 1 file changed, 271 insertions(+), 59 deletions(-) diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 121521974e..86ea264b7d 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -1,6 +1,6 @@ { "name": "Prusa", - "version": "02.01.01.00", + "version": "02.01.02.40", "force_update": "0", "description": "Prusa configurations", "machine_model_list": [ @@ -12,10 +12,6 @@ "name": "MINIIS", "sub_path": "machine/Prusa MINIIS.json" }, - { - "name": "MK3.5", - "sub_path": "machine/Prusa MK3.5.json" - }, { "name": "MK3S", "sub_path": "machine/Prusa MK3S.json" @@ -24,9 +20,17 @@ "name": "MINI", "sub_path": "machine/Prusa MINI.json" }, + { + "name": "MK3.5", + "sub_path": "machine/Prusa MK3.5.json" + }, { "name": "Prusa XL", "sub_path": "machine/Prusa XL.json" + }, + { + "name": "Prusa XL 5T", + "sub_path": "machine/Prusa XL 5T.json" } ], "process_list": [ @@ -50,19 +54,6 @@ "name": "process_detail_miniis", "sub_path": "process/process_detail_miniis.json" }, - { - "name": "process_common_mk3.5", - "sub_path": "process/process_common_mk3.5.json" - }, - { - "name": "process_speed_mk3.5", - "sub_path": "process/process_speed_mk3.5.json" - }, - { - "name": "process_detail_mk3.5", - "sub_path": "process/process_detail_mk3.5.json" - }, - { "name": "process_common_mk3", "sub_path": "process/process_common_mk3.json" @@ -71,6 +62,10 @@ "name": "process_common_xl", "sub_path": "process/process_common_xl.json" }, + { + "name": "process_common_xl_5t", + "sub_path": "process/process_common_xl_5t.json" + }, { "name": "0.20mm Standard @MINI 0.25", "sub_path": "process/0.20mm Standard @MINI 0.25.json" @@ -259,6 +254,18 @@ "name": "0.40mm Standard @MINIIS", "sub_path": "process/0.40mm Standard @MINIIS.json" }, + { + "name": "process_common_mk3.5", + "sub_path": "process/process_common_mk3.5.json" + }, + { + "name": "process_speed_mk3.5", + "sub_path": "process/process_speed_mk3.5.json" + }, + { + "name": "process_detail_mk3.5", + "sub_path": "process/process_detail_mk3.5.json" + }, { "name": "0.07mm Detail @MK3.5", "sub_path": "process/0.07mm Detail @MK3.5.json" @@ -330,7 +337,7 @@ { "name": "0.40mm Standard @MK3.5", "sub_path": "process/0.40mm Standard @MK3.5.json" - }, + }, { "name": "0.24mm Standard @MK4", "sub_path": "process/0.24mm Standard @MK4.json" @@ -478,6 +485,134 @@ { "name": "0.30mm Detail @Prusa XL 0.8", "sub_path": "process/0.30mm Detail @Prusa XL 0.8.json" + }, + { + "name": "0.15mm Structural @Prusa XL 5T 0.25", + "sub_path": "process/0.15mm Structural @Prusa XL 5T 0.25.json" + }, + { + "name": "0.15mm Speed @Prusa XL 5T 0.25", + "sub_path": "process/0.15mm Speed @Prusa XL 5T 0.25.json" + }, + { + "name": "0.12mm Structural @Prusa XL 5T 0.25", + "sub_path": "process/0.12mm Structural @Prusa XL 5T 0.25.json" + }, + { + "name": "0.12mm Speed @Prusa XL 5T 0.25", + "sub_path": "process/0.12mm Speed @Prusa XL 5T 0.25.json" + }, + { + "name": "0.07mm Detail @Prusa XL 5T 0.25", + "sub_path": "process/0.07mm Detail @Prusa XL 5T 0.25.json" + }, + { + "name": "0.05mm Detail @Prusa XL 5T 0.25", + "sub_path": "process/0.05mm Detail @Prusa XL 5T 0.25.json" + }, + { + "name": "0.20mm Speed @Prusa XL 5T 0.3", + "sub_path": "process/0.20mm Speed @Prusa XL 5T 0.3.json" + }, + { + "name": "0.16mm Structural @Prusa XL 5T 0.3", + "sub_path": "process/0.16mm Structural @Prusa XL 5T 0.3.json" + }, + { + "name": "0.16mm Speed @Prusa XL 5T 0.3", + "sub_path": "process/0.16mm Speed @Prusa XL 5T 0.3.json" + }, + { + "name": "0.12mm Structural @Prusa XL 5T 0.3", + "sub_path": "process/0.12mm Structural @Prusa XL 5T 0.3.json" + }, + { + "name": "0.25mm Structural @Prusa XL 5T 0.4", + "sub_path": "process/0.25mm Structural @Prusa XL 5T 0.4.json" + }, + { + "name": "0.20mm Structural @Prusa XL 5T 0.4", + "sub_path": "process/0.20mm Structural @Prusa XL 5T 0.4.json" + }, + { + "name": "0.20mm Speed @Prusa XL 5T 0.4", + "sub_path": "process/0.20mm Speed @Prusa XL 5T 0.4.json" + }, + { + "name": "0.15mm Structural @Prusa XL 5T 0.4", + "sub_path": "process/0.15mm Structural @Prusa XL 5T 0.4.json" + }, + { + "name": "0.15mm Speed @Prusa XL 5T 0.4", + "sub_path": "process/0.15mm Speed @Prusa XL 5T 0.4.json" + }, + { + "name": "0.10mm FastDetail @Prusa XL 5T 0.4", + "sub_path": "process/0.10mm FastDetail @Prusa XL 5T 0.4.json" + }, + { + "name": "0.25mm Structural @Prusa XL 5T 0.5", + "sub_path": "process/0.25mm Structural @Prusa XL 5T 0.5.json" + }, + { + "name": "0.25mm Speed @Prusa XL 5T 0.5", + "sub_path": "process/0.25mm Speed @Prusa XL 5T 0.5.json" + }, + { + "name": "0.20mm Structural @Prusa XL 5T 0.5", + "sub_path": "process/0.20mm Structural @Prusa XL 5T 0.5.json" + }, + { + "name": "0.20mm Speed @Prusa XL 5T 0.5", + "sub_path": "process/0.20mm Speed @Prusa XL 5T 0.5.json" + }, + { + "name": "0.15mm Structural @Prusa XL 5T 0.5", + "sub_path": "process/0.15mm Structural @Prusa XL 5T 0.5.json" + }, + { + "name": "0.10mm Structural @Prusa XL 5T 0.5", + "sub_path": "process/0.10mm Structural @Prusa XL 5T 0.5.json" + }, + { + "name": "0.32mm Structural @Prusa XL 5T 0.6", + "sub_path": "process/0.32mm Structural @Prusa XL 5T 0.6.json" + }, + { + "name": "0.32mm Speed @Prusa XL 5T 0.6", + "sub_path": "process/0.32mm Speed @Prusa XL 5T 0.6.json" + }, + { + "name": "0.25mm Structural @Prusa XL 5T 0.6", + "sub_path": "process/0.25mm Structural @Prusa XL 5T 0.6.json" + }, + { + "name": "0.25mm Speed @Prusa XL 5T 0.6", + "sub_path": "process/0.25mm Speed @Prusa XL 5T 0.6.json" + }, + { + "name": "0.20mm Structural @Prusa XL 5T 0.6", + "sub_path": "process/0.20mm Structural @Prusa XL 5T 0.6.json" + }, + { + "name": "0.20mm Speed @Prusa XL 5T 0.6", + "sub_path": "process/0.20mm Speed @Prusa XL 5T 0.6.json" + }, + { + "name": "0.15mm Structural @Prusa XL 5T 0.6", + "sub_path": "process/0.15mm Structural @Prusa XL 5T 0.6.json" + }, + { + "name": "0.55mm Draft @Prusa XL 5T 0.8", + "sub_path": "process/0.55mm Draft @Prusa XL 5T 0.8.json" + }, + { + "name": "0.40mm Quality @Prusa XL 5T 0.8", + "sub_path": "process/0.40mm Quality @Prusa XL 5T 0.8.json" + }, + { + "name": "0.30mm Detail @Prusa XL 5T 0.8", + "sub_path": "process/0.30mm Detail @Prusa XL 5T 0.8.json" } ], "filament_list": [ @@ -553,18 +688,6 @@ "name": "Prusa Generic PLA @MINIIS", "sub_path": "filament/Prusa Generic PLA @MINIIS.json" }, - { - "name": "Prusa Generic PLA @XL", - "sub_path": "filament/Prusa Generic PLA @XL.json" - }, - { - "name": "Prusament PLA @XL", - "sub_path": "filament/Prusament PLA @XL.json" - }, - { - "name": "Prusament rPLA @XL", - "sub_path": "filament/Prusament rPLA @XL.json" - }, { "name": "Prusa Generic PLA-CF", "sub_path": "filament/Prusa Generic PLA-CF.json" @@ -609,14 +732,6 @@ "name": "Prusa Generic PETG @MINIIS 0.8", "sub_path": "filament/Prusa Generic PETG @MINIIS 0.8.json" }, - { - "name": "Prusa Generic PETG @XL", - "sub_path": "filament/Prusa Generic PETG @XL.json" - }, - { - "name": "Prusament PETG @XL", - "sub_path": "filament/Prusament PETG @XL.json" - }, { "name": "Prusa Generic ABS", "sub_path": "filament/Prusa Generic ABS.json" @@ -641,10 +756,6 @@ "name": "Prusa Generic ABS @MINIIS 0.8", "sub_path": "filament/Prusa Generic ABS @MINIIS 0.8.json" }, - { - "name": "Prusa Generic ABS @XL", - "sub_path": "filament/Prusa Generic ABS @XL.json" - }, { "name": "Prusa Generic TPU", "sub_path": "filament/Prusa Generic TPU.json" @@ -681,10 +792,6 @@ "name": "Prusa Generic ASA @MINIIS 0.8", "sub_path": "filament/Prusa Generic ASA @MINIIS 0.8.json" }, - { - "name": "Prusament ASA @XL", - "sub_path": "filament/Prusament ASA @XL.json" - }, { "name": "Prusa Generic PC", "sub_path": "filament/Prusa Generic PC.json" @@ -705,14 +812,6 @@ "name": "Prusa Generic PC @MINIIS 0.8", "sub_path": "filament/Prusa Generic PC @MINIIS 0.8.json" }, - { - "name": "Prusament PC Blend @XL", - "sub_path": "filament/Prusament PC Blend @XL.json" - }, - { - "name": "Prusament PC-CF @XL", - "sub_path": "filament/Prusament PC-CF @XL.json" - }, { "name": "Prusa Generic PVA", "sub_path": "filament/Prusa Generic PVA.json" @@ -733,10 +832,6 @@ "name": "Prusa Generic PVA @MINIIS 0.8", "sub_path": "filament/Prusa Generic PVA @MINIIS 0.8.json" }, - { - "name": "Prusament PVB @XL", - "sub_path": "filament/Prusament PVB @XL.json" - }, { "name": "Prusa Generic PA", "sub_path": "filament/Prusa Generic PA.json" @@ -777,10 +872,95 @@ "name": "Prusa Generic PA-CF @MINIIS 0.8", "sub_path": "filament/Prusa Generic PA-CF @MINIIS 0.8.json" }, + + { + "name": "Prusa Generic PLA @XL", + "sub_path": "filament/Prusa Generic PLA @XL.json" + }, + { + "name": "Prusament PLA @XL", + "sub_path": "filament/Prusament PLA @XL.json" + }, + { + "name": "Prusament rPLA @XL", + "sub_path": "filament/Prusament rPLA @XL.json" + }, + { + "name": "Prusament PVB @XL", + "sub_path": "filament/Prusament PVB @XL.json" + }, + { + "name": "Prusament ASA @XL", + "sub_path": "filament/Prusament ASA @XL.json" + }, + { + "name": "Prusa Generic PETG @XL", + "sub_path": "filament/Prusa Generic PETG @XL.json" + }, + { + "name": "Prusament PETG @XL", + "sub_path": "filament/Prusament PETG @XL.json" + }, + { + "name": "Prusa Generic ABS @XL", + "sub_path": "filament/Prusa Generic ABS @XL.json" + }, + { + "name": "Prusament PC Blend @XL", + "sub_path": "filament/Prusament PC Blend @XL.json" + }, + { + "name": "Prusament PC-CF @XL", + "sub_path": "filament/Prusament PC-CF @XL.json" + }, { "name": "Prusament PA-CF @XL", "sub_path": "filament/Prusament PA-CF @XL.json" }, + { + "name": "Prusa Generic PLA @XL 5T", + "sub_path": "filament/Prusa Generic PLA @XL 5T.json" + }, + { + "name": "Prusament PLA @XL 5T", + "sub_path": "filament/Prusament PLA @XL 5T.json" + }, + { + "name": "Prusament rPLA @XL 5T", + "sub_path": "filament/Prusament rPLA @XL 5T.json" + }, + { + "name": "Prusament PVB @XL 5T", + "sub_path": "filament/Prusament PVB @XL 5T.json" + }, + { + "name": "Prusament ASA @XL 5T", + "sub_path": "filament/Prusament ASA @XL 5T.json" + }, + { + "name": "Prusa Generic PETG @XL 5T", + "sub_path": "filament/Prusa Generic PETG @XL 5T.json" + }, + { + "name": "Prusament PETG @XL 5T", + "sub_path": "filament/Prusament PETG @XL 5T.json" + }, + { + "name": "Prusa Generic ABS @XL 5T", + "sub_path": "filament/Prusa Generic ABS @XL 5T.json" + }, + { + "name": "Prusament PC Blend @XL 5T", + "sub_path": "filament/Prusament PC Blend @XL 5T.json" + }, + { + "name": "Prusament PC-CF @XL 5T", + "sub_path": "filament/Prusament PC-CF @XL 5T.json" + }, + { + "name": "Prusament PA-CF @XL 5T", + "sub_path": "filament/Prusament PA-CF @XL 5T.json" + }, { "name": "Prusa Generic PLA @MK3.5 0.25", "sub_path": "filament/Prusa Generic PLA @MK3.5 0.25.json" @@ -934,6 +1114,14 @@ { "name": "fdm_machine_common", "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_machine_common_xl", + "sub_path": "machine/fdm_machine_common_xl.json" + }, + { + "name": "fdm_machine_common_xl_5t", + "sub_path": "machine/fdm_machine_common_xl_5t.json" }, { "name": "Prusa MK3S 0.25 nozzle", @@ -1038,6 +1226,30 @@ { "name": "Prusa XL 0.8 nozzle", "sub_path": "machine/Prusa XL 0.8 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.25 nozzle", + "sub_path": "machine/Prusa XL 5T 0.25 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.3 nozzle", + "sub_path": "machine/Prusa XL 5T 0.3 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.4 nozzle", + "sub_path": "machine/Prusa XL 5T 0.4 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.5 nozzle", + "sub_path": "machine/Prusa XL 5T 0.5 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.6 nozzle", + "sub_path": "machine/Prusa XL 5T 0.6 nozzle.json" + }, + { + "name": "Prusa XL 5T 0.8 nozzle", + "sub_path": "machine/Prusa XL 5T 0.8 nozzle.json" } ] } From f4bb5a6c2010465722fa9f6f5b131fb3adfd50fa Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Thu, 29 Aug 2024 14:41:26 +0200 Subject: [PATCH 46/47] changed speed settings --- .../Prusa/process/process_common_MK3.5.json | 6 +++--- .../Prusa/process/process_detail_MK3.5.json | 8 ++++---- .../Prusa/process/process_speed_MK3.5.json | 20 +++++++++---------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/resources/profiles/Prusa/process/process_common_MK3.5.json b/resources/profiles/Prusa/process/process_common_MK3.5.json index 31bbd1c79e..0db5e24d60 100644 --- a/resources/profiles/Prusa/process/process_common_MK3.5.json +++ b/resources/profiles/Prusa/process/process_common_MK3.5.json @@ -8,11 +8,11 @@ "initial_layer_infill_speed": "80", "outer_wall_speed": "45", "inner_wall_speed": "80", - "sparse_infill_speed": "115", - "internal_solid_infill_speed": "140", + "sparse_infill_speed": "120", + "internal_solid_infill_speed": "120", "top_surface_speed": "80", "gap_infill_speed": "60", - "travel_speed": "400", + "travel_speed": "300", "bridge_speed": "35", "internal_bridge_speed": "50", "small_perimeter_speed": "45", diff --git a/resources/profiles/Prusa/process/process_detail_MK3.5.json b/resources/profiles/Prusa/process/process_detail_MK3.5.json index 68208d8510..134905069b 100644 --- a/resources/profiles/Prusa/process/process_detail_MK3.5.json +++ b/resources/profiles/Prusa/process/process_detail_MK3.5.json @@ -8,20 +8,20 @@ "initial_layer_speed": "20", "outer_wall_speed": "40", "inner_wall_speed": "60", - "bridge_speed": "25", + "bridge_speed": "30", "support_speed": "60", "small_perimeter_speed": "40", "sparse_infill_speed": "100", - "internal_solid_infill_speed": "100", + "internal_solid_infill_speed": "140", "top_surface_speed": "60", "gap_infill_speed": "40", "default_acceleration": "1500", "initial_layer_acceleration": "500", "top_surface_acceleration": "1000", "inner_wall_acceleration": "1200", - "outer_wall_acceleration": "1000", + "outer_wall_acceleration": "800", "bridge_acceleration": "1000", "internal_solid_infill_acceleration": "2000", - "sparse_infill_acceleration": "2000", + "sparse_infill_acceleration": "2500", "travel_acceleration": "3000" } \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_speed_MK3.5.json b/resources/profiles/Prusa/process/process_speed_MK3.5.json index 5f5e6473b2..bad53ee00a 100644 --- a/resources/profiles/Prusa/process/process_speed_MK3.5.json +++ b/resources/profiles/Prusa/process/process_speed_MK3.5.json @@ -4,18 +4,18 @@ "from": "system", "instantiation": "false", "inherits": "process_common_MK3.5", - "outer_wall_speed": "140", - "inner_wall_speed": "140", - "small_perimeter_speed": "140", - "sparse_infill_speed": "140", - "internal_solid_infill_speed": "140", - "top_surface_speed": "80", - "gap_infill_speed": "80", + "outer_wall_speed": "150", + "inner_wall_speed": "150", + "small_perimeter_speed": "150", + "sparse_infill_speed": "200", + "internal_solid_infill_speed": "200", + "top_surface_speed": "100", + "gap_infill_speed": "120", "initial_layer_acceleration": "500", - "top_surface_acceleration": "1000", + "top_surface_acceleration": "1500", "inner_wall_acceleration": "3000", - "outer_wall_acceleration": "2500", + "outer_wall_acceleration": "3000", "bridge_acceleration": "1500", - "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_acceleration": "3000", "overhang_1_4_speed": "60" } \ No newline at end of file From 0921b6d99dcf246d407c92edc7ed0a2e887fe3e6 Mon Sep 17 00:00:00 2001 From: Bernhard Koppensteiner Date: Wed, 4 Sep 2024 20:51:10 +0200 Subject: [PATCH 47/47] fixed process naming, checks seem to be case sensitive --- resources/profiles/Prusa.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 86ea264b7d..cf2c6b0ae9 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -255,16 +255,16 @@ "sub_path": "process/0.40mm Standard @MINIIS.json" }, { - "name": "process_common_mk3.5", - "sub_path": "process/process_common_mk3.5.json" + "name": "process_common_MK3.5", + "sub_path": "process/process_common_MK3.5.json" }, { - "name": "process_speed_mk3.5", - "sub_path": "process/process_speed_mk3.5.json" + "name": "process_speed_MK3.5", + "sub_path": "process/process_speed_MK3.5.json" }, { - "name": "process_detail_mk3.5", - "sub_path": "process/process_detail_mk3.5.json" + "name": "process_detail_MK3.5", + "sub_path": "process/process_detail_MK3.5.json" }, { "name": "0.07mm Detail @MK3.5",