From 9467aa228c7ec8b71f7e0378cc6422b7d8039a73 Mon Sep 17 00:00:00 2001 From: cochcoder <103969142+cochcoder@users.noreply.github.com> Date: Sun, 19 May 2024 06:09:36 +0000 Subject: [PATCH] Add Dremel 3D20, 3D40, and 3D45 (#4777) * Add base files & 3D20 * Add Dremel 3D20, 3D40, and 3D45 * Used the wrong name * Let's see if this fixes the crashes * test * Limit variables and trying something * Forgot to remove these,,, * Tweaks * Re-add Dremel files and fix several format errors * Add Dremel 3D40 & 3D45 and process * Temp bed model/texture * Forgot to add the actual files * Revert "Forgot to add the actual files" This reverts commit 9190ca3d0eceb1749e9647335e0a44588fed155e. * Revert "Temp bed model/texture" This reverts commit 6e873f8e72453cfb6fda80ed388647493a7c3adb. * Update fdm_process_dremel_common.json * Add bed models * Improve upon build plates * Attempt at fixing error * Didn't work * Attempt at a fix * Revert "Attempt at a fix" This reverts commit 1e06ea355c4ad24dd40ff3adfe06bf91e833c933. * Try changing order of process_list * Remove gcode_flavor from process * Add fdm_filament_pla to Dremel.json * Add Dremel Generic PLA * forgot this... * Change to dremel * Fix buildplate model naming * Try this * Revert "Try this" This reverts commit 851f355c2e1aa4722e7381fdc2ed66f13aa6a597. * Fix issues that it won't load on Linux/Mac OS --------- Co-authored-by: SoftFever --- resources/profiles/Dremel.json | 130 +++++++++++++++ .../profiles/Dremel/Dremel 3D20_cover.png | Bin 0 -> 31263 bytes .../profiles/Dremel/Dremel 3D40_cover.png | Bin 0 -> 30636 bytes .../profiles/Dremel/Dremel 3D45_cover.png | Bin 0 -> 30761 bytes .../Dremel/dremel_3d20_buildplate_model.stl | Bin 0 -> 684 bytes .../dremel_3d40_3d45_buildplate_model.stl | Bin 0 -> 684 bytes .../Dremel Generic PLA @3D20 all.json | 28 ++++ .../Dremel Generic PLA @3D40 all.json | 34 ++++ .../Dremel Generic PLA @3D45 all.json | 34 ++++ .../Dremel/filament/Dremel Generic PLA.json | 12 ++ .../Dremel/filament/fdm_filament_common.json | 120 ++++++++++++++ .../Dremel/filament/fdm_filament_pla.json | 70 ++++++++ .../machine/Dremel 3D20 0.4 nozzle.json | 154 ++++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D20.json | 12 ++ .../machine/Dremel 3D40 0.4 nozzle.json | 153 +++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D40.json | 12 ++ .../machine/Dremel 3D45 0.4 nozzle.json | 142 ++++++++++++++++ .../profiles/Dremel/machine/Dremel 3D45.json | 12 ++ .../Dremel/machine/fdm_dremel_common.json | 138 ++++++++++++++++ .../Dremel/machine/fdm_machine_common.json | 120 ++++++++++++++ .../.05mm Super Detail @Dremel 3D40 0.4.json | 93 +++++++++++ .../.05mm Super Detail @Dremel 3D45 0.4.json | 93 +++++++++++ .../.10mm Detail @Dremel 3D20 0.4.json | 94 +++++++++++ .../.10mm Detail @Dremel 3D40 0.4.json | 93 +++++++++++ .../.10mm Detail @Dremel 3D45 0.4.json | 93 +++++++++++ .../.20mm Standard @Dremel 3D20 0.4.json | 94 +++++++++++ .../.20mm Standard @Dremel 3D40 0.4.json | 93 +++++++++++ .../.20mm Standard @Dremel 3D45 0.4.json | 93 +++++++++++ .../process/.30mm Draft @Dremel 3D20 0.4.json | 94 +++++++++++ .../process/.30mm Draft @Dremel 3D40 0.4.json | 93 +++++++++++ .../process/.30mm Draft @Dremel 3D45 0.4.json | 93 +++++++++++ .../.34mm SuperDraft @Dremel 3D40 0.4.json | 93 +++++++++++ .../.34mm SuperDraft @Dremel 3D45 0.4.json | 93 +++++++++++ .../Dremel/process/fdm_process_common.json | 70 ++++++++ .../process/fdm_process_dremel_common.json | 104 ++++++++++++ 35 files changed, 2557 insertions(+) create mode 100644 resources/profiles/Dremel.json create mode 100644 resources/profiles/Dremel/Dremel 3D20_cover.png create mode 100644 resources/profiles/Dremel/Dremel 3D40_cover.png create mode 100644 resources/profiles/Dremel/Dremel 3D45_cover.png create mode 100644 resources/profiles/Dremel/dremel_3d20_buildplate_model.stl create mode 100644 resources/profiles/Dremel/dremel_3d40_3d45_buildplate_model.stl create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json create mode 100644 resources/profiles/Dremel/filament/Dremel Generic PLA.json create mode 100644 resources/profiles/Dremel/filament/fdm_filament_common.json create mode 100644 resources/profiles/Dremel/filament/fdm_filament_pla.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D20.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D40.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json create mode 100644 resources/profiles/Dremel/machine/Dremel 3D45.json create mode 100644 resources/profiles/Dremel/machine/fdm_dremel_common.json create mode 100644 resources/profiles/Dremel/machine/fdm_machine_common.json create mode 100644 resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json create mode 100644 resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json create mode 100644 resources/profiles/Dremel/process/fdm_process_common.json create mode 100644 resources/profiles/Dremel/process/fdm_process_dremel_common.json diff --git a/resources/profiles/Dremel.json b/resources/profiles/Dremel.json new file mode 100644 index 0000000000..4a7e137f59 --- /dev/null +++ b/resources/profiles/Dremel.json @@ -0,0 +1,130 @@ +{ + "name": "Dremel", + "version": "02.00.00.00", + "force_update": "0", + "description": "Dremel configurations", + "machine_model_list": [ + { + "name": "Dremel 3D20", + "sub_path": "machine/Dremel 3D20.json" + }, + { + "name": "Dremel 3D40", + "sub_path": "machine/Dremel 3D40.json" + }, + { + "name": "Dremel 3D45", + "sub_path": "machine/Dremel 3D45.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "fdm_process_dremel_common", + "sub_path": "process/fdm_process_dremel_common.json" + }, + { + "name": ".05mm Super Detail @Dremel 3D40 0.4", + "sub_path": "process/.05mm Super Detail @Dremel 3D40 0.4.json" + }, + { + "name": ".05mm Super Detail @Dremel 3D45 0.4", + "sub_path": "process/.05mm Super Detail @Dremel 3D45 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D20 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D20 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D40 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D40 0.4.json" + }, + { + "name": ".10mm Detail @Dremel 3D45 0.4", + "sub_path": "process/.10mm Detail @Dremel 3D45 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D20 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D20 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D40 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D40 0.4.json" + }, + { + "name": ".20mm Standard @Dremel 3D45 0.4", + "sub_path": "process/.20mm Standard @Dremel 3D45 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D20 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D20 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D40 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D40 0.4.json" + }, + { + "name": ".30mm Draft @Dremel 3D45 0.4", + "sub_path": "process/.30mm Draft @Dremel 3D45 0.4.json" + }, + { + "name": ".34mm SuperDraft @Dremel 3D40 0.4", + "sub_path": "process/.34mm SuperDraft @Dremel 3D40 0.4.json" + }, + { + "name": ".34mm SuperDraft @Dremel 3D45 0.4", + "sub_path": "process/.34mm SuperDraft @Dremel 3D45 0.4.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "Dremel Generic PLA", + "sub_path": "filament/Dremel Generic PLA.json" + }, + { + "name": "Dremel Generic PLA @3D20 all", + "sub_path": "filament/Dremel Generic PLA @3D20 all.json" + }, + { + "name": "Dremel Generic PLA @3D40 all", + "sub_path": "filament/Dremel Generic PLA @3D40 all.json" + }, + { + "name": "Dremel Generic PLA @3D45 all", + "sub_path": "filament/Dremel Generic PLA @3D45 all.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "fdm_dremel_common", + "sub_path": "machine/fdm_dremel_common.json" + }, + { + "name": "Dremel 3D20 0.4 nozzle", + "sub_path": "machine/Dremel 3D20 0.4 nozzle.json" + }, + { + "name": "Dremel 3D40 0.4 nozzle", + "sub_path": "machine/Dremel 3D40 0.4 nozzle.json" + }, + { + "name": "Dremel 3D45 0.4 nozzle", + "sub_path": "machine/Dremel 3D45 0.4 nozzle.json" + } + ] +} diff --git a/resources/profiles/Dremel/Dremel 3D20_cover.png b/resources/profiles/Dremel/Dremel 3D20_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..df22f0012efce02f8a129c38ff59d3e24456ea18 GIT binary patch literal 31263 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Dremel/dremel_3d20_buildplate_model.stl b/resources/profiles/Dremel/dremel_3d20_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..4ee3b5b44c4215c3150015673ed1dbcacc540099 GIT binary patch literal 684 zcmb`E!3~2j5CpG)^n^rZ6p<3>BN65BNDc9@jIemX2PBTg-dX$Xs%M|q7B>w?>Tj%? zm;9@zZx#C8UUaJ$gf0pEjrinCU0c2`H0zP8j`NP_lR{Y8UB9~PN!XwM^m8V3F|H0_ z_Y&^C?+JZ8R|GDTI$}Ssbw3|w)ZT~Z7RvL|#VEPD)Nxy(oUsoHlI%%;Zt_g%VqE

}*COC!!b;~F~Jq=4P^ALKk&)67H-1p_-{Aa#w5qwl7`Os!L71ANu&kzpdN--WA+GLKjKu4^8Y| AR{#J2 literal 0 HcmV?d00001 diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json new file mode 100644 index 0000000000..addde4858f --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D20 all.json @@ -0,0 +1,28 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D20 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "230" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json new file mode 100644 index 0000000000..17db278d51 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D40 all.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D40 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json new file mode 100644 index 0000000000..304a59d97e --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA @3D45 all.json @@ -0,0 +1,34 @@ +{ + "type": "filament", + "setting_id": "GFSL99_00", + "name": "Dremel Generic PLA @3D45 all", + "from": "system", + "instantiation": "true", + "inherits": "Dremel Generic PLA", + "filament_max_volumetric_speed": ["9"], + "slow_down_layer_time": ["10"], + "filament_retraction_length": [ + "3" + ], + "filament_retraction_speed": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "hot_plate_temp": [ + "60" + ], + "nozzle_temperature": [ + "225" + ], + "nozzle_temperature_initial_layer": [ + "225" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/filament/Dremel Generic PLA.json b/resources/profiles/Dremel/filament/Dremel Generic PLA.json new file mode 100644 index 0000000000..e0af806ed9 --- /dev/null +++ b/resources/profiles/Dremel/filament/Dremel Generic PLA.json @@ -0,0 +1,12 @@ +{ + "type": "filament", + "filament_id": "GFL99", + "setting_id": "GFSA04", + "name": "Dremel Generic PLA", + "from": "system", + "instantiation": "true", + "inherits": "fdm_filament_pla", + "filament_flow_ratio": ["0.98"], + "filament_max_volumetric_speed": ["12"], + "slow_down_layer_time": ["8"] +} diff --git a/resources/profiles/Dremel/filament/fdm_filament_common.json b/resources/profiles/Dremel/filament/fdm_filament_common.json new file mode 100644 index 0000000000..6c87f1d428 --- /dev/null +++ b/resources/profiles/Dremel/filament/fdm_filament_common.json @@ -0,0 +1,120 @@ +{ + "type": "filament", + "name": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "overhang_fan_threshold": [ + "95%" + ], + "overhang_fan_speed": [ + "100" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "close_fan_the_first_x_layers": [ + "3" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_flow_ratio": [ + "1" + ], + "reduce_fan_stop_start_freq": [ + "0" + ], + "fan_cooling_layer_time": [ + "60" + ], + "filament_cost": [ + "0" + ], + "filament_density": [ + "0" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_max_volumetric_speed": [ + "0" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_settings_id": [ + "" + ], + "filament_soluble": [ + "0" + ], + "filament_type": [ + "PLA" + ], + "filament_vendor": [ + "Generic" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "bed_type": [ + "Cool Plate" + ], + "nozzle_temperature_initial_layer": [ + "200" + ], + "full_fan_speed_layer": [ + "0" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "35" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "8" + ], + "filament_start_gcode": [ + "; Filament gcode\n" + ], + "nozzle_temperature": [ + "200" + ], + "temperature_vitrification": [ + "100" + ] +} diff --git a/resources/profiles/Dremel/filament/fdm_filament_pla.json b/resources/profiles/Dremel/filament/fdm_filament_pla.json new file mode 100644 index 0000000000..cbede63c72 --- /dev/null +++ b/resources/profiles/Dremel/filament/fdm_filament_pla.json @@ -0,0 +1,70 @@ +{ + "type": "filament", + "name": "fdm_filament_pla", + "from": "system", + "instantiation": "false", + "inherits": "fdm_filament_common", + "fan_cooling_layer_time": [ + "100" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "filament_type": [ + "PLA" + ], + "filament_density": [ + "1.24" + ], + "filament_cost": [ + "20" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "100" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "60" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "slow_down_min_speed": [ + "10" + ], + "slow_down_layer_time": [ + "4" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json new file mode 100644 index 0000000000..b52a2b13fe --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D20 0.4 nozzle.json @@ -0,0 +1,154 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D20 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D20", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D20 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D20 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "Dremel", + "printable_area": [ + "0x0", + "230x0", + "230x150", + "0x150" + ], + "printable_height": "140", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "deretraction_speed": [ + "40" + ], + "emit_machine_limits_to_gcode": "1", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "max_layer_height": [ + "0.3" + ], + "min_layer_height": [ + "0.08" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_above": [ + "0" + ], + "retract_lift_below": [ + "0" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "0.5" + ], + "retraction_minimum_travel": [ + "2" + ], + "retraction_speed": [ + "40" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.2" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_start_gcode": "G90\nG28\nM132 X Y Z A\nG1 Z100 F3300\nG1 X-110.5 Y-74 F6000\nM6 T0\nM907 X100 Y100 Z60 A100\nG1 Z0.6 F3300\nG4 P2000\nM108 T0", + "machine_end_gcode": "M104 S0 T0\nG1 Z140 F3300\nG28 X0 Y0\nM132 X Y Z A\nG91\nM18", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D20.json b/resources/profiles/Dremel/machine/Dremel 3D20.json new file mode 100644 index 0000000000..58e7aa04c7 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D20.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D20", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d20_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D20", + "default_materials": "Dremel Generic PLA @3D20 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json new file mode 100644 index 0000000000..12a761c782 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D40 0.4 nozzle.json @@ -0,0 +1,153 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D40 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D40", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D40 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D40 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "255x0", + "255x155", + "0x155" + ], + "printable_height": "170", + "nozzle_type": "undefine", + "auxiliary_fan": "0", + "max_layer_height": [ + "0.34" + ], + "min_layer_height": [ + "0.05" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "fan_speedup_overhangs": "1", + "deretraction_speed": [ + "40" + ], + "printer_settings_id": "Dremel", + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "3" + ], + "retraction_minimum_travel": [ + "5" + ], + "retraction_speed": [ + "60" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.5" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_start_gcode": "G90\nG28\nM132 X Y Z A\nG1 Z100 F3300\nG1 X-110.5 Y-74 F6000\nM6 T0\nM907 X100 Y100 Z60 A100\nG1 Z0.6 F3300\nG4 P2000\nM108 T0", + "machine_end_gcode": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG162 Z F600\nG162 X Y F2000\nM84", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D40.json b/resources/profiles/Dremel/machine/Dremel 3D40.json new file mode 100644 index 0000000000..dcbde9d0c2 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D40.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D40", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d40_3d45_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D40", + "default_materials": "Dremel Generic PLA @3D40 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json b/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json new file mode 100644 index 0000000000..ff11f45776 --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D45 0.4 nozzle.json @@ -0,0 +1,142 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Dremel 3D45 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_dremel_common", + "printer_model": "Dremel 3D45", + "printer_variant": "0.4", + "printer_structure": "Hbot", + "printer_settings_id": "Dremel", + "gcode_flavor": "marlin", + "default_filament_profile": [ + "Dremel Generic PLA @3D45 all" + ], + "default_print_profile": ".20mm Standard @Dremel 3D45 0.4", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "255x0", + "255x155", + "0x155" + ], + "printable_height": "170", + "deretraction_speed": [ + "40" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "101", + "extruder_clearance_height_to_rod": "45", + "extruder_clearance_radius": "45", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0.5" + ], + "z_hop_types": [ + "Normal Lift" + ], + "machine_max_acceleration_e": [ + "6200", + "5000" + ], + "machine_max_acceleration_extruding": [ + "6200", + "20000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "9000", + "9000" + ], + "machine_max_acceleration_x": [ + "6200", + "20000" + ], + "machine_max_acceleration_y": [ + "6200", + "20000" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "12", + "12" + ], + "machine_max_jerk_y": [ + "12", + "12" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "3000", + "100" + ], + "machine_max_speed_x": [ + "1000", + "1000" + ], + "machine_max_speed_y": [ + "1000", + "1000" + ], + "machine_max_speed_z": [ + "30", + "30" + ], + "max_layer_height": [ + "0.34" + ], + "min_layer_height": [ + "0.05" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "1" + ], + "retract_lift_enforce": [ + "Top Surfaces" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "3" + ], + "retraction_minimum_travel": [ + "5" + ], + "retraction_speed": [ + "60" + ], + "machine_start_gcode": "G28\nG1 Z50.00 F400\nG92 E0\nG1 F200 E3\nG92 E0\nM132 X Y Z A\nM907 X100 Y100 Z50 A100", + "machine_end_gcode": "M104 S0\nM140 S0\nG92 E1\nG1 E-1 F300\nG162 Z F600\nG162 X Y F2000\nM84", + "thumbnails_format": "PNG", + "thumbnails": [ + "96x96", + "300x300" + ] +} diff --git a/resources/profiles/Dremel/machine/Dremel 3D45.json b/resources/profiles/Dremel/machine/Dremel 3D45.json new file mode 100644 index 0000000000..0ce708033f --- /dev/null +++ b/resources/profiles/Dremel/machine/Dremel 3D45.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Dremel 3D45", + "nozzle_diameter": "0.4", + "family": "Dremel", + "bed_model": "dremel_3d40_3d45_buildplate_model.stl", + "bed_texture": "", + "hotend_model": "", + "machine_tech": "FFF", + "model_id": "Dremel_3D45", + "default_materials": "Dremel Generic PLA @3D45 all" +} \ No newline at end of file diff --git a/resources/profiles/Dremel/machine/fdm_dremel_common.json b/resources/profiles/Dremel/machine/fdm_dremel_common.json new file mode 100644 index 0000000000..566099e54e --- /dev/null +++ b/resources/profiles/Dremel/machine/fdm_dremel_common.json @@ -0,0 +1,138 @@ +{ + "type": "machine", + "name": "fdm_dremel_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_machine_common", + "gcode_flavor": "marlin", + "machine_max_acceleration_e": [ + "5000", + "5000" + ], + "machine_max_acceleration_extruding": [ + "500", + "500" + ], + "machine_max_acceleration_retracting": [ + "1000", + "1000" + ], + "machine_max_acceleration_travel": [ + "500", + "500" + ], + "machine_max_acceleration_x": [ + "500", + "500" + ], + "machine_max_acceleration_y": [ + "500", + "500" + ], + "machine_max_acceleration_z": [ + "500", + "500" + ], + "machine_max_speed_e": [ + "60", + "60" + ], + "machine_max_speed_x": [ + "500", + "500" + ], + "machine_max_speed_y": [ + "500", + "500" + ], + "machine_max_speed_z": [ + "10", + "10" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "8", + "8" + ], + "machine_max_jerk_y": [ + "8", + "8" + ], + "machine_max_jerk_z": [ + "0.4", + "0.4" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "47", + "extruder_clearance_height_to_rod": "34", + "extruder_clearance_height_to_lid": "34", + "printer_settings_id": "", + "printer_technology": "FFF", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "2" + ], + "z_hop": [ + "0.4" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "deretraction_speed": [ + "40" + ], + "silent_mode": "0", + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "machine_pause_gcode": "M25 ;pause print", + "wipe": [ + "1" + ], + "default_filament_profile": [ + "Dremel Generic PLA" + ], + "bed_exclude_area": [ + "0x0" + ], + "machine_start_gcode": "G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S[bed_temperature_initial_layer] ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[nozzle_temperature_initial_layer] ; set final nozzle temp\nM190 S[bed_temperature_initial_layer] ; wait for bed temp to stabilize\nM109 S[nozzle_temperature_initial_layer] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0", + "machine_end_gcode": "{if max_layer_z < printable_height}G1 Z{min(max_layer_z+2, printable_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < printable_height-10}G1 Z{min(max_layer_z+70, printable_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < printable_height*0.6}G1 Z{printable_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors", + "layer_change_gcode": "", + "scan_first_layer": "0", + "nozzle_type": "undefine", + "auxiliary_fan": "0" +} diff --git a/resources/profiles/Dremel/machine/fdm_machine_common.json b/resources/profiles/Dremel/machine/fdm_machine_common.json new file mode 100644 index 0000000000..6bf00c7418 --- /dev/null +++ b/resources/profiles/Dremel/machine/fdm_machine_common.json @@ -0,0 +1,120 @@ +{ + "type": "machine", + "name": "fdm_machine_common", + "from": "system", + "instantiation": "false", + "printer_technology": "FFF", + "deretraction_speed": [ + "40" + ], + "extruder_colour": [ + "#FCE94F" + ], + "extruder_offset": [ + "0x0" + ], + "gcode_flavor": "marlin", + "silent_mode": "0", + "support_chamber_temp_control": "0", + "support_air_filtration": "0", + "machine_max_acceleration_e": [ + "5000" + ], + "machine_max_acceleration_extruding": [ + "10000" + ], + "machine_max_acceleration_retracting": [ + "1000" + ], + "machine_max_acceleration_x": [ + "10000" + ], + "machine_max_acceleration_y": [ + "10000" + ], + "machine_max_acceleration_z": [ + "500" + ], + "machine_max_speed_e": [ + "60" + ], + "machine_max_speed_x": [ + "500" + ], + "machine_max_speed_y": [ + "500" + ], + "machine_max_speed_z": [ + "10" + ], + "machine_max_jerk_e": [ + "5" + ], + "machine_max_jerk_x": [ + "8" + ], + "machine_max_jerk_y": [ + "8" + ], + "machine_max_jerk_z": [ + "0.4" + ], + "machine_min_extruding_rate": [ + "0" + ], + "machine_min_travel_rate": [ + "0" + ], + "max_layer_height": [ + "0.32" + ], + "min_layer_height": [ + "0.08" + ], + "printable_height": "250", + "extruder_clearance_radius": "65", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_height_to_lid": "140", + "nozzle_diameter": [ + "0.4" + ], + "printer_settings_id": "", + "printer_variant": "0.4", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "70%" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_length": [ + "5" + ], + "retract_length_toolchange": [ + "1" + ], + "z_hop": [ + "0" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retraction_speed": [ + "60" + ], + "single_extruder_multi_material": "1", + "change_filament_gcode": "", + "wipe": [ + "1" + ], + "z_hop_types": "Normal Lift", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "default_print_profile": "0.16mm Optimal @Bambu Lab X1 Carbon 0.4 nozzle", + "machine_start_gcode": "G0 Z20 F9000\nG92 E0; G1 E-10 F1200\nG28\nM970 Q1 A10 B10 C130 K0\nM970 Q1 A10 B131 C250 K1\nM974 Q1 S1 P0\nM970 Q0 A10 B10 C130 H20 K0\nM970 Q0 A10 B131 C250 K1\nM974 Q0 S1 P0\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\nG29 ;Home\nG90;\nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nM109 S205;\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder \nG1 X110 Y110 Z2.0 F3000 ;Move Z Axis up", + "machine_end_gcode": "M400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-4.0 F3600; retract \nG91\nG1 Z3;\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nG90 \nG0 X110 Y200 F3600 \nprint_end" +} diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json new file mode 100644 index 0000000000..841e370c44 --- /dev/null +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".05mm Super Detail @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "30", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.05", + "initial_layer_speed": "22", + "infill_combination": "1", + "infill_wall_overlap": "15%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "15", + "line_width": "0.42", + "layer_height": "0.05", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "45", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.1", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "40", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "45", + "support_threshold_angle": "60", + "support_object_xy_distance": "1.4", + "skirt_loops": "7", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.1", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "15", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json new file mode 100644 index 0000000000..989af133e8 --- /dev/null +++ b/resources/profiles/Dremel/process/.05mm Super Detail @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".05mm Super Detail @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "20", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.05", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.05", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "50", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "20", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json new file mode 100644 index 0000000000..39f8a75232 --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "45", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "20", + "infill_combination": "1", + "infill_wall_overlap": "18%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "45", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "20", + "line_width": "0.4", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2500", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "30%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "45", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "45", + "support_threshold_angle": "55", + "support_object_xy_distance": "1", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "45", + "travel_speed": "90", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "6", + "top_shell_thickness": "1", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json new file mode 100644 index 0000000000..e127a11b00 --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.1", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.1", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "35", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json new file mode 100644 index 0000000000..5e014ffe07 --- /dev/null +++ b/resources/profiles/Dremel/process/.10mm Detail @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".10mm Detail @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "50", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "40", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "50", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "10", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json new file mode 100644 index 0000000000..ce54d76e76 --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "50", + "infill_direction": "45", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "50", + "infill_combination": "1", + "infill_wall_overlap": "25%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "initial_layer_infill_speed": "35%", + "line_width": "0.45", + "layer_height": "0.2", + "minimum_sparse_infill_area": "10", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.45", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2500", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "18%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "60", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.38", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "3", + "support_interface_spacing": "0.2", + "support_interface_speed": "100%", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "50", + "support_threshold_angle": "60", + "support_object_xy_distance": "60%", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "1", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "50", + "travel_speed": "100", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json new file mode 100644 index 0000000000..428bb89fe4 --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.1", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "35", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json new file mode 100644 index 0000000000..b15c8859fc --- /dev/null +++ b/resources/profiles/Dremel/process/.20mm Standard @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".20mm Standard @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.1", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.2", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.4", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "55", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json new file mode 100644 index 0000000000..921e311e99 --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D20 0.4.json @@ -0,0 +1,94 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D20 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "6", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "5000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "50", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "20", + "infill_combination": "1", + "infill_wall_overlap": "18%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "5000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "50", + "line_width": "0.4", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2500", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "10%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "18%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "60", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "3.5", + "support_speed": "50", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "3", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.4", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "50", + "travel_speed": "100", + "travel_acceleration": "5000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "1000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_distribution_count": "2", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D20 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json new file mode 100644 index 0000000000..604669bbb8 --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.42", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.3", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.3", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "55", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json new file mode 100644 index 0000000000..20c237f466 --- /dev/null +++ b/resources/profiles/Dremel/process/.30mm Draft @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".30mm Draft @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.4", + "initial_layer_print_height": "0.3", + "initial_layer_speed": "25", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.4", + "inner_wall_speed": "60", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.4", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "25", + "line_width": "0.4", + "layer_height": "0.3", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "30", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "20%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.4", + "sparse_infill_speed": "55", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.4", + "support_top_z_distance": "0.6", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "50", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "55", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.6", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.4", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json new file mode 100644 index 0000000000..a7a9cfc047 --- /dev/null +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D40 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".34mm SuperDraft @Dremel 3D40 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "55", + "infill_direction": "45", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.34", + "initial_layer_speed": "30", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "70", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_speed": "60", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "30", + "line_width": "0.42", + "layer_height": "0.34", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "70", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.45", + "sparse_infill_speed": "65", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.42", + "support_top_z_distance": "0.34", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.68", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "0.34", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.34", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.42", + "top_surface_speed": "55", + "travel_speed": "120", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D40 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json new file mode 100644 index 0000000000..b4fb5ab19f --- /dev/null +++ b/resources/profiles/Dremel/process/.34mm SuperDraft @Dremel 3D45 0.4.json @@ -0,0 +1,93 @@ +{ + "type": "process", + "from": "system", + "inherits": "fdm_process_dremel_common", + "name": ".34mm SuperDraft @Dremel 3D45 0.4", + "instantiation": "true", + "adaptive_layer_height": "0", + "bridge_flow": "1", + "bridge_speed": "50", + "brim_width": "5", + "bridge_no_support": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "10", + "bottom_shell_thickness": "1", + "brim_object_gap": "0.1", + "default_acceleration": "2000", + "detect_overhang_wall": "1", + "enable_support": "1", + "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode", + "gap_infill_speed": "35", + "infill_direction": "45", + "initial_layer_line_width": "0.48", + "initial_layer_print_height": "0.34", + "initial_layer_speed": "35", + "infill_combination": "1", + "infill_wall_overlap": "12%", + "inner_wall_line_width": "0.48", + "inner_wall_speed": "70", + "inner_wall_acceleration": "2000", + "internal_solid_infill_line_width": "0.56", + "internal_solid_infill_speed": "50", + "internal_bridge_support_thickness": "0.8", + "initial_layer_acceleration": "2000", + "ironing_flow": "10%", + "ironing_spacing": "0.15", + "ironing_speed": "30", + "ironing_type": "top", + "initial_layer_infill_speed": "35", + "line_width": "0.48", + "layer_height": "0.34", + "minimum_sparse_infill_area": "15", + "max_travel_detour_distance": "0", + "outer_wall_line_width": "0.48", + "outer_wall_speed": "35", + "outer_wall_acceleration": "2000", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "only_one_wall_top": "1", + "print_sequence": "by layer", + "reduce_infill_retraction": "1", + "raft_first_layer_density": "100%", + "raft_first_layer_expansion": "1.5", + "resolution": "0.012", + "sparse_infill_density": "10%", + "sparse_infill_pattern": "grid", + "sparse_infill_line_width": "0.56", + "sparse_infill_speed": "70", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "support_line_width": "0.48", + "support_top_z_distance": "0.68", + "support_interface_top_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "55", + "support_interface_pattern": "auto", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_speed": "60", + "support_threshold_angle": "65", + "support_object_xy_distance": "1", + "skirt_loops": "5", + "slow_down_layers": "2", + "support_bottom_z_distance": "0.68", + "support_interface_bottom_layers": "2", + "support_expansion": "1.5", + "top_surface_line_width": "0.48", + "top_surface_speed": "35", + "travel_speed": "100", + "travel_acceleration": "2000", + "top_surface_pattern": "monotonicline", + "top_surface_acceleration": "2000", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "wall_loops": "3", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_generator": "arachne", + "compatible_printers": [ + "Dremel 3D45 0.4 nozzle" + ] +} diff --git a/resources/profiles/Dremel/process/fdm_process_common.json b/resources/profiles/Dremel/process/fdm_process_common.json new file mode 100644 index 0000000000..7398bcd481 --- /dev/null +++ b/resources/profiles/Dremel/process/fdm_process_common.json @@ -0,0 +1,70 @@ +{ + "type": "process", + "name": "fdm_process_common", + "from": "system", + "instantiation": "false", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "compatible_printers": [], + "print_sequence": "by layer", + "default_acceleration": "10000", + "bridge_no_support": "0", + "elefant_foot_compensation": "0.1", + "outer_wall_line_width": "0.4", + "outer_wall_speed": "120", + "line_width": "0.45", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "20", + "gap_infill_speed": "30", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "25%", + "sparse_infill_speed": "50", + "interface_shells": "0", + "detect_overhang_wall": "0", + "reduce_infill_retraction": "0", + "filename_format": "{input_filename_base}.gcode", + "wall_loops": "3", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "40", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "nearest", + "skirt_distance": "2", + "skirt_height": "2", + "minimum_sparse_infill_area": "0", + "internal_solid_infill_line_width": "0.45", + "internal_solid_infill_speed": "40", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "support_filament": "0", + "support_line_width": "0.42", + "support_interface_filament": "0", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.15", + "support_interface_loop_pattern": "0", + "support_interface_top_layers": "2", + "support_interface_spacing": "0", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2", + "support_speed": "40", + "support_threshold_angle": "40", + "support_object_xy_distance": "0.5", + "detect_thin_wall": "0", + "top_surface_line_width": "0.4", + "top_surface_speed": "30", + "travel_speed": "400", + "enable_prime_tower": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +} diff --git a/resources/profiles/Dremel/process/fdm_process_dremel_common.json b/resources/profiles/Dremel/process/fdm_process_dremel_common.json new file mode 100644 index 0000000000..ee2cd3a42e --- /dev/null +++ b/resources/profiles/Dremel/process/fdm_process_dremel_common.json @@ -0,0 +1,104 @@ +{ + "type": "process", + "name": "fdm_process_dremel_common", + "from": "system", + "instantiation": "false", + "inherits": "fdm_process_common", + "adaptive_layer_height": "0", + "reduce_crossing_wall": "0", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "0.95", + "bridge_speed": "25", + "brim_width": "5", + "brim_object_gap": "0.1", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "500", + "top_surface_acceleration": "500", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.4", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "700", + "inner_wall_acceleration": "500", + "initial_layer_line_width": "0.5", + "initial_layer_print_height": "0.2", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "23%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "layer_height": "0.2", + "reduce_infill_retraction": "1", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "3", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "1", + "minimum_sparse_infill_area": "15", + "internal_solid_infill_line_width": "0.4", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "default", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.4", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "2", + "support_interface_bottom_layers": "2", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "30", + "support_object_xy_distance": "0.35", + "tree_support_branch_angle": "45", + "tree_support_wall_count": "0", + "detect_thin_wall": "0", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "3", + "top_shell_thickness": "0.8", + "initial_layer_speed": "15", + "initial_layer_infill_speed": "20", + "outer_wall_speed": "25", + "inner_wall_speed": "40", + "internal_solid_infill_speed": "40", + "top_surface_speed": "30", + "gap_infill_speed": "30", + "sparse_infill_speed": "50", + "travel_speed": "150", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0" +}