From 06c809c59880e4ea37783ac81bac66d369d5b1b8 Mon Sep 17 00:00:00 2001 From: Russell Cloran Date: Fri, 7 Feb 2025 08:12:55 -0800 Subject: [PATCH] Add Prusa MK4S profiles (#8279) * Whitespace cleanup in Prusa profile ``` $ diff -u Prusa.json <(jq --indent 4 < Prusa.json) | wc -l 0 ``` * Add Prusa MK4S profiles There were generated from the PrusaSlicer profiles[0] using some scripts which try to faithfully convert the profiles[1]. The high flow nozzle settings have been modeled as a separate printer model. A few things I'm aware of that haven't been converted: - Filament multi-material settings (eg loading speeds) - High-flow and abrasive nozzle check in gcode, which, as far as I know, isn't available in the current firmware anyways I've also found that disabling z-hop on layer change in OrcaSlicer seems more similar to the behavior in PrusaSlicer (which allows travel distance limitations to override that setting), so I've disabled that. Fixes #7391 [0]: https://github.com/prusa3d/PrusaSlicer/blob/0bca90da1338f0bf31e3a820a9e6e69f3a4dc2c9/resources/profiles/PrusaResearch.ini [1]: https://github.com/rcloran/SuperSlicer_to_Orca_scripts/tree/20d2881 --- resources/profiles/Prusa.json | 452 ++++++++++++- resources/profiles/Prusa/MK4S HF_cover.png | Bin 0 -> 67376 bytes resources/profiles/Prusa/MK4S_cover.png | Bin 0 -> 67376 bytes .../filament/Prusa Generic ABS @MK4S 0.6.json | 12 + .../filament/Prusa Generic ABS @MK4S 0.8.json | 12 + .../Prusa Generic ABS @MK4S HF0.4.json | 17 + .../Prusa Generic ABS @MK4S HF0.5.json | 13 + .../Prusa Generic ABS @MK4S HF0.6.json | 13 + .../Prusa Generic ABS @MK4S HF0.8.json | 15 + .../filament/Prusa Generic ABS @MK4S.json | 36 + .../filament/Prusa Generic ASA @MK4S 0.6.json | 14 + .../filament/Prusa Generic ASA @MK4S 0.8.json | 15 + .../Prusa Generic ASA @MK4S HF0.4.json | 19 + .../Prusa Generic ASA @MK4S HF0.5.json | 13 + .../Prusa Generic ASA @MK4S HF0.6.json | 15 + .../Prusa Generic ASA @MK4S HF0.8.json | 18 + .../filament/Prusa Generic ASA @MK4S.json | 37 ++ .../Prusa Generic PETG @MK4S 0.6.json | 16 + .../Prusa Generic PETG @MK4S 0.8.json | 21 + .../Prusa Generic PETG @MK4S HF0.4.json | 18 + .../Prusa Generic PETG @MK4S HF0.5.json | 13 + .../Prusa Generic PETG @MK4S HF0.6.json | 18 + .../Prusa Generic PETG @MK4S HF0.8.json | 19 + .../filament/Prusa Generic PETG @MK4S.json | 41 ++ .../filament/Prusa Generic PLA @MK4S 0.6.json | 15 + .../filament/Prusa Generic PLA @MK4S 0.8.json | 17 + .../Prusa Generic PLA @MK4S HF0.4.json | 17 + .../Prusa Generic PLA @MK4S HF0.5.json | 15 + .../Prusa Generic PLA @MK4S HF0.6.json | 16 + .../Prusa Generic PLA @MK4S HF0.8.json | 17 + .../filament/Prusa Generic PLA @MK4S.json | 33 + .../Prusa Generic PLA Silk @MK4S 0.6.json | 17 + .../Prusa Generic PLA Silk @MK4S 0.8.json | 17 + .../Prusa Generic PLA Silk @MK4S.json | 24 + .../filament/Prusa Generic TPU @MK4S 0.6.json | 14 + .../filament/Prusa Generic TPU @MK4S 0.8.json | 14 + .../filament/Prusa Generic TPU @MK4S.json | 49 ++ .../Prusa/machine/Prusa MK4S 0.25 nozzle.json | 21 + .../Prusa/machine/Prusa MK4S 0.3 nozzle.json | 15 + .../Prusa/machine/Prusa MK4S 0.4 nozzle.json | 13 + .../Prusa/machine/Prusa MK4S 0.5 nozzle.json | 15 + .../Prusa/machine/Prusa MK4S 0.6 nozzle.json | 17 + .../Prusa/machine/Prusa MK4S 0.8 nozzle.json | 22 + .../profiles/Prusa/machine/Prusa MK4S HF.json | 12 + .../machine/Prusa MK4S HF0.4 nozzle.json | 20 + .../machine/Prusa MK4S HF0.5 nozzle.json | 15 + .../machine/Prusa MK4S HF0.6 nozzle.json | 16 + .../machine/Prusa MK4S HF0.8 nozzle.json | 22 + .../profiles/Prusa/machine/Prusa MK4S.json | 12 + .../machine/fdm_machine_common_mk4s.json | 129 ++++ resources/profiles/Prusa/mk4s.svg | 614 ++++++++++++++++++ .../process/0.05mm DETAIL @MK4S 0.25.json | 11 + .../process/0.07mm DETAIL @MK4S 0.25.json | 46 ++ .../process/0.10mm FAST DETAIL @MK4S 0.4.json | 20 + .../process/0.10mm STRUCTURAL @MK4S 0.5.json | 37 ++ .../process/0.12mm SPEED @MK4S 0.25.json | 45 ++ .../process/0.12mm STRUCTURAL @MK4S 0.25.json | 14 + .../process/0.12mm STRUCTURAL @MK4S 0.3.json | 44 ++ .../process/0.15mm SPEED @MK4S 0.25.json | 10 + .../Prusa/process/0.15mm SPEED @MK4S 0.4.json | 18 + .../process/0.15mm SPEED @MK4S HF0.4.json | 13 + .../process/0.15mm STRUCTURAL @MK4S 0.25.json | 12 + .../process/0.15mm STRUCTURAL @MK4S 0.4.json | 13 + .../process/0.15mm STRUCTURAL @MK4S 0.5.json | 36 + .../process/0.15mm STRUCTURAL @MK4S 0.6.json | 43 ++ .../Prusa/process/0.16mm SPEED @MK4S 0.3.json | 15 + .../process/0.16mm STRUCTURAL @MK4S 0.3.json | 18 + .../0.20mm SOLUBLE FULL @MK4S 0.4.json | 31 + .../0.20mm SOLUBLE INTERFACE @MK4S 0.4.json | 31 + .../Prusa/process/0.20mm SPEED @MK4S 0.3.json | 12 + .../Prusa/process/0.20mm SPEED @MK4S 0.4.json | 10 + .../Prusa/process/0.20mm SPEED @MK4S 0.5.json | 34 + .../Prusa/process/0.20mm SPEED @MK4S 0.6.json | 40 ++ .../process/0.20mm SPEED @MK4S HF0.4.json | 14 + .../process/0.20mm SPEED @MK4S HF0.5.json | 17 + .../process/0.20mm SPEED @MK4S HF0.6.json | 18 + .../process/0.20mm STRUCTURAL @MK4S 0.3.json | 12 + .../process/0.20mm STRUCTURAL @MK4S 0.4.json | 20 + .../process/0.20mm STRUCTURAL @MK4S 0.5.json | 16 + .../process/0.20mm STRUCTURAL @MK4S 0.6.json | 16 + .../Prusa/process/0.25mm SPEED @MK4S 0.5.json | 11 + .../Prusa/process/0.25mm SPEED @MK4S 0.6.json | 43 ++ .../process/0.25mm SPEED @MK4S HF0.4.json | 22 + .../process/0.25mm SPEED @MK4S HF0.5.json | 14 + .../process/0.25mm SPEED @MK4S HF0.6.json | 18 + .../process/0.25mm STRUCTURAL @MK4S 0.5.json | 11 + .../process/0.25mm STRUCTURAL @MK4S 0.6.json | 14 + .../0.25mm STRUCTURAL @MK4S HF0.4.json | 16 + .../process/0.28mm DRAFT @MK4S HF0.4.json | 24 + .../process/0.30mm DETAIL @MK4S 0.8.json | 45 ++ .../process/0.30mm SPEED @MK4S HF0.8.json | 19 + .../0.30mm STRUCTURAL @MK4S HF0.8.json | 15 + .../Prusa/process/0.32mm SPEED @MK4S 0.6.json | 43 ++ .../process/0.32mm SPEED @MK4S HF0.5.json | 11 + .../process/0.32mm SPEED @MK4S HF0.6.json | 18 + .../process/0.32mm STRUCTURAL @MK4S 0.6.json | 15 + .../0.32mm STRUCTURAL @MK4S HF0.5.json | 9 + .../0.32mm STRUCTURAL @MK4S HF0.6.json | 15 + .../process/0.40mm QUALITY @MK4S 0.8.json | 45 ++ .../process/0.40mm SPEED @MK4S HF0.6.json | 42 ++ .../process/0.40mm SPEED @MK4S HF0.8.json | 19 + .../0.40mm STRUCTURAL @MK4S HF0.6.json | 18 + .../0.40mm STRUCTURAL @MK4S HF0.8.json | 15 + .../Prusa/process/0.55mm DRAFT @MK4S 0.8.json | 45 ++ .../process/0.55mm SPEED @MK4S HF0.8.json | 19 + .../0.55mm STRUCTURAL @MK4S HF0.8.json | 17 + .../Prusa/process/process_common_mk4s.json | 90 +++ 107 files changed, 3370 insertions(+), 24 deletions(-) create mode 100644 resources/profiles/Prusa/MK4S HF_cover.png create mode 100644 resources/profiles/Prusa/MK4S_cover.png create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.25 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.3 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.4 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.5 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.6 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S 0.8 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S HF.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S HF0.4 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S HF0.5 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S HF0.6 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S HF0.8 nozzle.json create mode 100644 resources/profiles/Prusa/machine/Prusa MK4S.json create mode 100644 resources/profiles/Prusa/machine/fdm_machine_common_mk4s.json create mode 100644 resources/profiles/Prusa/mk4s.svg create mode 100644 resources/profiles/Prusa/process/0.05mm DETAIL @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.07mm DETAIL @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.10mm FAST DETAIL @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.10mm STRUCTURAL @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.12mm SPEED @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.3.json create mode 100644 resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.15mm SPEED @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.25.json create mode 100644 resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.16mm SPEED @MK4S 0.3.json create mode 100644 resources/profiles/Prusa/process/0.16mm STRUCTURAL @MK4S 0.3.json create mode 100644 resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.3.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.3.json create mode 100644 resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.4.json create mode 100644 resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.5.json create mode 100644 resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/process/0.28mm DRAFT @MK4S HF0.4.json create mode 100644 resources/profiles/Prusa/process/0.30mm DETAIL @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/process/0.30mm SPEED @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/0.30mm STRUCTURAL @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/0.32mm SPEED @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S 0.6.json create mode 100644 resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.5.json create mode 100644 resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.40mm QUALITY @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.6.json create mode 100644 resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/0.55mm DRAFT @MK4S 0.8.json create mode 100644 resources/profiles/Prusa/process/0.55mm SPEED @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/0.55mm STRUCTURAL @MK4S HF0.8.json create mode 100644 resources/profiles/Prusa/process/process_common_mk4s.json diff --git a/resources/profiles/Prusa.json b/resources/profiles/Prusa.json index 596cfc9524..75675aedc5 100644 --- a/resources/profiles/Prusa.json +++ b/resources/profiles/Prusa.json @@ -31,6 +31,14 @@ { "name": "Prusa XL 5T", "sub_path": "machine/Prusa XL 5T.json" + }, + { + "name": "MK4S", + "sub_path": "machine/Prusa MK4S.json" + }, + { + "name": "MK4S HF", + "sub_path": "machine/Prusa MK4S HF.json" } ], "process_list": [ @@ -66,6 +74,10 @@ "name": "process_common_xl_5t", "sub_path": "process/process_common_xl_5t.json" }, + { + "name": "process_common_mk4s", + "sub_path": "process/process_common_mk4s.json" + }, { "name": "0.20mm Standard @MINI 0.25", "sub_path": "process/0.20mm Standard @MINI 0.25.json" @@ -85,12 +97,12 @@ { "name": "0.05mm UltraDetail @MK3S 0.25", "sub_path": "process/0.05mm UltraDetail @MK3S 0.25.json" - }, - { + }, + { "name": "0.05mm UltraDetail @MK3S 0.4", "sub_path": "process/0.05mm UltraDetail @MK3S 0.4.json" }, - { + { "name": "0.07mm UltraDetail @MK3S 0.25", "sub_path": "process/0.07mm UltraDetail @MK3S 0.25.json" }, @@ -98,7 +110,7 @@ "name": "0.07mm UltraDetail @MK3S 0.4", "sub_path": "process/0.07mm UltraDetail @MK3S 0.4.json" }, - { + { "name": "0.10mm Detail @MK3S 0.25", "sub_path": "process/0.10mm Detail @MK3S 0.25.json" }, @@ -106,7 +118,7 @@ "name": "0.10mm Detail @MK3S 0.4", "sub_path": "process/0.10mm Detail @MK3S 0.4.json" }, - { + { "name": "0.15mm Quality @MK3S 0.25", "sub_path": "process/0.15mm Quality @MK3S 0.25.json" }, @@ -117,7 +129,7 @@ { "name": "0.15mm Speed @MK3S 0.4", "sub_path": "process/0.15mm Speed @MK3S 0.4.json" - }, + }, { "name": "0.20mm Standard @MK3S 0.4", "sub_path": "process/0.20mm Standard @MK3S 0.4.json" @@ -130,38 +142,38 @@ "name": "0.30mm Draft @MK3S 0.4", "sub_path": "process/0.30mm Draft @MK3S 0.4.json" }, - { + { "name": "0.15mm Detail @MK3S 0.6", "sub_path": "process/0.15mm Detail @MK3S 0.6.json" }, - { + { "name": "0.20mm Detail @MK3S 0.6", "sub_path": "process/0.20mm Detail @MK3S 0.6.json" }, - { + { "name": "0.30mm Quality @MK3S 0.6", "sub_path": "process/0.30mm Quality @MK3S 0.6.json" }, - { + { "name": "0.35mm Speed @MK3S 0.6", "sub_path": "process/0.35mm Speed @MK3S 0.6.json" }, - { + { "name": "0.40mm Draft @MK3S 0.6", "sub_path": "process/0.40mm Draft @MK3S 0.6.json" }, - { + { "name": "0.30mm Detail @MK3S 0.8", "sub_path": "process/0.30mm Detail @MK3S 0.8.json" }, - { + { "name": "0.40mm Quality @MK3S 0.8", "sub_path": "process/0.40mm Quality @MK3S 0.8.json" }, - { + { "name": "0.55mm Draft @MK3S 0.8", "sub_path": "process/0.55mm Draft @MK3S 0.8.json" - }, + }, { "name": "0.08mm Standard @MK4", "sub_path": "process/0.08mm Standard @MK4.json" @@ -249,7 +261,7 @@ { "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" @@ -333,11 +345,11 @@ { "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" @@ -613,7 +625,220 @@ { "name": "0.30mm Detail @Prusa XL 5T 0.8", "sub_path": "process/0.30mm Detail @Prusa XL 5T 0.8.json" + }, + { + "name": "0.07mm DETAIL @MK4S 0.25", + "sub_path": "process/0.07mm DETAIL @MK4S 0.25.json" + }, + { + "name": "0.05mm DETAIL @MK4S 0.25", + "sub_path": "process/0.05mm DETAIL @MK4S 0.25.json" + }, + { + "name": "0.15mm SPEED @MK4S 0.4", + "sub_path": "process/0.15mm SPEED @MK4S 0.4.json" + }, + { + "name": "0.10mm FAST DETAIL @MK4S 0.4", + "sub_path": "process/0.10mm FAST DETAIL @MK4S 0.4.json" + }, + { + "name": "0.10mm STRUCTURAL @MK4S 0.5", + "sub_path": "process/0.10mm STRUCTURAL @MK4S 0.5.json" + }, + { + "name": "0.12mm SPEED @MK4S 0.25", + "sub_path": "process/0.12mm SPEED @MK4S 0.25.json" + }, + { + "name": "0.12mm STRUCTURAL @MK4S 0.25", + "sub_path": "process/0.12mm STRUCTURAL @MK4S 0.25.json" + }, + { + "name": "0.12mm STRUCTURAL @MK4S 0.3", + "sub_path": "process/0.12mm STRUCTURAL @MK4S 0.3.json" + }, + { + "name": "0.15mm SPEED @MK4S 0.25", + "sub_path": "process/0.15mm SPEED @MK4S 0.25.json" + }, + { + "name": "0.15mm SPEED @MK4S HF0.4", + "sub_path": "process/0.15mm SPEED @MK4S HF0.4.json" + }, + { + "name": "0.15mm STRUCTURAL @MK4S 0.25", + "sub_path": "process/0.15mm STRUCTURAL @MK4S 0.25.json" + }, + { + "name": "0.20mm STRUCTURAL @MK4S 0.4", + "sub_path": "process/0.20mm STRUCTURAL @MK4S 0.4.json" + }, + { + "name": "0.15mm STRUCTURAL @MK4S 0.4", + "sub_path": "process/0.15mm STRUCTURAL @MK4S 0.4.json" + }, + { + "name": "0.15mm STRUCTURAL @MK4S 0.5", + "sub_path": "process/0.15mm STRUCTURAL @MK4S 0.5.json" + }, + { + "name": "0.15mm STRUCTURAL @MK4S 0.6", + "sub_path": "process/0.15mm STRUCTURAL @MK4S 0.6.json" + }, + { + "name": "0.16mm STRUCTURAL @MK4S 0.3", + "sub_path": "process/0.16mm STRUCTURAL @MK4S 0.3.json" + }, + { + "name": "0.16mm SPEED @MK4S 0.3", + "sub_path": "process/0.16mm SPEED @MK4S 0.3.json" + }, + { + "name": "0.20mm SPEED @MK4S 0.3", + "sub_path": "process/0.20mm SPEED @MK4S 0.3.json" + }, + { + "name": "0.20mm SPEED @MK4S 0.4", + "sub_path": "process/0.20mm SPEED @MK4S 0.4.json" + }, + { + "name": "0.20mm SPEED @MK4S 0.5", + "sub_path": "process/0.20mm SPEED @MK4S 0.5.json" + }, + { + "name": "0.20mm SPEED @MK4S 0.6", + "sub_path": "process/0.20mm SPEED @MK4S 0.6.json" + }, + { + "name": "0.20mm SPEED @MK4S HF0.4", + "sub_path": "process/0.20mm SPEED @MK4S HF0.4.json" + }, + { + "name": "0.20mm SPEED @MK4S HF0.5", + "sub_path": "process/0.20mm SPEED @MK4S HF0.5.json" + }, + { + "name": "0.20mm SPEED @MK4S HF0.6", + "sub_path": "process/0.20mm SPEED @MK4S HF0.6.json" + }, + { + "name": "0.20mm STRUCTURAL @MK4S 0.3", + "sub_path": "process/0.20mm STRUCTURAL @MK4S 0.3.json" + }, + { + "name": "0.20mm STRUCTURAL @MK4S 0.5", + "sub_path": "process/0.20mm STRUCTURAL @MK4S 0.5.json" + }, + { + "name": "0.20mm STRUCTURAL @MK4S 0.6", + "sub_path": "process/0.20mm STRUCTURAL @MK4S 0.6.json" + }, + { + "name": "0.25mm SPEED @MK4S 0.5", + "sub_path": "process/0.25mm SPEED @MK4S 0.5.json" + }, + { + "name": "0.25mm SPEED @MK4S 0.6", + "sub_path": "process/0.25mm SPEED @MK4S 0.6.json" + }, + { + "name": "0.25mm SPEED @MK4S HF0.4", + "sub_path": "process/0.25mm SPEED @MK4S HF0.4.json" + }, + { + "name": "0.25mm SPEED @MK4S HF0.5", + "sub_path": "process/0.25mm SPEED @MK4S HF0.5.json" + }, + { + "name": "0.25mm SPEED @MK4S HF0.6", + "sub_path": "process/0.25mm SPEED @MK4S HF0.6.json" + }, + { + "name": "0.25mm STRUCTURAL @MK4S 0.5", + "sub_path": "process/0.25mm STRUCTURAL @MK4S 0.5.json" + }, + { + "name": "0.25mm STRUCTURAL @MK4S 0.6", + "sub_path": "process/0.25mm STRUCTURAL @MK4S 0.6.json" + }, + { + "name": "0.25mm STRUCTURAL @MK4S HF0.4", + "sub_path": "process/0.25mm STRUCTURAL @MK4S HF0.4.json" + }, + { + "name": "0.28mm DRAFT @MK4S HF0.4", + "sub_path": "process/0.28mm DRAFT @MK4S HF0.4.json" + }, + { + "name": "0.30mm DETAIL @MK4S 0.8", + "sub_path": "process/0.30mm DETAIL @MK4S 0.8.json" + }, + { + "name": "0.30mm SPEED @MK4S HF0.8", + "sub_path": "process/0.30mm SPEED @MK4S HF0.8.json" + }, + { + "name": "0.30mm STRUCTURAL @MK4S HF0.8", + "sub_path": "process/0.30mm STRUCTURAL @MK4S HF0.8.json" + }, + { + "name": "0.32mm SPEED @MK4S 0.6", + "sub_path": "process/0.32mm SPEED @MK4S 0.6.json" + }, + { + "name": "0.32mm SPEED @MK4S HF0.5", + "sub_path": "process/0.32mm SPEED @MK4S HF0.5.json" + }, + { + "name": "0.32mm SPEED @MK4S HF0.6", + "sub_path": "process/0.32mm SPEED @MK4S HF0.6.json" + }, + { + "name": "0.32mm STRUCTURAL @MK4S 0.6", + "sub_path": "process/0.32mm STRUCTURAL @MK4S 0.6.json" + }, + { + "name": "0.32mm STRUCTURAL @MK4S HF0.5", + "sub_path": "process/0.32mm STRUCTURAL @MK4S HF0.5.json" + }, + { + "name": "0.32mm STRUCTURAL @MK4S HF0.6", + "sub_path": "process/0.32mm STRUCTURAL @MK4S HF0.6.json" + }, + { + "name": "0.40mm QUALITY @MK4S 0.8", + "sub_path": "process/0.40mm QUALITY @MK4S 0.8.json" + }, + { + "name": "0.40mm SPEED @MK4S HF0.6", + "sub_path": "process/0.40mm SPEED @MK4S HF0.6.json" + }, + { + "name": "0.40mm SPEED @MK4S HF0.8", + "sub_path": "process/0.40mm SPEED @MK4S HF0.8.json" + }, + { + "name": "0.40mm STRUCTURAL @MK4S HF0.6", + "sub_path": "process/0.40mm STRUCTURAL @MK4S HF0.6.json" + }, + { + "name": "0.40mm STRUCTURAL @MK4S HF0.8", + "sub_path": "process/0.40mm STRUCTURAL @MK4S HF0.8.json" + }, + { + "name": "0.55mm DRAFT @MK4S 0.8", + "sub_path": "process/0.55mm DRAFT @MK4S 0.8.json" + }, + { + "name": "0.55mm SPEED @MK4S HF0.8", + "sub_path": "process/0.55mm SPEED @MK4S HF0.8.json" + }, + { + "name": "0.55mm STRUCTURAL @MK4S HF0.8", + "sub_path": "process/0.55mm STRUCTURAL @MK4S HF0.8.json" } + ], "filament_list": [ { @@ -872,7 +1097,6 @@ "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" @@ -1108,6 +1332,142 @@ { "name": "Prusa Generic PA-CF @MK3.5 0.8", "sub_path": "filament/Prusa Generic PA-CF @MK3.5 0.8.json" + }, + { + "name": "Prusa Generic ABS @MK4S", + "sub_path": "filament/Prusa Generic ABS @MK4S.json" + }, + { + "name": "Prusa Generic ABS @MK4S 0.6", + "sub_path": "filament/Prusa Generic ABS @MK4S 0.6.json" + }, + { + "name": "Prusa Generic ABS @MK4S 0.8", + "sub_path": "filament/Prusa Generic ABS @MK4S 0.8.json" + }, + { + "name": "Prusa Generic ABS @MK4S HF0.4", + "sub_path": "filament/Prusa Generic ABS @MK4S HF0.4.json" + }, + { + "name": "Prusa Generic ABS @MK4S HF0.5", + "sub_path": "filament/Prusa Generic ABS @MK4S HF0.5.json" + }, + { + "name": "Prusa Generic ABS @MK4S HF0.6", + "sub_path": "filament/Prusa Generic ABS @MK4S HF0.6.json" + }, + { + "name": "Prusa Generic ABS @MK4S HF0.8", + "sub_path": "filament/Prusa Generic ABS @MK4S HF0.8.json" + }, + { + "name": "Prusa Generic ASA @MK4S", + "sub_path": "filament/Prusa Generic ASA @MK4S.json" + }, + { + "name": "Prusa Generic ASA @MK4S 0.6", + "sub_path": "filament/Prusa Generic ASA @MK4S 0.6.json" + }, + { + "name": "Prusa Generic ASA @MK4S 0.8", + "sub_path": "filament/Prusa Generic ASA @MK4S 0.8.json" + }, + { + "name": "Prusa Generic ASA @MK4S HF0.4", + "sub_path": "filament/Prusa Generic ASA @MK4S HF0.4.json" + }, + { + "name": "Prusa Generic ASA @MK4S HF0.5", + "sub_path": "filament/Prusa Generic ASA @MK4S HF0.5.json" + }, + { + "name": "Prusa Generic ASA @MK4S HF0.6", + "sub_path": "filament/Prusa Generic ASA @MK4S HF0.6.json" + }, + { + "name": "Prusa Generic ASA @MK4S HF0.8", + "sub_path": "filament/Prusa Generic ASA @MK4S HF0.8.json" + }, + { + "name": "Prusa Generic TPU @MK4S", + "sub_path": "filament/Prusa Generic TPU @MK4S.json" + }, + { + "name": "Prusa Generic TPU @MK4S 0.6", + "sub_path": "filament/Prusa Generic TPU @MK4S 0.6.json" + }, + { + "name": "Prusa Generic TPU @MK4S 0.8", + "sub_path": "filament/Prusa Generic TPU @MK4S 0.8.json" + }, + { + "name": "Prusa Generic PETG @MK4S", + "sub_path": "filament/Prusa Generic PETG @MK4S.json" + }, + { + "name": "Prusa Generic PETG @MK4S 0.6", + "sub_path": "filament/Prusa Generic PETG @MK4S 0.6.json" + }, + { + "name": "Prusa Generic PETG @MK4S 0.8", + "sub_path": "filament/Prusa Generic PETG @MK4S 0.8.json" + }, + { + "name": "Prusa Generic PETG @MK4S HF0.4", + "sub_path": "filament/Prusa Generic PETG @MK4S HF0.4.json" + }, + { + "name": "Prusa Generic PETG @MK4S HF0.5", + "sub_path": "filament/Prusa Generic PETG @MK4S HF0.5.json" + }, + { + "name": "Prusa Generic PETG @MK4S HF0.6", + "sub_path": "filament/Prusa Generic PETG @MK4S HF0.6.json" + }, + { + "name": "Prusa Generic PETG @MK4S HF0.8", + "sub_path": "filament/Prusa Generic PETG @MK4S HF0.8.json" + }, + { + "name": "Prusa Generic PLA @MK4S", + "sub_path": "filament/Prusa Generic PLA @MK4S.json" + }, + { + "name": "Prusa Generic PLA @MK4S 0.6", + "sub_path": "filament/Prusa Generic PLA @MK4S 0.6.json" + }, + { + "name": "Prusa Generic PLA @MK4S 0.8", + "sub_path": "filament/Prusa Generic PLA @MK4S 0.8.json" + }, + { + "name": "Prusa Generic PLA @MK4S HF0.4", + "sub_path": "filament/Prusa Generic PLA @MK4S HF0.4.json" + }, + { + "name": "Prusa Generic PLA @MK4S HF0.5", + "sub_path": "filament/Prusa Generic PLA @MK4S HF0.5.json" + }, + { + "name": "Prusa Generic PLA @MK4S HF0.6", + "sub_path": "filament/Prusa Generic PLA @MK4S HF0.6.json" + }, + { + "name": "Prusa Generic PLA @MK4S HF0.8", + "sub_path": "filament/Prusa Generic PLA @MK4S HF0.8.json" + }, + { + "name": "Prusa Generic PLA Silk @MK4S", + "sub_path": "filament/Prusa Generic PLA Silk @MK4S.json" + }, + { + "name": "Prusa Generic PLA Silk @MK4S 0.6", + "sub_path": "filament/Prusa Generic PLA Silk @MK4S 0.6.json" + }, + { + "name": "Prusa Generic PLA Silk @MK4S 0.8", + "sub_path": "filament/Prusa Generic PLA Silk @MK4S 0.8.json" } ], "machine_list": [ @@ -1123,7 +1483,11 @@ "name": "fdm_machine_common_xl_5t", "sub_path": "machine/fdm_machine_common_xl_5t.json" }, - { + { + "name": "fdm_machine_common_mk4s", + "sub_path": "machine/fdm_machine_common_mk4s.json" + }, + { "name": "Prusa MK3S 0.25 nozzle", "sub_path": "machine/Prusa MK3S 0.25 nozzle.json" }, @@ -1131,14 +1495,14 @@ "name": "Prusa MK3S 0.4 nozzle", "sub_path": "machine/Prusa MK3S 0.4 nozzle.json" }, - { + { "name": "Prusa MK3S 0.6 nozzle", "sub_path": "machine/Prusa MK3S 0.6 nozzle.json" - }, - { + }, + { "name": "Prusa MK3S 0.8 nozzle", "sub_path": "machine/Prusa MK3S 0.8 nozzle.json" - }, + }, { "name": "Prusa MK4 0.25 nozzle", "sub_path": "machine/Prusa MK4 0.25 nozzle.json" @@ -1250,6 +1614,46 @@ { "name": "Prusa XL 5T 0.8 nozzle", "sub_path": "machine/Prusa XL 5T 0.8 nozzle.json" + }, + { + "name": "Prusa MK4S 0.4 nozzle", + "sub_path": "machine/Prusa MK4S 0.4 nozzle.json" + }, + { + "name": "Prusa MK4S HF0.4 nozzle", + "sub_path": "machine/Prusa MK4S HF0.4 nozzle.json" + }, + { + "name": "Prusa MK4S 0.25 nozzle", + "sub_path": "machine/Prusa MK4S 0.25 nozzle.json" + }, + { + "name": "Prusa MK4S 0.3 nozzle", + "sub_path": "machine/Prusa MK4S 0.3 nozzle.json" + }, + { + "name": "Prusa MK4S 0.5 nozzle", + "sub_path": "machine/Prusa MK4S 0.5 nozzle.json" + }, + { + "name": "Prusa MK4S 0.6 nozzle", + "sub_path": "machine/Prusa MK4S 0.6 nozzle.json" + }, + { + "name": "Prusa MK4S 0.8 nozzle", + "sub_path": "machine/Prusa MK4S 0.8 nozzle.json" + }, + { + "name": "Prusa MK4S HF0.5 nozzle", + "sub_path": "machine/Prusa MK4S HF0.5 nozzle.json" + }, + { + "name": "Prusa MK4S HF0.6 nozzle", + "sub_path": "machine/Prusa MK4S HF0.6 nozzle.json" + }, + { + "name": "Prusa MK4S HF0.8 nozzle", + "sub_path": "machine/Prusa MK4S HF0.8 nozzle.json" } ] } diff --git a/resources/profiles/Prusa/MK4S HF_cover.png b/resources/profiles/Prusa/MK4S HF_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..d33b2e60c0e0c28482a3292a87cb46ee85b4b7f1 GIT binary patch literal 67376 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

(b-Tc=6uKB%@7B@RP=I;CNpSZ&Aou>^} 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 Am;e9( literal 0 HcmV?d00001 diff --git a/resources/profiles/Prusa/MK4S_cover.png b/resources/profiles/Prusa/MK4S_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..d33b2e60c0e0c28482a3292a87cb46ee85b4b7f1 GIT binary patch literal 67376 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

(b-Tc=6uKB%@7B@RP=I;CNpSZ&Aou>^} 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 Am;e9( literal 0 HcmV?d00001 diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.6.json new file mode 100644 index 0000000000..aa0b8811d6 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.6.json @@ -0,0 +1,12 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "filament_id": "Generic ABS @MK4S 0.6", + "from": "system", + "inherits": "Prusa Generic ABS @MK4S", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S 0.6", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.8.json new file mode 100644 index 0000000000..b5e16d7fc1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S 0.8.json @@ -0,0 +1,12 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "filament_id": "Generic ABS @MK4S 0.8", + "from": "system", + "inherits": "Prusa Generic ABS @MK4S", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S 0.8", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.4.json new file mode 100644 index 0000000000..4a57166b17 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.4.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "fan_max_speed": "15", + "filament_id": "Generic ABS @MK4S HF0.4", + "filament_max_volumetric_speed": "26", + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{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\nM142 S40 ; set heatbreak target temp" + ], + "from": "system", + "inherits": "Prusa Generic ABS @MK4S", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S HF0.4", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.5.json new file mode 100644 index 0000000000..4efb066182 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.5.json @@ -0,0 +1,13 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "filament_id": "Generic ABS @MK4S HF0.5", + "filament_max_volumetric_speed": "27", + "from": "system", + "inherits": "Prusa Generic ABS @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S HF0.5", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.6.json new file mode 100644 index 0000000000..9ded6ce740 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.6.json @@ -0,0 +1,13 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "filament_id": "Generic ABS @MK4S HF0.6", + "filament_max_volumetric_speed": "34", + "from": "system", + "inherits": "Prusa Generic ABS @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S HF0.6", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.8.json new file mode 100644 index 0000000000..d0f3f450da --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_min_speed": "15", + "filament_id": "Generic ABS @MK4S HF0.8", + "filament_max_volumetric_speed": "36", + "from": "system", + "inherits": "Prusa Generic ABS @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S HF0.8", + "setting_id": "GFSA04", + "slow_down_layer_time": "25", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S.json new file mode 100644 index 0000000000..fdbfd006d0 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ABS @MK4S.json @@ -0,0 +1,36 @@ +{ + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FFF2EC", + "fan_max_speed": "10", + "filament_cost": "27.82", + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_id": "Generic ABS @MK4S", + "filament_max_volumetric_speed": "15", + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "from": "system", + "hot_plate_temp": "110", + "hot_plate_temp_initial_layer": "100", + "inherits": "fdm_filament_abs", + "instantiation": "true", + "name": "Prusa Generic ABS @MK4S", + "overhang_fan_speed": "20", + "reduce_fan_stop_start_freq": "0", + "setting_id": "GFSA04", + "slow_down_layer_time": "20", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.6.json new file mode 100644 index 0000000000..c0b160131e --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "filament_id": "Prusament ASA @MK4S 0.6", + "from": "system", + "inherits": "Prusa Generic ASA @MK4S", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S 0.6", + "nozzle_temperature": "255", + "setting_id": "GFSA04", + "slow_down_layer_time": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.8.json new file mode 100644 index 0000000000..d9935d6529 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S 0.8.json @@ -0,0 +1,15 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "filament_id": "Prusament ASA @MK4S 0.8", + "from": "system", + "inherits": "Prusa Generic ASA @MK4S", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S 0.8", + "setting_id": "GFSA04", + "slow_down_layer_time": "18", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.4.json new file mode 100644 index 0000000000..246d03cad9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.4.json @@ -0,0 +1,19 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_id": "Prusament ASA @MK4S HF0.4", + "filament_max_volumetric_speed": "26", + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.02{elsif nozzle_diameter[0]==0.5}0.018{elsif nozzle_diameter[0]==0.6}0.015{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\nM142 S40 ; set heatbreak target temp" + ], + "from": "system", + "inherits": "Prusa Generic ASA @MK4S", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S HF0.4", + "nozzle_temperature": "265", + "nozzle_temperature_initial_layer": "265", + "setting_id": "GFSA04", + "slow_down_layer_time": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.5.json new file mode 100644 index 0000000000..e1fedfa8e2 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.5.json @@ -0,0 +1,13 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "filament_id": "Prusament ASA @MK4S HF0.5", + "filament_max_volumetric_speed": "27", + "from": "system", + "inherits": "Prusa Generic ASA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S HF0.5", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.6.json new file mode 100644 index 0000000000..3a86b9b858 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.6.json @@ -0,0 +1,15 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "filament_id": "Prusament ASA @MK4S HF0.6", + "filament_max_volumetric_speed": "34", + "from": "system", + "inherits": "Prusa Generic ASA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S HF0.6", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.8.json new file mode 100644 index 0000000000..f3949c9e89 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S HF0.8.json @@ -0,0 +1,18 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_max_speed": "15", + "fan_min_speed": "15", + "filament_id": "Prusament ASA @MK4S HF0.8", + "filament_max_volumetric_speed": "36", + "from": "system", + "inherits": "Prusa Generic ASA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S HF0.8", + "nozzle_temperature": "270", + "nozzle_temperature_initial_layer": "270", + "setting_id": "GFSA04", + "slow_down_layer_time": "20", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S.json new file mode 100644 index 0000000000..fa15f19a2b --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic ASA @MK4S.json @@ -0,0 +1,37 @@ +{ + "close_fan_the_first_x_layers": "4", + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FFF2EC", + "fan_cooling_layer_time": "20", + "fan_max_speed": "12", + "fan_min_speed": "12", + "filament_cost": "35.28", + "filament_density": "1.07", + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_id": "Prusament ASA @MK4S", + "filament_max_volumetric_speed": "15", + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.04{elsif nozzle_diameter[filament_extruder_id]==0.25}0.1{elsif nozzle_diameter[filament_extruder_id]==0.3}0.06{elsif nozzle_diameter[filament_extruder_id]==0.35}0.05{elsif nozzle_diameter[filament_extruder_id]==0.5}0.03{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.02{elsif nozzle_diameter[filament_extruder_id]==0.5}0.018{elsif nozzle_diameter[filament_extruder_id]==0.6}0.012{elsif nozzle_diameter[filament_extruder_id]==0.8}0.01{elsif nozzle_diameter[filament_extruder_id]==0.25}0.09{elsif nozzle_diameter[filament_extruder_id]==0.3}0.065{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S40 ; set heatbreak target temp" + ], + "from": "system", + "hot_plate_temp": "110", + "inherits": "fdm_filament_asa", + "instantiation": "true", + "name": "Prusa Generic ASA @MK4S", + "overhang_fan_speed": "20", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.6.json new file mode 100644 index 0000000000..4bf693bff1 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.6.json @@ -0,0 +1,16 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_id": "Generic PETG @MK4S 0.6", + "filament_max_volumetric_speed": "17", + "from": "system", + "inherits": "Prusa Generic PETG @MK4S", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S 0.6", + "overhang_fan_speed": "45", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.8.json new file mode 100644 index 0000000000..a2a712f406 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S 0.8.json @@ -0,0 +1,21 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_max_speed": "45", + "fan_min_speed": "25", + "filament_id": "Generic PETG @MK4S 0.8", + "filament_max_volumetric_speed": "22", + "filament_retract_before_wipe": "50", + "from": "system", + "inherits": "Prusa Generic PETG @MK4S", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S 0.8", + "nozzle_temperature": "245", + "nozzle_temperature_initial_layer": "240", + "overhang_fan_speed": "45", + "setting_id": "GFSA04", + "slow_down_layer_time": "18", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.4.json new file mode 100644 index 0000000000..4e5af2f62c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.4.json @@ -0,0 +1,18 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_id": "Generic PETG @MK4S HF0.4", + "filament_max_volumetric_speed": "24", + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.5}0.044{elsif nozzle_diameter[0]==0.6}0.035{elsif nozzle_diameter[0]==0.8}0.022{elsif nozzle_diameter[0]==0.25}0.18{elsif nozzle_diameter[0]==0.3}0.1{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "from": "system", + "inherits": "Prusa Generic PETG @MK4S", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S HF0.4", + "nozzle_temperature": "245", + "nozzle_temperature_initial_layer": "235", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.5.json new file mode 100644 index 0000000000..5fdf8ddb55 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.5.json @@ -0,0 +1,13 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "filament_id": "Generic PETG @MK4S HF0.5", + "filament_max_volumetric_speed": "29", + "from": "system", + "inherits": "Prusa Generic PETG @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S HF0.5", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.6.json new file mode 100644 index 0000000000..822a838253 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_id": "Generic PETG @MK4S HF0.6", + "filament_max_volumetric_speed": "33", + "from": "system", + "inherits": "Prusa Generic PETG @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S HF0.6", + "nozzle_temperature": "240", + "nozzle_temperature_initial_layer": "230", + "overhang_fan_speed": "45", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.8.json new file mode 100644 index 0000000000..28bae283be --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S HF0.8.json @@ -0,0 +1,19 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_max_speed": "45", + "filament_id": "Generic PETG @MK4S HF0.8", + "filament_max_volumetric_speed": "37", + "filament_retract_before_wipe": "50", + "from": "system", + "inherits": "Prusa Generic PETG @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S HF0.8", + "nozzle_temperature_initial_layer": "240", + "overhang_fan_speed": "45", + "setting_id": "GFSA04", + "slow_down_layer_time": "18", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S.json new file mode 100644 index 0000000000..84ed882fea --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PETG @MK4S.json @@ -0,0 +1,41 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FF8000", + "fan_max_speed": "40", + "filament_cost": "27.82", + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_id": "Generic PETG @MK4S", + "filament_max_volumetric_speed": "12", + "filament_minimal_purge_on_wipe_tower": "35", + "filament_notes": [ + "" + ], + "filament_retract_before_wipe": "20", + "filament_retraction_length": "0.8", + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.07{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.09{elsif nozzle_diameter[filament_extruder_id]==0.35}0.08{elsif nozzle_diameter[filament_extruder_id]==0.6}0.04{elsif nozzle_diameter[filament_extruder_id]==0.5}0.05{elsif nozzle_diameter[filament_extruder_id]==0.8}0.02{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.053{elsif nozzle_diameter[filament_extruder_id]==0.5}0.042{elsif nozzle_diameter[filament_extruder_id]==0.6}0.032{elsif nozzle_diameter[filament_extruder_id]==0.8}0.018{elsif nozzle_diameter[filament_extruder_id]==0.25}0.18{elsif nozzle_diameter[filament_extruder_id]==0.3}0.1{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_wipe": "1", + "filament_z_hop": "0.15", + "from": "system", + "full_fan_speed_layer": "5", + "hot_plate_temp": "90", + "hot_plate_temp_initial_layer": "85", + "inherits": "fdm_filament_pet", + "instantiation": "true", + "name": "Prusa Generic PETG @MK4S", + "nozzle_temperature": "240", + "nozzle_temperature_initial_layer": "230", + "overhang_fan_speed": "40", + "setting_id": "GFSA04", + "slow_down_layer_time": "7", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.6.json new file mode 100644 index 0000000000..9dfe93f6fb --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.6.json @@ -0,0 +1,15 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_id": "Generic PLA @MK4S 0.6", + "from": "system", + "inherits": "Prusa Generic PLA @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S 0.6", + "nozzle_temperature": "210", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.8.json new file mode 100644 index 0000000000..2aa98c26b8 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S 0.8.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "filament_id": "Generic PLA @MK4S 0.8", + "filament_max_volumetric_speed": "19", + "from": "system", + "inherits": "Prusa Generic PLA @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S 0.8", + "nozzle_temperature": "225", + "setting_id": "GFSA04", + "slow_down_layer_time": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.4.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.4.json new file mode 100644 index 0000000000..8510abbfd9 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.4.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.4 nozzle" + ], + "filament_id": "Generic PLA @MK4S HF0.4", + "filament_max_volumetric_speed": "22", + "filament_start_gcode": [ + "M572 S{if nozzle_diameter[0]==0.4}0.036{elsif nozzle_diameter[0]==0.5}0.026{elsif nozzle_diameter[0]==0.6}0.02{elsif nozzle_diameter[0]==0.8}0.015{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.08{else}0{endif} ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "from": "system", + "inherits": "Prusa Generic PLA @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S HF0.4", + "nozzle_temperature": "225", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.5.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.5.json new file mode 100644 index 0000000000..e27631f1af --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.5.json @@ -0,0 +1,15 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.5 nozzle" + ], + "fan_cooling_layer_time": "20", + "filament_id": "Generic PLA @MK4S HF0.5", + "filament_max_volumetric_speed": "24", + "from": "system", + "inherits": "Prusa Generic PLA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S HF0.5", + "setting_id": "GFSA04", + "slow_down_layer_time": "8", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.6.json new file mode 100644 index 0000000000..7907449407 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.6.json @@ -0,0 +1,16 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_id": "Generic PLA @MK4S HF0.6", + "filament_max_volumetric_speed": "30", + "from": "system", + "inherits": "Prusa Generic PLA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S HF0.6", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.8.json new file mode 100644 index 0000000000..eed54bdeaa --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S HF0.8.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "filament_id": "Generic PLA @MK4S HF0.8", + "filament_max_volumetric_speed": "35", + "from": "system", + "inherits": "Prusa Generic PLA @MK4S HF0.4", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S HF0.8", + "setting_id": "GFSA04", + "slow_down_layer_time": "15", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S.json new file mode 100644 index 0000000000..6034816191 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA @MK4S.json @@ -0,0 +1,33 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle" + ], + "default_filament_colour": "#FF8000", + "fan_cooling_layer_time": "17", + "fan_min_speed": "70", + "filament_cost": "25.4", + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_id": "Generic PLA @MK4S", + "filament_max_volumetric_speed": "15", + "filament_notes": [ + "" + ], + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[filament_extruder_id]==0.4}0.05{elsif nozzle_diameter[filament_extruder_id]==0.25}0.14{elsif nozzle_diameter[filament_extruder_id]==0.3}0.07{elsif nozzle_diameter[filament_extruder_id]==0.35}0.06{elsif nozzle_diameter[filament_extruder_id]==0.6}0.03{elsif nozzle_diameter[filament_extruder_id]==0.5}0.035{elsif nozzle_diameter[filament_extruder_id]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[filament_extruder_id]==0.4}0.036{elsif nozzle_diameter[filament_extruder_id]==0.5}0.025{elsif nozzle_diameter[filament_extruder_id]==0.6}0.02{elsif nozzle_diameter[filament_extruder_id]==0.8}0.014{elsif nozzle_diameter[filament_extruder_id]==0.25}0.12{elsif nozzle_diameter[filament_extruder_id]==0.3}0.08{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "from": "system", + "full_fan_speed_layer": "3", + "inherits": "fdm_filament_pla", + "instantiation": "true", + "name": "Prusa Generic PLA @MK4S", + "nozzle_temperature_initial_layer": "230", + "setting_id": "GFSA04", + "slow_down_layer_time": "6", + "slow_down_min_speed": "20", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.6.json new file mode 100644 index 0000000000..b67267267f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.6.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle", + "Prusa MK4S HF0.6 nozzle" + ], + "fan_cooling_layer_time": "22", + "filament_id": "Generic PLA Silk @MK4S 0.6", + "filament_max_volumetric_speed": "9", + "from": "system", + "inherits": "Prusa Generic PLA Silk @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA Silk @MK4S 0.6", + "nozzle_temperature": "215", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.8.json new file mode 100644 index 0000000000..bddcba4963 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S 0.8.json @@ -0,0 +1,17 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle", + "Prusa MK4S HF0.8 nozzle" + ], + "fan_cooling_layer_time": "25", + "fan_min_speed": "80", + "filament_id": "Generic PLA Silk @MK4S 0.8", + "filament_max_volumetric_speed": "12", + "from": "system", + "inherits": "Prusa Generic PLA Silk @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA Silk @MK4S 0.8", + "setting_id": "GFSA04", + "slow_down_layer_time": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S.json new file mode 100644 index 0000000000..febbb7a50f --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic PLA Silk @MK4S.json @@ -0,0 +1,24 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.25 nozzle", + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle", + "Prusa MK4S HF0.25 nozzle", + "Prusa MK4S HF0.3 nozzle", + "Prusa MK4S HF0.4 nozzle", + "Prusa MK4S HF0.5 nozzle" + ], + "filament_id": "Generic PLA Silk @MK4S", + "filament_max_volumetric_speed": "7", + "filament_start_gcode": [ + "M900 K{if nozzle_diameter[0]==0.4}0.05{elsif nozzle_diameter[0]==0.25}0.14{elsif nozzle_diameter[0]==0.3}0.07{elsif nozzle_diameter[0]==0.35}0.06{elsif nozzle_diameter[0]==0.6}0.03{elsif nozzle_diameter[0]==0.5}0.035{elsif nozzle_diameter[0]==0.8}0.015{else}0{endif} ; Filament gcode\n\n{if printer_notes=~/.*(MK4IS|XLIS|MK4S|MK3.9S).*/}\nM572 S{if nozzle_diameter[0]==0.4}0.03{elsif nozzle_diameter[0]==0.5}0.022{elsif nozzle_diameter[0]==0.6}0.018{elsif nozzle_diameter[0]==0.8}0.012{elsif nozzle_diameter[0]==0.25}0.12{elsif nozzle_diameter[0]==0.3}0.075{else}0{endif} ; Filament gcode\n{endif}\n\nM142 S36 ; set heatbreak target temp" + ], + "from": "system", + "inherits": "Prusa Generic PLA @MK4S", + "instantiation": "true", + "name": "Prusa Generic PLA Silk @MK4S", + "nozzle_temperature": "225", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.6.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.6.json new file mode 100644 index 0000000000..6d6ac13900 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.6 nozzle", + "Prusa MK4S HF0.6 nozzle" + ], + "filament_id": "Generic FLEX @MK4S 0.6", + "filament_max_volumetric_speed": "6", + "from": "system", + "inherits": "Prusa Generic TPU @MK4S", + "instantiation": "true", + "name": "Prusa Generic TPU @MK4S 0.6", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.8.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.8.json new file mode 100644 index 0000000000..7656ab0c6c --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S 0.8.json @@ -0,0 +1,14 @@ +{ + "compatible_printers": [ + "Prusa MK4S 0.8 nozzle", + "Prusa MK4S HF0.8 nozzle" + ], + "filament_id": "Generic FLEX @MK4S 0.8", + "filament_max_volumetric_speed": "9", + "from": "system", + "inherits": "Prusa Generic TPU @MK4S", + "instantiation": "true", + "name": "Prusa Generic TPU @MK4S 0.8", + "setting_id": "GFSA04", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S.json b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S.json new file mode 100644 index 0000000000..a818a58910 --- /dev/null +++ b/resources/profiles/Prusa/filament/Prusa Generic TPU @MK4S.json @@ -0,0 +1,49 @@ +{ + "close_fan_the_first_x_layers": "3", + "compatible_printers": [ + "Prusa MK4S 0.3 nozzle", + "Prusa MK4S 0.4 nozzle", + "Prusa MK4S 0.5 nozzle", + "Prusa MK4S HF0.4 nozzle", + "Prusa MK4S HF0.5 nozzle" + ], + "default_filament_colour": "#008000", + "fan_max_speed": "50", + "fan_min_speed": "30", + "filament_cost": "82", + "filament_density": "1.22", + "filament_deretraction_speed": "20", + "filament_end_gcode": [ + "; Filament-specific end gcode" + ], + "filament_flow_ratio": "1.08", + "filament_id": "Generic FLEX @MK4S", + "filament_max_volumetric_speed": "3", + "filament_notes": [ + "" + ], + "filament_retraction_length": "2.5", + "filament_retraction_minimum_travel": "2", + "filament_retraction_speed": "60", + "filament_start_gcode": [ + "M900 K0 ; Filament gcode\n\nM142 S36 ; set heatbreak target temp" + ], + "filament_type": [ + "FLEX" + ], + "filament_wipe": "0", + "filament_z_hop": "0", + "from": "system", + "hot_plate_temp": "50", + "hot_plate_temp_initial_layer": "50", + "inherits": "fdm_filament_tpu", + "instantiation": "true", + "name": "Prusa Generic TPU @MK4S", + "nozzle_temperature": "230", + "nozzle_temperature_initial_layer": "230", + "overhang_fan_speed": "70", + "setting_id": "GFSA04", + "slow_down_layer_time": "10", + "slow_down_min_speed": "15", + "type": "filament" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.25 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.25 nozzle.json new file mode 100644 index 0000000000..5345dc0e60 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.25 nozzle.json @@ -0,0 +1,21 @@ +{ + "default_print_profile": "0.12mm STRUCTURAL @MK4S 0.25", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "machine_max_acceleration_travel": [ + "2500", + "2500" + ], + "max_layer_height": "0.15", + "min_layer_height": "0.05", + "name": "Prusa MK4S 0.25 nozzle", + "nozzle_diameter": [ + "0.25" + ], + "printer_model": "MK4S", + "printer_variant": "0.25", + "retraction_length": "0.8", + "type": "machine", + "z_hop": "0.15" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.3 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.3 nozzle.json new file mode 100644 index 0000000000..de576ab714 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.3 nozzle.json @@ -0,0 +1,15 @@ +{ + "default_print_profile": "0.16mm STRUCTURAL @MK4S 0.3", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.22", + "min_layer_height": "0.05", + "name": "Prusa MK4S 0.3 nozzle", + "nozzle_diameter": [ + "0.3" + ], + "printer_model": "MK4S", + "printer_variant": "0.3", + "type": "machine" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.4 nozzle.json new file mode 100644 index 0000000000..7e4eb97553 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.4 nozzle.json @@ -0,0 +1,13 @@ +{ + "default_filament_profile": "Prusament PLA @MK4S", + "default_print_profile": "0.20mm SPEED @MK4S 0.4", + "from": "system", + "inherits": "fdm_machine_common_mk4s", + "instantiation": "true", + "name": "Prusa MK4S 0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "MK4S", + "type": "machine" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.5 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.5 nozzle.json new file mode 100644 index 0000000000..900ff99a0f --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.5 nozzle.json @@ -0,0 +1,15 @@ +{ + "default_print_profile": "0.20mm SPEED @MK4S 0.5", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.32", + "name": "Prusa MK4S 0.5 nozzle", + "nozzle_diameter": [ + "0.5" + ], + "printer_model": "MK4S", + "printer_variant": "0.5", + "type": "machine", + "wipe": "1" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.6 nozzle.json new file mode 100644 index 0000000000..327807c5eb --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.6 nozzle.json @@ -0,0 +1,17 @@ +{ + "default_filament_profile": "Prusament PLA @MK4S 0.6", + "default_print_profile": "0.25mm SPEED @MK4S 0.6", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.40", + "min_layer_height": "0.15", + "name": "Prusa MK4S 0.6 nozzle", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "MK4S", + "printer_variant": "0.6", + "type": "machine", + "wipe": "1" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S 0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S 0.8 nozzle.json new file mode 100644 index 0000000000..cb50b1464e --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S 0.8 nozzle.json @@ -0,0 +1,22 @@ +{ + "default_filament_profile": "Prusament PLA @MK4S 0.8", + "default_print_profile": "0.40mm QUALITY @MK4S 0.8", + "deretraction_speed": "15", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.6", + "min_layer_height": "0.2", + "name": "Prusa MK4S 0.8 nozzle", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "MK4S", + "printer_variant": "0.8", + "retract_before_wipe": "50%", + "retraction_length": "0.6", + "retraction_speed": "25", + "type": "machine", + "wipe": "1", + "z_hop": "0.25" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF.json b/resources/profiles/Prusa/machine/Prusa MK4S HF.json new file mode 100644 index 0000000000..422f4806d6 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF.json @@ -0,0 +1,12 @@ +{ + "bed_model": "mk4_bed.stl", + "bed_texture": "mk4s.svg", + "default_materials": "Prusa Generic ABS @MK4S;Prusa Generic ASA @MK4S;Prusa Generic PETG @MK4S;Prusa Generic PLA @MK4S;Prusa Generic PLA Silk @MK4S;Prusa Generic TPU @MK4S", + "family": "Prusa", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "MK4S HF", + "name": "Prusa MK4S HF", + "nozzle_diameter": "0.4;0.5;0.6;0.8", + "type": "machine_model" +} diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF0.4 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S HF0.4 nozzle.json new file mode 100644 index 0000000000..24aa1db4dd --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF0.4 nozzle.json @@ -0,0 +1,20 @@ +{ + "default_filament_profile": "Prusament PLA @HF0.4", + "default_print_profile": "0.20mm SPEED @MK4S HF0.4", + "from": "system", + "inherits": "Prusa MK4S 0.4 nozzle", + "instantiation": "true", + "machine_start_gcode": [ + "M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle check\nM862.3 P \"MK4S\" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.1.3+7898\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == \"PC\" or filament_type[0] == \"PA\") ? (first_layer_temperature[0] - 25) : (filament_type[0] == \"FLEX\") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == \"PC\" or filament_type[0] == \"PA\") ? (first_layer_temperature[0] - 25) : (filament_type[0] == \"FLEX\") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X42 Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]==\"FLEX\"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == \"FLEX\" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X48 Z0.05 F8000 ; wipe, move close to the bed\nG0 X51 Z0.2 F8000 ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100%" + ], + "name": "Prusa MK4S HF0.4 nozzle", + "nozzle_diameter": [ + "0.4" + ], + "printer_model": "MK4S HF", + "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_MODEL_MK4S\nPG\nHF_NOZZLE\nNO_TEMPLATES" + ], + "printer_variant": "0.4", + "type": "machine" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF0.5 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S HF0.5 nozzle.json new file mode 100644 index 0000000000..e0860cd982 --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF0.5 nozzle.json @@ -0,0 +1,15 @@ +{ + "default_print_profile": "0.20mm SPEED @MK4S HF0.5", + "from": "system", + "inherits": "Prusa MK4S HF0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.32", + "name": "Prusa MK4S HF0.5 nozzle", + "nozzle_diameter": [ + "0.5" + ], + "printer_model": "MK4S HF", + "printer_variant": "0.5", + "type": "machine", + "wipe": "1" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF0.6 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S HF0.6 nozzle.json new file mode 100644 index 0000000000..f894d0bb9d --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF0.6 nozzle.json @@ -0,0 +1,16 @@ +{ + "default_print_profile": "0.32mm SPEED @MK4S HF0.6", + "from": "system", + "inherits": "Prusa MK4S HF0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.40", + "min_layer_height": "0.15", + "name": "Prusa MK4S HF0.6 nozzle", + "nozzle_diameter": [ + "0.6" + ], + "printer_model": "MK4S HF", + "printer_variant": "0.6", + "type": "machine", + "wipe": "1" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S HF0.8 nozzle.json b/resources/profiles/Prusa/machine/Prusa MK4S HF0.8 nozzle.json new file mode 100644 index 0000000000..29ce071ddb --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S HF0.8 nozzle.json @@ -0,0 +1,22 @@ +{ + "default_filament_profile": "Prusament PLA @HF0.8", + "default_print_profile": "0.40mm STRUCTURAL @MK4S HF0.8", + "deretraction_speed": "15", + "from": "system", + "inherits": "Prusa MK4S HF0.4 nozzle", + "instantiation": "true", + "max_layer_height": "0.6", + "min_layer_height": "0.2", + "name": "Prusa MK4S HF0.8 nozzle", + "nozzle_diameter": [ + "0.8" + ], + "printer_model": "MK4S HF", + "printer_variant": "0.8", + "retract_before_wipe": "50%", + "retraction_length": "0.6", + "retraction_speed": "25", + "type": "machine", + "wipe": "1", + "z_hop": "0.25" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/machine/Prusa MK4S.json b/resources/profiles/Prusa/machine/Prusa MK4S.json new file mode 100644 index 0000000000..b4d4e85f3d --- /dev/null +++ b/resources/profiles/Prusa/machine/Prusa MK4S.json @@ -0,0 +1,12 @@ +{ + "bed_model": "mk4_bed.stl", + "bed_texture": "mk4s.svg", + "default_materials": "Prusa Generic ABS @MK4S;Prusa Generic ASA @MK4S;Prusa Generic PETG @MK4S;Prusa Generic PLA @MK4S;Prusa Generic PLA Silk @MK4S;Prusa Generic TPU @MK4S", + "family": "Prusa", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "MK4S", + "name": "Prusa MK4S", + "nozzle_diameter": "0.25;0.3;0.4;0.5;0.6;0.8", + "type": "machine_model" +} diff --git a/resources/profiles/Prusa/machine/fdm_machine_common_mk4s.json b/resources/profiles/Prusa/machine/fdm_machine_common_mk4s.json new file mode 100644 index 0000000000..1d4d32613a --- /dev/null +++ b/resources/profiles/Prusa/machine/fdm_machine_common_mk4s.json @@ -0,0 +1,129 @@ +{ + "before_layer_change_gcode": [ + ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))} Y{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))}\n" + ], + "change_filament_gcode": [ + "" + ], + "default_filament_profile": "Prusament PLA @PGIS", + "default_print_profile": "0.20mm SPEED @MK4IS 0.4", + "deretraction_speed": "25", + "extruder_clearance_height_to_lid": "220", + "extruder_clearance_height_to_rod": "14", + "extruder_clearance_radius": "45", + "from": "system", + "gcode_flavor": "marlin2", + "host_type": "prusalink", + "inherits": "fdm_machine_common", + "instantiation": "false", + "layer_change_gcode": [ + ";AFTER_LAYER_CHANGE\n;[layer_z]\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n" + ], + "machine_end_gcode": [ + "{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X241 Y170 F3600 ; park\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+23, max_print_height)} F300 ; Move print head up{endif}\nG4 ; wait\nM572 S0 ; reset PA\nM593 X T2 F0 ; disable IS\nM593 Y T2 F0 ; disable IS\nM84 X Y E ; disable motors\n; max_layer_z = [max_layer_z]" + ], + "machine_max_acceleration_e": [ + "2500", + "2500" + ], + "machine_max_acceleration_extruding": [ + "4000", + "2500" + ], + "machine_max_acceleration_retracting": [ + "1200", + "1200" + ], + "machine_max_acceleration_travel": [ + "4000", + "2500" + ], + "machine_max_acceleration_x": [ + "4000", + "2500" + ], + "machine_max_acceleration_y": [ + "4000", + "2500" + ], + "machine_max_acceleration_z": [ + "200", + "200" + ], + "machine_max_jerk_e": [ + "10", + "10" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "100", + "100" + ], + "machine_max_speed_x": [ + "300", + "160" + ], + "machine_max_speed_y": [ + "300", + "160" + ], + "machine_max_speed_z": [ + "40", + "40" + ], + "machine_start_gcode": [ + "M17 ; enable steppers\nM862.1 P[nozzle_diameter] ; nozzle check\nM862.3 P \"[printer_model]\" ; printer model check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.1.3+7898\n\nM555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))}\n\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM104 T0 S{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == \"PC\" or filament_type[0] == \"PA\") ? (first_layer_temperature[0] - 25) : (filament_type[0] == \"FLEX\") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; set extruder temp for bed leveling\nM109 T0 R{((filament_notes[0]=~/.*HT_MBL10.*/) ? (first_layer_temperature[0] - 10) : (filament_type[0] == \"PC\" or filament_type[0] == \"PA\") ? (first_layer_temperature[0] - 25) : (filament_type[0] == \"FLEX\") ? 210 : (filament_type[0]=~/.*PET.*/) ? 175 : 170)} ; wait for temp\n\nM84 E ; turn off E motor\n\nG28 ; home all without mesh bed level\n\nG1 X42 Y-4 Z5 F4800\n\nM302 S160 ; lower cold extrusion limit to 160C\n\n{if filament_type[initial_tool]==\"FLEX\"}\nG1 E-4 F2400 ; retraction\n{else}\nG1 E-2 F2400 ; retraction\n{endif}\n\nM84 E ; turn off E motor\n\nG29 P9 X10 Y-4 W32 H4\n\n{if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif}\n\nG0 Z40 F10000\n\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\nM107\n\n;\n; MBL\n;\nM84 E ; turn off E motor\nG29 P1 ; invalidate mbl & probe print area\nG29 P1 X0 Y0 W50 H20 C ; probe near purge place\nG29 P3.2 ; interpolate mbl probes\nG29 P3.13 ; extrapolate mbl outside probe area\nG29 A ; activate mbl\n\n; prepare for purge\nM104 S{first_layer_temperature[0]}\nG0 X0 Y-4 Z15 F4800 ; move away and ready for the purge\nM109 S{first_layer_temperature[0]}\n\nG92 E0\nM569 S0 E ; set spreadcycle mode for extruder\n\n;\n; Extrude purge line\n;\nG92 E0 ; reset extruder position\nG1 E{(filament_type[0] == \"FLEX\" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning\nG0 E7 X15 Z0.2 F500 ; purge\nG0 X25 E4 F500 ; purge\nG0 X35 E4 F650 ; purge\nG0 X45 E4 F800 ; purge\nG0 X48 Z0.05 F8000 ; wipe, move close to the bed\nG0 X51 Z0.2 F8000 ; wipe, move quickly away from the bed\n\nG92 E0\nM221 S100 ; set flow to 100%" + ], + "max_layer_height": "0.30", + "min_layer_height": "0.07", + "name": "fdm_machine_common_mk4s", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "250x0", + "250x210", + "0x210" + ], + "printable_height": "220", + "printer_model": "MK4S", + "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_MODEL_MK4S\nPG\nNO_TEMPLATES" + ], + "retract_before_wipe": "80", + "retract_length_toolchange": "0", + "retract_lift_above": "0", + "retract_lift_below": "219", + "retract_when_changing_layer": "0", + "retraction_length": "0.7", + "retraction_minimum_travel": "1.5", + "retraction_speed": "35", + "silent_mode": "1", + "single_extruder_multi_material": "0", + "thumbnails": [ + "16x16/QOI", + "313x173/QOI", + "440x240/QOI", + "480x240/QOI", + "640x480/PNG" + ], + "travel_slope": "1", + "type": "machine", + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": "0", + "z_hop": "0.2", + "z_hop_types": "Slope Lift" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/mk4s.svg b/resources/profiles/Prusa/mk4s.svg new file mode 100644 index 0000000000..983affe860 --- /dev/null +++ b/resources/profiles/Prusa/mk4s.svg @@ -0,0 +1,614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Prusa/process/0.05mm DETAIL @MK4S 0.25.json b/resources/profiles/Prusa/process/0.05mm DETAIL @MK4S 0.25.json new file mode 100644 index 0000000000..e0dbe4589d --- /dev/null +++ b/resources/profiles/Prusa/process/0.05mm DETAIL @MK4S 0.25.json @@ -0,0 +1,11 @@ +{ + "bottom_shell_layers": "10", + "bridge_speed": "25", + "from": "system", + "inherits": "0.07mm DETAIL @MK4S 0.25", + "instantiation": "true", + "layer_height": "0.05", + "name": "0.05mm DETAIL @MK4S 0.25", + "top_shell_layers": "13", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.07mm DETAIL @MK4S 0.25.json b/resources/profiles/Prusa/process/0.07mm DETAIL @MK4S 0.25.json new file mode 100644 index 0000000000..1161069a74 --- /dev/null +++ b/resources/profiles/Prusa/process/0.07mm DETAIL @MK4S 0.25.json @@ -0,0 +1,46 @@ +{ + "bottom_shell_layers": "9", + "bridge_acceleration": "1000", + "bridge_speed": "30", + "brim_object_gap": "0", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.25", + "default_acceleration": "1500", + "elefant_foot_compensation": "0", + "from": "system", + "gap_infill_speed": "40", + "infill_anchor": "1", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.32", + "inner_wall_acceleration": "1200", + "inner_wall_line_width": "0.25", + "inner_wall_speed": "60", + "instantiation": "true", + "internal_solid_infill_acceleration": "2000", + "internal_solid_infill_line_width": "0.25", + "internal_solid_infill_speed": "140", + "layer_height": "0.07", + "line_width": "0.27", + "name": "0.07mm DETAIL @MK4S 0.25", + "outer_wall_acceleration": "800", + "outer_wall_line_width": "0.25", + "outer_wall_speed": "40", + "raft_contact_distance": "0.1", + "raft_first_layer_density": "95%", + "small_perimeter_speed": "40", + "sparse_infill_acceleration": "2500", + "sparse_infill_line_width": "0.25", + "sparse_infill_speed": "100", + "support_base_pattern_spacing": "1", + "support_interface_speed": "52.5", + "support_line_width": "0.25", + "support_object_xy_distance": "0.405", + "support_speed": "60", + "support_top_z_distance": "0.1", + "top_shell_layers": "11", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.27", + "top_surface_speed": "60", + "travel_acceleration": "3000", + "type": "process", + "wall_loops": "3" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.10mm FAST DETAIL @MK4S 0.4.json b/resources/profiles/Prusa/process/0.10mm FAST DETAIL @MK4S 0.4.json new file mode 100644 index 0000000000..a2b5f67d25 --- /dev/null +++ b/resources/profiles/Prusa/process/0.10mm FAST DETAIL @MK4S 0.4.json @@ -0,0 +1,20 @@ +{ + "bottom_shell_layers": "7", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4", + "from": "system", + "inherits": "0.15mm SPEED @MK4S 0.4", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "140", + "instantiation": "true", + "layer_height": "0.1", + "name": "0.10mm FAST DETAIL @MK4S 0.4", + "outer_wall_acceleration": "2000", + "outer_wall_speed": "140", + "small_perimeter_speed": "140", + "sparse_infill_speed": "140", + "top_shell_layers": "8", + "top_surface_line_width": "0.4", + "type": "process", + "wall_loops": "3" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.10mm STRUCTURAL @MK4S 0.5.json b/resources/profiles/Prusa/process/0.10mm STRUCTURAL @MK4S 0.5.json new file mode 100644 index 0000000000..c8221d3e9b --- /dev/null +++ b/resources/profiles/Prusa/process/0.10mm STRUCTURAL @MK4S 0.5.json @@ -0,0 +1,37 @@ +{ + "bottom_shell_layers": "7", + "bridge_acceleration": "1000", + "bridge_speed": "30", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "40", + "infill_anchor_max": "15", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.55", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "0.5", + "inner_wall_speed": "70", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_line_width": "0.5", + "layer_height": "0.1", + "line_width": "0.55", + "name": "0.10mm STRUCTURAL @MK4S 0.5", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.5", + "outer_wall_speed": "40", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "40", + "sparse_infill_acceleration": "3000", + "sparse_infill_line_width": "0.5", + "support_interface_spacing": "0.22", + "support_line_width": "0.4", + "support_object_xy_distance": "0.44", + "support_speed": "80", + "top_shell_layers": "8", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.45", + "top_surface_speed": "70", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm SPEED @MK4S 0.25.json b/resources/profiles/Prusa/process/0.12mm SPEED @MK4S 0.25.json new file mode 100644 index 0000000000..6a2e77489f --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm SPEED @MK4S 0.25.json @@ -0,0 +1,45 @@ +{ + "bottom_shell_layers": "6", + "bridge_speed": "30", + "brim_object_gap": "0", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.25", + "default_acceleration": "2000", + "elefant_foot_compensation": "0", + "from": "system", + "gap_infill_speed": "50", + "infill_anchor": "1", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.32", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "0.27", + "inner_wall_speed": "120", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_line_width": "0.27", + "internal_solid_infill_speed": "140", + "layer_height": "0.12", + "line_width": "0.27", + "name": "0.12mm SPEED @MK4S 0.25", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.27", + "outer_wall_speed": "120", + "raft_contact_distance": "0.08", + "raft_first_layer_density": "95%", + "small_perimeter_speed": "120", + "sparse_infill_acceleration": "3000", + "sparse_infill_line_width": "0.27", + "sparse_infill_speed": "100", + "support_base_pattern_spacing": "1", + "support_interface_speed": "52.5", + "support_line_width": "0.25", + "support_object_xy_distance": "0.405", + "support_speed": "70", + "support_top_z_distance": "0.09", + "top_shell_layers": "9", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.27", + "top_surface_speed": "60", + "travel_acceleration": "3000", + "type": "process", + "wall_loops": "3" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.25.json b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.25.json new file mode 100644 index 0000000000..d6d0d25468 --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.25.json @@ -0,0 +1,14 @@ +{ + "from": "system", + "inherits": "0.12mm SPEED @MK4S 0.25", + "inner_wall_acceleration": "1500", + "inner_wall_speed": "70", + "instantiation": "true", + "internal_solid_infill_acceleration": "2000", + "name": "0.12mm STRUCTURAL @MK4S 0.25", + "outer_wall_acceleration": "1000", + "outer_wall_speed": "40", + "small_perimeter_speed": "40", + "sparse_infill_acceleration": "2500", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.3.json b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.3.json new file mode 100644 index 0000000000..569f09e5d7 --- /dev/null +++ b/resources/profiles/Prusa/process/0.12mm STRUCTURAL @MK4S 0.3.json @@ -0,0 +1,44 @@ +{ + "bottom_shell_layers": "6", + "bridge_acceleration": "1000", + "bridge_speed": "30", + "brim_object_gap": "0", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.3", + "default_acceleration": "1500", + "elefant_foot_compensation": "0", + "from": "system", + "gap_infill_speed": "50", + "infill_anchor": "1", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.4", + "inner_wall_acceleration": "1500", + "inner_wall_line_width": "0.34", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_line_width": "0.34", + "layer_height": "0.12", + "line_width": "0.34", + "name": "0.12mm STRUCTURAL @MK4S 0.3", + "outer_wall_acceleration": "1200", + "outer_wall_line_width": "0.34", + "outer_wall_speed": "40", + "raft_contact_distance": "0.12", + "raft_first_layer_density": "90%", + "small_perimeter_speed": "40", + "sparse_infill_acceleration": "3000", + "sparse_infill_line_width": "0.34", + "sparse_infill_speed": "100", + "support_base_pattern_spacing": "1", + "support_interface_speed": "52.5", + "support_line_width": "0.3", + "support_object_xy_distance": "0.34", + "support_speed": "70", + "support_top_z_distance": "0.12", + "top_shell_layers": "7", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.3", + "top_surface_speed": "40", + "type": "process", + "wall_loops": "3" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.25.json b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.25.json new file mode 100644 index 0000000000..e129d04cba --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.25.json @@ -0,0 +1,10 @@ +{ + "bottom_shell_layers": "7", + "from": "system", + "inherits": "0.12mm SPEED @MK4S 0.25", + "instantiation": "true", + "layer_height": "0.15", + "name": "0.15mm SPEED @MK4S 0.25", + "top_shell_layers": "6", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.4.json b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.4.json new file mode 100644 index 0000000000..9f8475c290 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S 0.4.json @@ -0,0 +1,18 @@ +{ + "bridge_speed": "45", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "3000", + "from": "system", + "inherits": "process_common_mk4s", + "inner_wall_acceleration": "3500", + "instantiation": "true", + "internal_solid_infill_acceleration": "3500", + "layer_height": "0.15", + "name": "0.15mm SPEED @MK4S 0.4", + "outer_wall_acceleration": "2500", + "support_interface_speed": "50", + "support_top_z_distance": "0.17", + "top_shell_layers": "6", + "top_surface_acceleration": "1500", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm SPEED @MK4S HF0.4.json b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S HF0.4.json new file mode 100644 index 0000000000..dae600c6ce --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm SPEED @MK4S HF0.4.json @@ -0,0 +1,13 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.15mm SPEED @MK4S 0.4", + "inner_wall_speed": "250", + "instantiation": "true", + "internal_solid_infill_speed": "250", + "name": "0.15mm SPEED @MK4S HF0.4", + "outer_wall_speed": "200", + "sparse_infill_speed": "250", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.25.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.25.json new file mode 100644 index 0000000000..b0c0ab31c2 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.25.json @@ -0,0 +1,12 @@ +{ + "from": "system", + "inherits": "0.15mm SPEED @MK4S 0.25", + "inner_wall_acceleration": "1500", + "inner_wall_speed": "70", + "instantiation": "true", + "name": "0.15mm STRUCTURAL @MK4S 0.25", + "outer_wall_acceleration": "1000", + "outer_wall_speed": "40", + "small_perimeter_speed": "40", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.4.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.4.json new file mode 100644 index 0000000000..bbc8ca9b34 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.4.json @@ -0,0 +1,13 @@ +{ + "bottom_shell_layers": "5", + "bridge_speed": "45", + "from": "system", + "inherits": "0.20mm STRUCTURAL @MK4S 0.4", + "instantiation": "true", + "layer_height": "0.15", + "name": "0.15mm STRUCTURAL @MK4S 0.4", + "sparse_infill_speed": "110", + "support_top_z_distance": "0.17", + "top_shell_layers": "6", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.5.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.5.json new file mode 100644 index 0000000000..f6e6058617 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.5.json @@ -0,0 +1,36 @@ +{ + "bottom_shell_layers": "5", + "bridge_acceleration": "1000", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "50", + "infill_anchor_max": "15", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.55", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "0.55", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_line_width": "0.55", + "internal_solid_infill_speed": "180", + "layer_height": "0.15", + "line_width": "0.55", + "name": "0.15mm STRUCTURAL @MK4S 0.5", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.55", + "outer_wall_speed": "45", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "45", + "sparse_infill_line_width": "0.55", + "support_interface_spacing": "0.22", + "support_line_width": "0.4", + "support_object_xy_distance": "0.44", + "support_speed": "80", + "top_shell_layers": "6", + "top_surface_line_width": "0.5", + "top_surface_speed": "70", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.6.json b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.6.json new file mode 100644 index 0000000000..8e6d8e63b7 --- /dev/null +++ b/resources/profiles/Prusa/process/0.15mm STRUCTURAL @MK4S 0.6.json @@ -0,0 +1,43 @@ +{ + "bottom_shell_layers": "5", + "bottom_shell_thickness": "0.6", + "bridge_speed": "30", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "80", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.68", + "inner_wall_acceleration": "2500", + "inner_wall_line_width": "0.6", + "inner_wall_speed": "70", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_line_width": "0.6", + "internal_solid_infill_speed": "160", + "layer_height": "0.15", + "line_width": "0.68", + "name": "0.15mm STRUCTURAL @MK4S 0.6", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.6", + "outer_wall_speed": "45", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "45", + "sparse_infill_density": "20%", + "sparse_infill_line_width": "0.6", + "sparse_infill_speed": "100", + "support_interface_spacing": "0.25", + "support_interface_speed": "67.5", + "support_line_width": "0.5", + "support_object_xy_distance": "0.544", + "support_speed": "90", + "support_top_z_distance": "0.22", + "top_shell_layers": "6", + "top_shell_thickness": "0.9", + "top_surface_acceleration": "1500", + "top_surface_line_width": "0.5", + "top_surface_speed": "70", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.16mm SPEED @MK4S 0.3.json b/resources/profiles/Prusa/process/0.16mm SPEED @MK4S 0.3.json new file mode 100644 index 0000000000..d15f2bee46 --- /dev/null +++ b/resources/profiles/Prusa/process/0.16mm SPEED @MK4S 0.3.json @@ -0,0 +1,15 @@ +{ + "from": "system", + "inherits": "0.16mm STRUCTURAL @MK4S 0.3", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "140", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "name": "0.16mm SPEED @MK4S 0.3", + "outer_wall_acceleration": "2500", + "outer_wall_speed": "120", + "small_perimeter_speed": "120", + "support_interface_speed": "45", + "support_speed": "100", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.16mm STRUCTURAL @MK4S 0.3.json b/resources/profiles/Prusa/process/0.16mm STRUCTURAL @MK4S 0.3.json new file mode 100644 index 0000000000..342a120344 --- /dev/null +++ b/resources/profiles/Prusa/process/0.16mm STRUCTURAL @MK4S 0.3.json @@ -0,0 +1,18 @@ +{ + "bottom_shell_layers": "5", + "default_acceleration": "2000", + "from": "system", + "inherits": "0.12mm STRUCTURAL @MK4S 0.3", + "inner_wall_acceleration": "2000", + "instantiation": "true", + "layer_height": "0.16", + "name": "0.16mm STRUCTURAL @MK4S 0.3", + "outer_wall_acceleration": "1500", + "raft_contact_distance": "0.16", + "small_perimeter_speed": "45", + "sparse_infill_acceleration": "4000", + "sparse_infill_speed": "120", + "support_top_z_distance": "0.16", + "top_shell_layers": "6", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @MK4S 0.4.json b/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @MK4S 0.4.json new file mode 100644 index 0000000000..8d8c38611d --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SOLUBLE FULL @MK4S 0.4.json @@ -0,0 +1,31 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and single_extruder_multi_material", + "default_acceleration": "2500", + "enable_support": "1", + "from": "system", + "gap_infill_speed": "60", + "inherits": "process_common_mk4s", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_speed": "140", + "name": "0.20mm SOLUBLE FULL @MK4S 0.4", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "raft_first_layer_density": "90%", + "small_perimeter_speed": "45", + "sparse_infill_speed": "120", + "support_filament": "5", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "5", + "support_interface_spacing": "0.1", + "support_interface_speed": "40", + "support_line_width": "0.4", + "support_object_xy_distance": "0.4", + "support_speed": "80", + "support_threshold_angle": "60", + "support_top_z_distance": "0", + "top_surface_speed": "80", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @MK4S 0.4.json b/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @MK4S 0.4.json new file mode 100644 index 0000000000..ae2ee735a1 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SOLUBLE INTERFACE @MK4S 0.4.json @@ -0,0 +1,31 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and single_extruder_multi_material", + "default_acceleration": "2500", + "enable_support": "1", + "from": "system", + "gap_infill_speed": "60", + "inherits": "process_common_mk4s", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_speed": "140", + "name": "0.20mm SOLUBLE INTERFACE @MK4S 0.4", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "raft_first_layer_density": "90%", + "small_perimeter_speed": "45", + "sparse_infill_speed": "120", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "5", + "support_interface_spacing": "0.1", + "support_interface_speed": "40", + "support_interface_top_layers": "3", + "support_line_width": "0.4", + "support_object_xy_distance": "0.4", + "support_speed": "80", + "support_threshold_angle": "60", + "support_top_z_distance": "0", + "top_surface_speed": "80", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.3.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.3.json new file mode 100644 index 0000000000..ba3cc28398 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.3.json @@ -0,0 +1,12 @@ +{ + "bottom_shell_layers": "3", + "from": "system", + "inherits": "0.16mm SPEED @MK4S 0.3", + "instantiation": "true", + "layer_height": "0.2", + "name": "0.20mm SPEED @MK4S 0.3", + "raft_contact_distance": "0.18", + "support_top_z_distance": "0.2", + "top_shell_layers": "5", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.4.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.4.json new file mode 100644 index 0000000000..32ca4f3aba --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.4.json @@ -0,0 +1,10 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes!~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "process_common_mk4s", + "instantiation": "true", + "name": "0.20mm SPEED @MK4S 0.4", + "top_surface_acceleration": "1500", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.5.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.5.json new file mode 100644 index 0000000000..b5e31b3d7b --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.5.json @@ -0,0 +1,34 @@ +{ + "bridge_acceleration": "1000", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "70", + "infill_anchor_max": "15", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.55", + "inner_wall_acceleration": "3500", + "inner_wall_line_width": "0.55", + "inner_wall_speed": "140", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.55", + "internal_solid_infill_speed": "135", + "layer_height": "0.20", + "line_width": "0.55", + "name": "0.20mm SPEED @MK4S 0.5", + "outer_wall_acceleration": "2500", + "outer_wall_line_width": "0.55", + "outer_wall_speed": "140", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "140", + "sparse_infill_line_width": "0.55", + "support_interface_spacing": "0.22", + "support_line_width": "0.4", + "support_object_xy_distance": "0.44", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.5", + "top_surface_speed": "70", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.6.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.6.json new file mode 100644 index 0000000000..28786abc3d --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S 0.6.json @@ -0,0 +1,40 @@ +{ + "bottom_shell_thickness": "0.6", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "80", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.68", + "inner_wall_acceleration": "3000", + "inner_wall_line_width": "0.62", + "inner_wall_speed": "125", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.65", + "internal_solid_infill_speed": "110", + "line_width": "0.68", + "name": "0.20mm SPEED @MK4S 0.6", + "outer_wall_acceleration": "2500", + "outer_wall_line_width": "0.62", + "outer_wall_speed": "125", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "125", + "sparse_infill_density": "20%", + "sparse_infill_line_width": "0.65", + "sparse_infill_speed": "110", + "support_interface_spacing": "0.25", + "support_interface_speed": "67.5", + "support_line_width": "0.5", + "support_object_xy_distance": "0.544", + "support_speed": "90", + "support_top_z_distance": "0.22", + "top_shell_thickness": "0.9", + "top_surface_acceleration": "1500", + "top_surface_line_width": "0.5", + "top_surface_speed": "70", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.4.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.4.json new file mode 100644 index 0000000000..7e926b2616 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.4.json @@ -0,0 +1,14 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "process_common_mk4s", + "inner_wall_speed": "250", + "instantiation": "true", + "internal_solid_infill_speed": "250", + "name": "0.20mm SPEED @MK4S HF0.4", + "outer_wall_speed": "200", + "sparse_infill_speed": "250", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.5.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.5.json new file mode 100644 index 0000000000..8021c0c878 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.5.json @@ -0,0 +1,17 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.20mm SPEED @MK4S 0.5", + "inner_wall_acceleration": "4000", + "inner_wall_speed": "200", + "instantiation": "true", + "internal_solid_infill_speed": "220", + "name": "0.20mm SPEED @MK4S HF0.5", + "outer_wall_acceleration": "4000", + "outer_wall_speed": "200", + "small_perimeter_speed": "170", + "sparse_infill_speed": "220", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.6.json new file mode 100644 index 0000000000..b7be0b8bd2 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm SPEED @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.20mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "4000", + "inner_wall_speed": "200", + "instantiation": "true", + "internal_solid_infill_speed": "200", + "name": "0.20mm SPEED @MK4S HF0.6", + "outer_wall_acceleration": "4000", + "outer_wall_speed": "200", + "small_perimeter_speed": "170", + "sparse_infill_speed": "200", + "support_interface_speed": "55", + "support_speed": "110", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.3.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.3.json new file mode 100644 index 0000000000..66f1476b66 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.3.json @@ -0,0 +1,12 @@ +{ + "bottom_shell_layers": "4", + "from": "system", + "inherits": "0.16mm STRUCTURAL @MK4S 0.3", + "instantiation": "true", + "layer_height": "0.2", + "name": "0.20mm STRUCTURAL @MK4S 0.3", + "raft_contact_distance": "0.18", + "support_top_z_distance": "0.2", + "top_shell_layers": "5", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.4.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.4.json new file mode 100644 index 0000000000..56a16894f2 --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.4.json @@ -0,0 +1,20 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "60", + "inherits": "process_common_mk4s", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_speed": "140", + "name": "0.20mm STRUCTURAL @MK4S 0.4", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_speed": "120", + "support_interface_speed": "50", + "top_surface_speed": "80", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.5.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.5.json new file mode 100644 index 0000000000..9f1eb2d7da --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.5.json @@ -0,0 +1,16 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5", + "from": "system", + "inherits": "0.20mm SPEED @MK4S 0.5", + "inner_wall_acceleration": "2000", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_speed": "120", + "name": "0.20mm STRUCTURAL @MK4S 0.5", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "support_speed": "80", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.6.json b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.6.json new file mode 100644 index 0000000000..766d17c03d --- /dev/null +++ b/resources/profiles/Prusa/process/0.20mm STRUCTURAL @MK4S 0.6.json @@ -0,0 +1,16 @@ +{ + "bridge_speed": "30", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6", + "from": "system", + "inherits": "0.20mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "2000", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "name": "0.20mm STRUCTURAL @MK4S 0.6", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_speed": "100", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.5.json b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.5.json new file mode 100644 index 0000000000..6c54d914ce --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.5.json @@ -0,0 +1,11 @@ +{ + "bottom_shell_layers": "3", + "from": "system", + "inherits": "0.20mm SPEED @MK4S 0.5", + "instantiation": "true", + "layer_height": "0.25", + "name": "0.25mm SPEED @MK4S 0.5", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.6.json b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.6.json new file mode 100644 index 0000000000..a4a805a365 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S 0.6.json @@ -0,0 +1,43 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "70", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.68", + "inner_wall_acceleration": "3000", + "inner_wall_line_width": "0.68", + "inner_wall_speed": "90", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.68", + "internal_solid_infill_speed": "90", + "layer_height": "0.25", + "line_width": "0.68", + "name": "0.25mm SPEED @MK4S 0.6", + "outer_wall_acceleration": "2000", + "outer_wall_line_width": "0.68", + "outer_wall_speed": "80", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "80", + "sparse_infill_density": "20%", + "sparse_infill_line_width": "0.68", + "sparse_infill_speed": "100", + "support_interface_spacing": "0.25", + "support_interface_speed": "67.5", + "support_line_width": "0.5", + "support_object_xy_distance": "0.544", + "support_speed": "80", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.9", + "top_surface_acceleration": "1500", + "top_surface_line_width": "0.55", + "top_surface_speed": "60", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.4.json b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.4.json new file mode 100644 index 0000000000..320e287d85 --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.4.json @@ -0,0 +1,22 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "process_common_mk4s", + "inner_wall_line_width": "0.5", + "inner_wall_speed": "220", + "instantiation": "true", + "internal_solid_infill_line_width": "0.5", + "internal_solid_infill_speed": "240", + "layer_height": "0.25", + "name": "0.25mm SPEED @MK4S HF0.4", + "outer_wall_line_width": "0.5", + "outer_wall_speed": "200", + "sparse_infill_line_width": "0.5", + "sparse_infill_speed": "240", + "support_interface_top_layers": "3", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.5.json b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.5.json new file mode 100644 index 0000000000..bb67c0164b --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.5.json @@ -0,0 +1,14 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.25mm SPEED @MK4S 0.5", + "inner_wall_acceleration": "4000", + "inner_wall_speed": "200", + "instantiation": "true", + "name": "0.25mm SPEED @MK4S HF0.5", + "outer_wall_acceleration": "4000", + "outer_wall_speed": "200", + "small_perimeter_speed": "170", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.6.json new file mode 100644 index 0000000000..82b71111db --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm SPEED @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.25mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "4000", + "inner_wall_speed": "180", + "instantiation": "true", + "internal_solid_infill_speed": "190", + "name": "0.25mm SPEED @MK4S HF0.6", + "outer_wall_acceleration": "4000", + "outer_wall_speed": "180", + "small_perimeter_speed": "170", + "sparse_infill_speed": "190", + "support_interface_speed": "55", + "support_speed": "110", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.5.json b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.5.json new file mode 100644 index 0000000000..f706e4a9ff --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.5.json @@ -0,0 +1,11 @@ +{ + "bottom_shell_layers": "3", + "from": "system", + "inherits": "0.20mm STRUCTURAL @MK4S 0.5", + "instantiation": "true", + "layer_height": "0.25", + "name": "0.25mm STRUCTURAL @MK4S 0.5", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.6.json b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.6.json new file mode 100644 index 0000000000..e01a95666e --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S 0.6.json @@ -0,0 +1,14 @@ +{ + "bridge_speed": "30", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6", + "from": "system", + "inherits": "0.25mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "2500", + "inner_wall_speed": "80", + "instantiation": "true", + "name": "0.25mm STRUCTURAL @MK4S 0.6", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S HF0.4.json b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S HF0.4.json new file mode 100644 index 0000000000..6d8687bdcf --- /dev/null +++ b/resources/profiles/Prusa/process/0.25mm STRUCTURAL @MK4S HF0.4.json @@ -0,0 +1,16 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.20mm STRUCTURAL @MK4S 0.4", + "inner_wall_line_width": "0.5", + "instantiation": "true", + "internal_solid_infill_line_width": "0.5", + "layer_height": "0.25", + "name": "0.25mm STRUCTURAL @MK4S HF0.4", + "outer_wall_line_width": "0.5", + "sparse_infill_line_width": "0.5", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.28mm DRAFT @MK4S HF0.4.json b/resources/profiles/Prusa/process/0.28mm DRAFT @MK4S HF0.4.json new file mode 100644 index 0000000000..de4db8c72c --- /dev/null +++ b/resources/profiles/Prusa/process/0.28mm DRAFT @MK4S HF0.4.json @@ -0,0 +1,24 @@ +{ + "bottom_shell_layers": "3", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.55", + "inner_wall_line_width": "0.55", + "inner_wall_speed": "200", + "instantiation": "true", + "internal_solid_infill_line_width": "0.55", + "layer_height": "0.28", + "name": "0.28mm DRAFT @MK4S HF0.4", + "outer_wall_line_width": "0.55", + "outer_wall_speed": "180", + "small_perimeter_speed": "200", + "sparse_infill_line_width": "0.55", + "support_interface_top_layers": "3", + "support_threshold_angle": "35", + "support_top_z_distance": "0.28", + "top_shell_layers": "4", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.45", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.30mm DETAIL @MK4S 0.8.json b/resources/profiles/Prusa/process/0.30mm DETAIL @MK4S 0.8.json new file mode 100644 index 0000000000..4ee23ef660 --- /dev/null +++ b/resources/profiles/Prusa/process/0.30mm DETAIL @MK4S 0.8.json @@ -0,0 +1,45 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.8", + "bridge_acceleration": "1000", + "bridge_speed": "22", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "40", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "1", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "0.9", + "inner_wall_speed": "70", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.9", + "internal_solid_infill_speed": "50", + "layer_height": "0.30", + "line_width": "0.9", + "name": "0.30mm DETAIL @MK4S 0.8", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.9", + "outer_wall_speed": "45", + "raft_contact_distance": "0.2", + "seam_position": "nearest", + "small_perimeter_speed": "45", + "sparse_infill_line_width": "0.9", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "100", + "support_interface_spacing": "0.35", + "support_line_width": "0.65", + "support_object_xy_distance": "0.72", + "support_speed": "60", + "support_top_z_distance": "0.25", + "thick_bridges": "1", + "top_shell_layers": "4", + "top_shell_thickness": "1.2", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.7", + "top_surface_speed": "35", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.30mm SPEED @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.30mm SPEED @MK4S HF0.8.json new file mode 100644 index 0000000000..2058fe3bae --- /dev/null +++ b/resources/profiles/Prusa/process/0.30mm SPEED @MK4S HF0.8.json @@ -0,0 +1,19 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "80", + "inherits": "0.30mm DETAIL @MK4S 0.8", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "125", + "instantiation": "true", + "internal_solid_infill_speed": "125", + "name": "0.30mm SPEED @MK4S HF0.8", + "outer_wall_acceleration": "2500", + "outer_wall_speed": "125", + "small_perimeter_speed": "125", + "sparse_infill_speed": "130", + "support_speed": "110", + "top_surface_acceleration": "1500", + "top_surface_speed": "80", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.30mm STRUCTURAL @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.30mm STRUCTURAL @MK4S HF0.8.json new file mode 100644 index 0000000000..2650e9fd04 --- /dev/null +++ b/resources/profiles/Prusa/process/0.30mm STRUCTURAL @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "60", + "inherits": "0.30mm DETAIL @MK4S 0.8", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_speed": "120", + "name": "0.30mm STRUCTURAL @MK4S HF0.8", + "sparse_infill_speed": "120", + "support_speed": "80", + "top_surface_acceleration": "1200", + "top_surface_speed": "60", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm SPEED @MK4S 0.6.json b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S 0.6.json new file mode 100644 index 0000000000..3df0518560 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S 0.6.json @@ -0,0 +1,43 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2500", + "from": "system", + "gap_infill_speed": "60", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.68", + "inner_wall_acceleration": "2500", + "inner_wall_line_width": "0.68", + "inner_wall_speed": "70", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.68", + "internal_solid_infill_speed": "70", + "layer_height": "0.32", + "line_width": "0.68", + "name": "0.32mm SPEED @MK4S 0.6", + "outer_wall_acceleration": "2000", + "outer_wall_line_width": "0.68", + "outer_wall_speed": "70", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "70", + "sparse_infill_density": "20%", + "sparse_infill_line_width": "0.68", + "sparse_infill_speed": "100", + "support_interface_spacing": "0.25", + "support_interface_speed": "67.5", + "support_line_width": "0.5", + "support_object_xy_distance": "0.544", + "support_speed": "70", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.9", + "top_surface_acceleration": "1500", + "top_surface_line_width": "0.55", + "top_surface_speed": "60", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.5.json b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.5.json new file mode 100644 index 0000000000..3ce10e2d67 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.5.json @@ -0,0 +1,11 @@ +{ + "from": "system", + "inherits": "0.25mm SPEED @MK4S HF0.5", + "inner_wall_speed": "160", + "instantiation": "true", + "layer_height": "0.32", + "name": "0.32mm SPEED @MK4S HF0.5", + "outer_wall_speed": "160", + "small_perimeter_speed": "160", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.6.json new file mode 100644 index 0000000000..ffc93ea7ee --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm SPEED @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.32mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "4000", + "inner_wall_speed": "145", + "instantiation": "true", + "internal_solid_infill_speed": "140", + "name": "0.32mm SPEED @MK4S HF0.6", + "outer_wall_acceleration": "4000", + "outer_wall_speed": "145", + "small_perimeter_speed": "145", + "sparse_infill_speed": "145", + "support_interface_speed": "55", + "support_speed": "110", + "top_surface_acceleration": "2000", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S 0.6.json b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S 0.6.json new file mode 100644 index 0000000000..9da9511b25 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S 0.6.json @@ -0,0 +1,15 @@ +{ + "bottom_shell_layers": "4", + "bridge_speed": "30", + "from": "system", + "inherits": "0.32mm SPEED @MK4S 0.6", + "inner_wall_acceleration": "2000", + "instantiation": "true", + "name": "0.32mm STRUCTURAL @MK4S 0.6", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_speed": "70", + "top_shell_layers": "5", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.5.json b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.5.json new file mode 100644 index 0000000000..6c6bea3d0f --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.5.json @@ -0,0 +1,9 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.5 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.25mm STRUCTURAL @MK4S 0.5", + "instantiation": "true", + "layer_height": "0.32", + "name": "0.32mm STRUCTURAL @MK4S HF0.5", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.6.json new file mode 100644 index 0000000000..eb5936ad90 --- /dev/null +++ b/resources/profiles/Prusa/process/0.32mm STRUCTURAL @MK4S HF0.6.json @@ -0,0 +1,15 @@ +{ + "bottom_shell_layers": "4", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "inherits": "0.32mm SPEED @MK4S 0.6", + "inner_wall_speed": "80", + "instantiation": "true", + "name": "0.32mm STRUCTURAL @MK4S HF0.6", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_speed": "120", + "top_shell_layers": "5", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm QUALITY @MK4S 0.8.json b/resources/profiles/Prusa/process/0.40mm QUALITY @MK4S 0.8.json new file mode 100644 index 0000000000..6c894bf8cd --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm QUALITY @MK4S 0.8.json @@ -0,0 +1,45 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.8", + "bridge_acceleration": "1000", + "bridge_speed": "22", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "35", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "1", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "0.9", + "inner_wall_speed": "50", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.9", + "internal_solid_infill_speed": "45", + "layer_height": "0.4", + "line_width": "0.9", + "name": "0.40mm QUALITY @MK4S 0.8", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.9", + "outer_wall_speed": "45", + "raft_contact_distance": "0.2", + "seam_position": "nearest", + "small_perimeter_speed": "45", + "sparse_infill_line_width": "0.9", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "90", + "support_interface_spacing": "0.35", + "support_line_width": "0.65", + "support_object_xy_distance": "0.72", + "support_speed": "50", + "support_top_z_distance": "0.25", + "thick_bridges": "1", + "top_shell_layers": "4", + "top_shell_thickness": "1.2", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.75", + "top_surface_speed": "35", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.6.json new file mode 100644 index 0000000000..f4f1eb13f1 --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.6.json @@ -0,0 +1,42 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bridge_speed": "40", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*HF_NOZZLE.*/", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "60", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "0.68", + "inner_wall_line_width": "0.68", + "inner_wall_speed": "120", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.68", + "internal_solid_infill_speed": "120", + "layer_height": "0.4", + "line_width": "0.68", + "name": "0.40mm SPEED @MK4S HF0.6", + "outer_wall_acceleration": "3000", + "outer_wall_line_width": "0.68", + "outer_wall_speed": "115", + "raft_contact_distance": "0.25", + "small_perimeter_speed": "115", + "sparse_infill_density": "20%", + "sparse_infill_line_width": "0.68", + "sparse_infill_speed": "130", + "support_interface_spacing": "0.25", + "support_interface_speed": "55", + "support_line_width": "0.5", + "support_object_xy_distance": "0.544", + "support_speed": "110", + "support_top_z_distance": "0.25", + "top_shell_layers": "4", + "top_shell_thickness": "0.9", + "top_surface_acceleration": "2000", + "top_surface_line_width": "0.55", + "top_surface_speed": "60", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.8.json new file mode 100644 index 0000000000..016b73a17f --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm SPEED @MK4S HF0.8.json @@ -0,0 +1,19 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "65", + "inherits": "0.40mm QUALITY @MK4S 0.8", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "100", + "instantiation": "true", + "internal_solid_infill_speed": "100", + "name": "0.40mm SPEED @MK4S HF0.8", + "outer_wall_acceleration": "2500", + "outer_wall_speed": "90", + "small_perimeter_speed": "90", + "sparse_infill_speed": "105", + "support_speed": "90", + "top_surface_acceleration": "1500", + "top_surface_speed": "75", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.6.json b/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.6.json new file mode 100644 index 0000000000..810b78b8dc --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.6.json @@ -0,0 +1,18 @@ +{ + "bridge_speed": "30", + "from": "system", + "inherits": "0.40mm SPEED @MK4S HF0.6", + "inner_wall_acceleration": "2000", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_acceleration": "2500", + "internal_solid_infill_speed": "100", + "name": "0.40mm STRUCTURAL @MK4S HF0.6", + "outer_wall_acceleration": "1500", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_acceleration": "3000", + "sparse_infill_speed": "100", + "top_surface_acceleration": "1500", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.8.json new file mode 100644 index 0000000000..44af002c16 --- /dev/null +++ b/resources/profiles/Prusa/process/0.40mm STRUCTURAL @MK4S HF0.8.json @@ -0,0 +1,15 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "65", + "inherits": "0.40mm QUALITY @MK4S 0.8", + "inner_wall_speed": "80", + "instantiation": "true", + "internal_solid_infill_speed": "100", + "name": "0.40mm STRUCTURAL @MK4S HF0.8", + "sparse_infill_speed": "100", + "support_speed": "80", + "top_surface_acceleration": "1200", + "top_surface_speed": "65", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.55mm DRAFT @MK4S 0.8.json b/resources/profiles/Prusa/process/0.55mm DRAFT @MK4S 0.8.json new file mode 100644 index 0000000000..4f20ddc28b --- /dev/null +++ b/resources/profiles/Prusa/process/0.55mm DRAFT @MK4S 0.8.json @@ -0,0 +1,45 @@ +{ + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.8", + "bridge_acceleration": "1000", + "bridge_speed": "22", + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes!~/.*HF_NOZZLE.*/", + "default_acceleration": "2000", + "from": "system", + "gap_infill_speed": "30", + "infill_anchor": "2.5", + "infill_anchor_max": "20", + "inherits": "process_common_mk4s", + "initial_layer_line_width": "1", + "inner_wall_acceleration": "2000", + "inner_wall_line_width": "1", + "inner_wall_speed": "40", + "instantiation": "true", + "internal_solid_infill_acceleration": "3000", + "internal_solid_infill_line_width": "0.9", + "internal_solid_infill_speed": "35", + "layer_height": "0.55", + "line_width": "0.9", + "name": "0.55mm DRAFT @MK4S 0.8", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "1", + "outer_wall_speed": "35", + "raft_contact_distance": "0.2", + "seam_position": "nearest", + "small_perimeter_speed": "35", + "sparse_infill_line_width": "0.9", + "sparse_infill_pattern": "zig-zag", + "sparse_infill_speed": "60", + "support_interface_spacing": "0.35", + "support_line_width": "0.65", + "support_object_xy_distance": "0.72", + "support_speed": "35", + "support_top_z_distance": "0.25", + "thick_bridges": "1", + "top_shell_layers": "4", + "top_shell_thickness": "1.2", + "top_surface_acceleration": "1000", + "top_surface_line_width": "0.75", + "top_surface_speed": "30", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.55mm SPEED @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.55mm SPEED @MK4S HF0.8.json new file mode 100644 index 0000000000..e71a11de8d --- /dev/null +++ b/resources/profiles/Prusa/process/0.55mm SPEED @MK4S HF0.8.json @@ -0,0 +1,19 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "60", + "inherits": "0.55mm DRAFT @MK4S 0.8", + "inner_wall_acceleration": "3000", + "inner_wall_speed": "75", + "instantiation": "true", + "internal_solid_infill_speed": "70", + "name": "0.55mm SPEED @MK4S HF0.8", + "outer_wall_acceleration": "2500", + "outer_wall_speed": "70", + "small_perimeter_speed": "70", + "sparse_infill_speed": "80", + "support_speed": "80", + "top_surface_acceleration": "1500", + "top_surface_speed": "60", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/0.55mm STRUCTURAL @MK4S HF0.8.json b/resources/profiles/Prusa/process/0.55mm STRUCTURAL @MK4S HF0.8.json new file mode 100644 index 0000000000..ade77f6d83 --- /dev/null +++ b/resources/profiles/Prusa/process/0.55mm STRUCTURAL @MK4S HF0.8.json @@ -0,0 +1,17 @@ +{ + "compatible_printers_condition": "printer_notes=~/.*MK4S.*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*HF_NOZZLE.*/", + "from": "system", + "gap_infill_speed": "60", + "inherits": "0.55mm DRAFT @MK4S 0.8", + "inner_wall_speed": "75", + "instantiation": "true", + "internal_solid_infill_speed": "65", + "name": "0.55mm STRUCTURAL @MK4S HF0.8", + "outer_wall_speed": "45", + "small_perimeter_speed": "45", + "sparse_infill_speed": "75", + "support_speed": "65", + "top_surface_acceleration": "1200", + "top_surface_speed": "45", + "type": "process" +} \ No newline at end of file diff --git a/resources/profiles/Prusa/process/process_common_mk4s.json b/resources/profiles/Prusa/process/process_common_mk4s.json new file mode 100644 index 0000000000..d15802643a --- /dev/null +++ b/resources/profiles/Prusa/process/process_common_mk4s.json @@ -0,0 +1,90 @@ +{ + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.5", + "bridge_acceleration": "1500", + "compatible_printers_condition": "printer_notes=~/.*MK4IS.*/ and nozzle_diameter[0]==0.4", + "default_acceleration": "4000", + "elefant_foot_compensation": "0.2", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enforce_support_layers": "0", + "filename_format": "{input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode", + "from": "system", + "gap_infill_speed": "120", + "gcode_comments": "0", + "gcode_label_objects": "1", + "infill_anchor": "2", + "infill_anchor_max": "12", + "infill_wall_overlap": "15%", + "inherits": "fdm_process_common", + "initial_layer_line_width": "0.5", + "initial_layer_speed": "40", + "inner_wall_acceleration": "4000", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "170", + "instantiation": "false", + "internal_solid_infill_acceleration": "4000", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "200", + "line_width": "0.45", + "min_bead_width": "85%", + "min_feature_size": "25%", + "minimum_sparse_infill_area": "0", + "name": "process_common_mk4s", + "ooze_prevention": "0", + "outer_wall_acceleration": "4000", + "outer_wall_line_width": "0.45", + "outer_wall_speed": "170", + "overhang_1_4_speed": "80%", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "25", + "overhang_4_4_speed": "15", + "raft_contact_distance": "0.15", + "raft_expansion": "1.5", + "raft_first_layer_density": "80%", + "raft_first_layer_expansion": "3.5", + "reduce_infill_retraction": "0", + "resolution": "0", + "slice_closing_radius": "0.049", + "small_perimeter_speed": "170", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "4000", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_interface_bottom_layers": "0", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.2", + "support_interface_speed": "60", + "support_interface_top_layers": "5", + "support_line_width": "0.36", + "support_object_xy_distance": "0.36", + "support_speed": "120", + "support_style": "snug", + "support_threshold_angle": "40", + "thick_bridges": "0", + "top_shell_layers": "5", + "top_shell_thickness": "0.7", + "top_surface_acceleration": "1200", + "top_surface_line_width": "0.42", + "top_surface_speed": "100", + "travel_acceleration": "4000", + "travel_speed": "300", + "travel_speed_z": "12", + "tree_support_angle_slow": "25", + "tree_support_branch_angle": "40", + "tree_support_branch_diameter": "2", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "type": "process", + "wall_filament": "1", + "wall_generator": "arachne", + "wall_loops": "2" +} \ No newline at end of file