From 1b2ff12868e88c4f1510b2d721929aaeab1b856c Mon Sep 17 00:00:00 2001 From: Danielle Wheeler Date: Tue, 7 Apr 2026 23:32:21 -0400 Subject: [PATCH 01/11] Add Flashforge Artemis Printer Profile (#11902) * add Artemis configuration files * updated config files * undo testing on a different nozzle * matched settings to FlashPrint5 * lowered nozzle temperature * renamed filed to match Flashforge.json file --------- Co-authored-by: SoftFever --- resources/profiles/Flashforge.json | 16 ++++ .../Flashforge/Flashforge Artemis_cover.png | Bin 0 -> 130300 bytes ...orge Generic PETG @Flashforge Artemis.json | 87 ++++++++++++++++++ .../Flashforge Artemis 0.4 Nozzle.json | 28 ++++++ .../machine/Flashforge Artemis.json | 13 +++ .../machine/fdm_artemis_common.json | 68 ++++++++++++++ ...andard @Flashforge Artemis 0.4 Nozzle.json | 62 +++++++++++++ src/slic3r/GUI/CreatePresetsDialog.cpp | 2 +- 8 files changed, 275 insertions(+), 1 deletion(-) create mode 100644 resources/profiles/Flashforge/Flashforge Artemis_cover.png create mode 100644 resources/profiles/Flashforge/filament/Flashforge Generic PETG @Flashforge Artemis.json create mode 100644 resources/profiles/Flashforge/machine/Flashforge Artemis 0.4 Nozzle.json create mode 100644 resources/profiles/Flashforge/machine/Flashforge Artemis.json create mode 100644 resources/profiles/Flashforge/machine/fdm_artemis_common.json create mode 100644 resources/profiles/Flashforge/process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json diff --git a/resources/profiles/Flashforge.json b/resources/profiles/Flashforge.json index 64cda00a61..b0d3b84ca9 100644 --- a/resources/profiles/Flashforge.json +++ b/resources/profiles/Flashforge.json @@ -9,6 +9,10 @@ "name": "Flashforge AD5X", "sub_path": "machine/Flashforge AD5X.json" }, + { + "name": "Flashforge Artemis", + "sub_path": "machine/Flashforge Artemis.json" + }, { "name": "Flashforge Adventurer 3 Series", "sub_path": "machine/Flashforge Adventurer 3 Series.json" @@ -71,6 +75,10 @@ "name": "0.20mm Standard @Flashforge AD4 0.4 Nozzle", "sub_path": "process/0.20mm Standard @Flashforge AD4 0.4 Nozzle.json" }, + { + "name": "0.20mm Standard @Flashforge Artemis 0.4 Nozzle", + "sub_path": "process/0.20mm Standard @Flashforge Artemis 0.4 Nozzle.json" + }, { "name": "0.20mm Standard @Flashforge Guider 2s 0.4 nozzle", "sub_path": "process/0.20mm Standard @Flashforge Guider 2s 0.4 nozzle.json" @@ -2471,6 +2479,10 @@ "name": "fdm_adventurer5m_common", "sub_path": "machine/fdm_adventurer5m_common.json" }, + { + "name": "fdm_artemis_common", + "sub_path": "machine/fdm_artemis_common.json" + }, { "name": "fdm_guider3_common", "sub_path": "machine/fdm_guider3_common.json" @@ -2531,6 +2543,10 @@ "name": "Flashforge Adventurer 5M Pro 0.8 Nozzle", "sub_path": "machine/Flashforge Adventurer 5M Pro 0.8 Nozzle.json" }, + { + "name": "Flashforge Artemis 0.4 Nozzle", + "sub_path":"machine/Flashforge Artemis 0.4 Nozzle.json" + }, { "name": "Flashforge Guider 3 Ultra 0.4 Nozzle", "sub_path": "machine/Flashforge Guider 3 Ultra 0.4 Nozzle.json" diff --git a/resources/profiles/Flashforge/Flashforge Artemis_cover.png b/resources/profiles/Flashforge/Flashforge Artemis_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..fea4762aa90e3f3f69ef18ff023110c85b43c92f GIT binary patch literal 130300 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 z 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

yx+C8 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 printer_m "Elegoo Neptune 3 Max", "Elegoo Neptune 4 Pro", "Elegoo Neptune 4", "Elegoo Neptune 4 Max", "Elegoo Neptune 4 Plus", "Elegoo OrangeStorm Giga"}}, {"Flashforge", {"Flashforge Adventurer 5M", "Flashforge Adventurer 5M Pro", "Flashforge AD5X", "Flashforge Adventurer 3 Series", "Flashforge Adventurer 4 Series", - "Flashforge Guider 3 Ultra", "Flashforge Guider 2s"}}, + "Flashforge Guider 3 Ultra", "Flashforge Guider 2s", "Flashforge Artemis"}}, {"FLSun", {"FLSun Q5", "FLSun QQ-S Pro", "FLSun Super Racer (SR)", "FLSun V400", "FLSun T1", "FLSun S1"}}, {"FlyingBear", {"FlyingBear Reborn3", "FlyingBear S1", "FlyingBear Ghost 6"}}, From bd184655f47c8c8578fcaa7a4b8426c9fcfea24e Mon Sep 17 00:00:00 2001 From: AndyHazz <517731+AndyHazz@users.noreply.github.com> Date: Wed, 8 Apr 2026 04:34:38 +0100 Subject: [PATCH 02/11] Add Anycubic Kobra Neo 0.4 nozzle printer profiles (#12913) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Adds proper system profiles for the **Anycubic Kobra Neo** with 0.4mm nozzle (stock Marlin firmware). This replaces the profiles from #12341 which had several issues: - All files had `"from": "User"` instead of `"from": "system"` — causing profile loading failures - No `inherits` or `type` fields — broke the inheritance chain - Klipper-only gcode (not stock firmware) - No `Anycubic.json` index entries — printer never appeared in the UI - Cover image was 382x600 instead of 240x240 (displayed squashed) - Profiles were subsequently removed in #12889 ### Files added/modified | File | Description | |------|-------------| | `machine/Anycubic Kobra Neo.json` | Base machine model (220x220x250mm) | | `machine/Anycubic Kobra Neo 0.4 nozzle.json` | 0.4mm nozzle variant, stock Marlin gcode | | `process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json` | Detail process profile | | `process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json` | Standard process profile | | `process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json` | Standard process profile | | `process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json` | Standard process profile | | `filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json` | PLA filament profile | | `Anycubic Kobra Neo_cover.png` | Resized to 240x240 | | `Anycubic.json` | Added index entries for all new profiles | ### Approach - Based on the working **Anycubic Kobra 2 Neo** profiles (similar hardware — direct drive, 220x220 bed) - Start gcode uses `G29` for auto bed leveling (stock Kobra Neo probes fresh each print) - Profiles use proper `"from": "system"` and `"inherits": "fdm_machine_common"` / `"fdm_process_common"` chains - Buildplate model and texture from #12341 are already in the repo ### Testing - Verified profiles load correctly in OrcaSlicer 2.3.2 (no errors in log) - Printer appears in Printer Selection dialog with correct 240x240 cover image - Process/filament presets appear when printer is selected - **Note:** Start/end gcode adapted from Kobra 2 Neo for stock Marlin — testing on stock firmware by Kobra Neo owners would be appreciated Closes the gap left by #12341 and #12889. --- resources/profiles/Anycubic.json | 30 +- .../Anycubic/Anycubic Kobra Neo_cover.png | Bin 136397 -> 38986 bytes ...ic PLA @Anycubic Kobra Neo 0.4 nozzle.json | 261 ++++++++++++++++ .../Anycubic Kobra Neo 0.4 nozzle.json | 228 ++++++++++++++ .../Anycubic/machine/Anycubic Kobra Neo.json | 12 + ...Detail @Anycubic Kobra Neo 0.4 nozzle.json | 292 ++++++++++++++++++ ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 291 +++++++++++++++++ ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 291 +++++++++++++++++ ...andard @Anycubic Kobra Neo 0.4 nozzle.json | 291 +++++++++++++++++ 9 files changed, 1695 insertions(+), 1 deletion(-) create mode 100644 resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json create mode 100644 resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json create mode 100644 resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json create mode 100644 resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json create mode 100644 resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json create mode 100644 resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json create mode 100644 resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json diff --git a/resources/profiles/Anycubic.json b/resources/profiles/Anycubic.json index 44efb351cb..34abf3e969 100644 --- a/resources/profiles/Anycubic.json +++ b/resources/profiles/Anycubic.json @@ -67,6 +67,10 @@ { "name": "Anycubic i3 Mega S", "sub_path": "machine/Anycubic i3 Mega S.json" + }, + { + "name": "Anycubic Kobra Neo", + "sub_path": "machine/Anycubic Kobra Neo.json" } ], "process_list": [ @@ -253,6 +257,22 @@ { "name": "0.40mm Standard @Anycubic Kobra 3 0.8 nozzle", "sub_path": "process/0.40mm Standard @Anycubic Kobra 3 0.8 nozzle.json" + }, + { + "name": "0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json" + }, + { + "name": "0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" + }, + { + "name": "0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" + }, + { + "name": "0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json" } ], "filament_list": [ @@ -435,6 +455,10 @@ { "name": "Generic TPU @Anycubic Kobra 3 0.4 nozzle", "sub_path": "filament/Generic TPU @Anycubic Kobra 3 0.4 nozzle.json" + }, + { + "name": "Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json" } ], "machine_list": [ @@ -517,6 +541,10 @@ { "name": "Anycubic i3 Mega S 0.4 nozzle", "sub_path": "machine/Anycubic i3 Mega S 0.4 nozzle.json" + }, + { + "name": "Anycubic Kobra Neo 0.4 nozzle", + "sub_path": "machine/Anycubic Kobra Neo 0.4 nozzle.json" } ] -} \ No newline at end of file +} diff --git a/resources/profiles/Anycubic/Anycubic Kobra Neo_cover.png b/resources/profiles/Anycubic/Anycubic Kobra Neo_cover.png index 7e7736214f822e188d72b95264d61cb8dc8c5c7d..50f3897ae3a74c46cd6f0a8de287708c5ccfa083 100644 GIT binary patch literal 38986 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

y|WnigZ{`eDitPs>YXXK;q=*n}j;g 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

T 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%0DE`a=NQ{KS|u#$JtTE5jgY;qHw? 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 XBsr71YN%co00000NkvXXu0mjfoQH5U diff --git a/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..4d0395b224 --- /dev/null +++ b/resources/profiles/Anycubic/filament/Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,261 @@ +{ + "type": "filament", + "name": "Anycubic PLA @Anycubic Kobra Neo 0.4 nozzle", + "inherits": "Anycubic Generic PLA", + "from": "system", + "setting_id": "GFSA04_kobra_neo", + "filament_id": "GFL99", + "instantiation": "true", + "filament_vendor": [ + "Anycubic" + ], + "filament_settings_id": [ + "Anycubic PLA @Anycubic Kobra 2 Neo 0.4 nozzle" + ], + "filament_type": [ + "PLA" + ], + "filament_flow_ratio": [ + "0.97" + ], + "filament_max_volumetric_speed": [ + "12" + ], + "nozzle_temperature": [ + "190" + ], + "compatible_printers": [ + "Anycubic Kobra Neo 0.4 nozzle" + ], + "activate_air_filtration": [ + "0" + ], + "activate_chamber_temp_control": [ + "0" + ], + "additional_cooling_fan_speed": [ + "70" + ], + "bed_type": [ + "Cool Plate" + ], + "chamber_temperature": [ + "0" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": [ + "80" + ], + "cool_plate_temp": [ + "35" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "default_filament_colour": [ + "" + ], + "during_print_exhaust_fan_speed": [ + "60" + ], + "enable_overhang_bridge_fan": [ + "1" + ], + "enable_pressure_advance": [ + "0" + ], + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "100" + ], + "fan_max_speed": [ + "100" + ], + "fan_min_speed": [ + "80" + ], + "filament_cooling_final_speed": [ + "0" + ], + "filament_cooling_initial_speed": [ + "0" + ], + "filament_cooling_moves": [ + "0" + ], + "filament_cost": [ + "20" + ], + "filament_density": [ + "1.24" + ], + "filament_deretraction_speed": [ + "nil" + ], + "filament_diameter": [ + "1.75" + ], + "filament_end_gcode": [ + "; filament end gcode \n" + ], + "filament_is_support": [ + "0" + ], + "filament_load_time": [ + "0" + ], + "filament_loading_speed": [ + "0" + ], + "filament_loading_speed_start": [ + "0" + ], + "filament_long_retractions_when_cut": [ + "nil" + ], + "filament_minimal_purge_on_wipe_tower": [ + "15" + ], + "filament_multitool_ramming": [ + "0" + ], + "filament_multitool_ramming_flow": [ + "10" + ], + "filament_multitool_ramming_volume": [ + "10" + ], + "filament_notes": [ + "" + ], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": [ + "nil" + ], + "filament_retract_lift_above": [ + "nil" + ], + "filament_retract_lift_below": [ + "nil" + ], + "filament_retract_lift_enforce": [ + "nil" + ], + "filament_retract_restart_extra": [ + "nil" + ], + "filament_retract_when_changing_layer": [ + "nil" + ], + "filament_retraction_distances_when_cut": [ + "nil" + ], + "filament_retraction_length": [ + "nil" + ], + "filament_retraction_minimum_travel": [ + "nil" + ], + "filament_retraction_speed": [ + "nil" + ], + "filament_shrink": [ + "100%" + ], + "filament_soluble": [ + "0" + ], + "filament_start_gcode": [ + "; filament start gcode\n" + ], + "filament_toolchange_delay": [ + "0" + ], + "filament_unload_time": [ + "0" + ], + "filament_unloading_speed": [ + "0" + ], + "filament_unloading_speed_start": [ + "0" + ], + "filament_wipe": [ + "nil" + ], + "filament_wipe_distance": [ + "nil" + ], + "filament_z_hop": [ + "nil" + ], + "filament_z_hop_types": [ + "nil" + ], + "full_fan_speed_layer": [ + "3" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "nozzle_temperature_range_high": [ + "230" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "overhang_fan_speed": [ + "100" + ], + "overhang_fan_threshold": [ + "50%" + ], + "pressure_advance": [ + "0.04" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "required_nozzle_HRC": [ + "0" + ], + "slow_down_for_layer_cooling": [ + "1" + ], + "slow_down_layer_time": [ + "9" + ], + "slow_down_min_speed": [ + "20" + ], + "support_material_interface_fan_speed": [ + "-1" + ], + "temperature_vitrification": [ + "60" + ], + "textured_plate_temp": [ + "45" + ], + "textured_plate_temp_initial_layer": [ + "45" + ] +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..9179968ba3 --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,228 @@ +{ + "type": "machine", + "name": "Anycubic Kobra Neo 0.4 nozzle", + "inherits": "fdm_machine_common", + "from": "system", + "setting_id": "GM005_kobra_neo", + "instantiation": "true", + "printer_technology": "FFF", + "printer_settings_id": "Anycubic Kobra Neo 0.4 nozzle", + "printer_model": "Anycubic Kobra Neo", + "printer_variant": "0.4", + "nozzle_diameter": [ + "0.4" + ], + "default_print_profile": "0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "default_filament_profile": [ + "Anycubic Generic PLA" + ], + "disable_m73": "1", + "gcode_flavor": "marlin2", + "printable_area": [ + "0x0", + "220x0", + "220x220", + "0x220" + ], + "printable_height": "250", + "thumbnails": [ + "230x110" + ], + "thumbnails_format": "PNG", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bbl_use_printhost": "0", + "bed_custom_model": "", + "bed_custom_texture": "", + "bed_exclude_area": [ + "0x0" + ], + "bed_mesh_max": "0,0", + "bed_mesh_min": "0,0", + "bed_mesh_probe_distance": "0,0", + "before_layer_change_gcode": "G92 E0 ; zero the extruded length again\n; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "0", + "cooling_tube_retraction": "0", + "deretraction_speed": [ + "0" + ], + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "0", + "enable_long_retraction_when_cut": "0", + "extra_loading_move": "0", + "extruder_clearance_height_to_lid": "20", + "extruder_clearance_height_to_rod": "20", + "extruder_clearance_radius": "20", + "extruder_colour": [ + "#FF4D4F" + ], + "extruder_offset": [ + "0x0" + ], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "layer_change_gcode": "; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm", + "long_retractions_when_cut": [ + "0" + ], + "machine_end_gcode": "M140 S0 ; heatbed off\nM107 ; fan off\nG91 ; relative positioning\nM83 ; extruder relative mode\nG1 E-3 F3000 ; retract\nG1 Z+0.5 F3000 ; lift nozzle\nM104 S0 ; extruder off\nG28 X Y ; home X/Y\nG90 ; absolute positioning\nG1 Y220 F3000\nM84 ; steppers off\nM300 S1318 P266", + "machine_load_filament_time": "42", + "machine_max_acceleration_e": [ + "2000", + "2000" + ], + "machine_max_acceleration_extruding": [ + "2000", + "2000" + ], + "machine_max_acceleration_retracting": [ + "2000", + "2000" + ], + "machine_max_acceleration_travel": [ + "20000", + "20000" + ], + "machine_max_acceleration_x": [ + "2000", + "2000" + ], + "machine_max_acceleration_y": [ + "2000", + "2000" + ], + "machine_max_acceleration_z": [ + "800", + "800" + ], + "machine_max_jerk_e": [ + "5", + "5" + ], + "machine_max_jerk_x": [ + "10", + "10" + ], + "machine_max_jerk_y": [ + "10", + "10" + ], + "machine_max_jerk_z": [ + "2", + "2" + ], + "machine_max_speed_e": [ + "100", + "100" + ], + "machine_max_speed_x": [ + "300", + "300" + ], + "machine_max_speed_y": [ + "300", + "300" + ], + "machine_max_speed_z": [ + "8", + "8" + ], + "machine_min_extruding_rate": [ + "0", + "0" + ], + "machine_min_travel_rate": [ + "0", + "0" + ], + "machine_pause_gcode": "M601", + "machine_start_gcode": "G21 ; metric values\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all axes\nG29 ; auto bed leveling\nM300 S1318 P266\nG1 Z5 F5000 ; lift nozzle\nG1 X0 Y0 F3000\nG1 Z0.3 ; lower nozzle\nG92 E0 ; zero extruded length\nG1 X10 Y5 F1800 ; move to purge line start\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG1 X60 Y5 E20 F500 ; purge line\nG92 E0 ; zero extruded length\nG1 E-4.5 F4000 ; retract\nG92 E0 ; zero extruded length\nG1 X120 F4000 ; wipe\nM117 Printing...", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": [ + "0.28" + ], + "min_layer_height": [ + "0.08" + ], + "nozzle_height": "4", + "nozzle_hrc": "0", + "nozzle_type": "brass", + "nozzle_volume": "0", + "parking_pos_retraction": "0", + "preferred_orientation": "0", + "printer_notes": "", + "printer_structure": "i3", + "printhost_authorization_type": "key", + "printhost_ssl_ignore_revoke": "0", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "0", + "retract_before_wipe": [ + "70%" + ], + "retract_length_toolchange": [ + "0" + ], + "retract_lift_above": [ + "0.3" + ], + "retract_lift_below": [ + "258" + ], + "retract_lift_enforce": [ + "All Surfaces" + ], + "retract_restart_extra": [ + "0" + ], + "retract_restart_extra_toolchange": [ + "0" + ], + "retract_when_changing_layer": [ + "1" + ], + "retraction_distances_when_cut": [ + "18" + ], + "retraction_length": [ + "2.5" + ], + "retraction_minimum_travel": [ + "1" + ], + "retraction_speed": [ + "100" + ], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "template_custom_gcode": "", + "time_cost": "0", + "time_lapse_gcode": "", + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "wipe": [ + "1" + ], + "wipe_distance": [ + "1" + ], + "z_hop": [ + "0" + ], + "z_hop_types": [ + "Auto Lift" + ], + "z_offset": "0" +} diff --git a/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json new file mode 100644 index 0000000000..de3a57789e --- /dev/null +++ b/resources/profiles/Anycubic/machine/Anycubic Kobra Neo.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Anycubic Kobra Neo", + "machine_tech": "FFF", + "family": "Anycubic", + "model_id": "Anycubic Kobra Neo", + "nozzle_diameter": "0.4", + "bed_model": "Anycubic Kobra Neo_buildplate_model.stl", + "bed_texture": "Anycubic Kobra Neo_buildplate_texture.png", + "hotend_model": "", + "default_materials": "Anycubic Generic PLA" +} diff --git a/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..eaaa483bc9 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,292 @@ +{ + "type": "process", + "name": "0.12mm Detail @Anycubic Kobra Neo 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "GP004_kobra_neo", + "instantiation": "true", + "print_settings_id": "0.12mm Detail @Anycubic Kobra 2 Neo 0.4 nozzle", + "layer_height": "0.12", + "filename_format": "{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra Neo 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "adaptive_layer_height": "1", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "1", + "bridge_speed": "60", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "2000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.12", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "65", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "100", + "ironing_angle": "0", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "45", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "45", + "overhang_3_4_speed": "28", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "1", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "45", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "5%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "crosshatch", + "sparse_infill_speed": "150", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "2000", + "travel_jerk": "10", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "outer wall/inner wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0", + "solid_infill_rotate_template": "" +} diff --git a/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..59d598e7b6 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,291 @@ +{ + "type": "process", + "name": "0.16mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "GP004_kobra_neo", + "instantiation": "true", + "print_settings_id": "0.16mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle", + "layer_height": "0.16", + "filename_format": "{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra Neo 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "adaptive_layer_height": "1", + "alternate_extra_wall": "0", + "bottom_shell_layers": "4", + "bottom_shell_thickness": "0.6", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "1", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "2000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.2", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "100", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "100", + "ironing_angle": "0", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "50", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "20", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "1", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "45", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "15%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "crosshatch", + "sparse_infill_speed": "150", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "4", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "2000", + "travel_jerk": "10", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "outer wall/inner wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0.1" +} diff --git a/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..866ff126c8 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,291 @@ +{ + "type": "process", + "name": "0.20mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "GP004_kobra_neo", + "instantiation": "true", + "print_settings_id": "0.20mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle", + "layer_height": "0.2", + "filename_format": "{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra Neo 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "adaptive_layer_height": "1", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "1", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "2000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "100", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "50", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.24", + "initial_layer_speed": "50", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "100", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "100", + "ironing_angle": "0", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "60", + "overhang_1_4_speed": "60", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "1", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "45", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "15%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "crosshatch", + "sparse_infill_speed": "150", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "2000", + "travel_jerk": "10", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "outer wall/inner wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0.1" +} diff --git a/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json new file mode 100644 index 0000000000..af2872c912 --- /dev/null +++ b/resources/profiles/Anycubic/process/0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle.json @@ -0,0 +1,291 @@ +{ + "type": "process", + "name": "0.28mm Standard @Anycubic Kobra Neo 0.4 nozzle", + "inherits": "fdm_process_common", + "from": "system", + "setting_id": "GP004_kobra_neo", + "instantiation": "true", + "print_settings_id": "0.28mm Standard @Anycubic Kobra 2 Neo 0.4 nozzle", + "layer_height": "0.28", + "filename_format": "{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", + "compatible_printers": [ + "Anycubic Kobra Neo 0.4 nozzle" + ], + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "adaptive_layer_height": "1", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0.6", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "0.9", + "bridge_no_support": "1", + "bridge_speed": "30", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0.15", + "brim_type": "outer_only", + "brim_width": "5", + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "2000", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0.075", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "1", + "enable_overhang_speed": "1", + "enable_prime_tower": "1", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "1", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "0", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "topbottom", + "gap_infill_speed": "80", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400", + "infill_anchor_max": "10", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "500", + "initial_layer_infill_speed": "45", + "initial_layer_jerk": "9", + "initial_layer_line_width": "0.5", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "0.28", + "initial_layer_speed": "45", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "1500", + "inner_wall_jerk": "10", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "100", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "0.42", + "internal_solid_infill_pattern": "zig-zag", + "internal_solid_infill_speed": "100", + "ironing_angle": "0", + "ironing_flow": "15%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "no ironing", + "is_infill_first": "0", + "line_width": "0.42", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "5", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "1", + "ooze_prevention": "0", + "outer_wall_acceleration": "1000", + "outer_wall_jerk": "10", + "outer_wall_line_width": "0.42", + "outer_wall_speed": "55", + "overhang_1_4_speed": "50", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "1", + "post_process": [], + "precise_outer_wall": "0", + "precise_z_height": "0", + "prime_tower_brim_width": "5", + "prime_tower_width": "45", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "1", + "resolution": "0.012", + "role_based_wipe_speed": "1", + "rotate_solid_infill_direction": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "15%", + "seam_position": "aligned", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "none", + "single_extruder_multi_material_priming": "0", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "0", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "1", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_direction": "45", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "15%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "0.45", + "sparse_infill_pattern": "crosshatch", + "sparse_infill_speed": "120", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "0.2", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.1", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "-1", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "2", + "support_line_width": "0.4", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "1", + "support_remove_small_overhang": "1", + "support_speed": "100", + "support_style": "default", + "support_threshold_angle": "40", + "support_top_z_distance": "0.1", + "support_type": "tree(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_bottom_infill_wall_overlap": "25%", + "top_shell_layers": "3", + "top_shell_thickness": "1", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "1000", + "top_surface_jerk": "9", + "top_surface_line_width": "0.42", + "top_surface_pattern": "monotonicline", + "top_surface_speed": "60", + "travel_acceleration": "2000", + "travel_jerk": "10", + "travel_speed": "300", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "classic", + "wall_infill_order": "inner wall/outer wall/infill", + "wall_loops": "2", + "wall_sequence": "outer wall/inner wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "15", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_max_purge_speed": "90", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0.1" +} From 809e8d00123c2232d4a83b41e79ae393c3dcc2a5 Mon Sep 17 00:00:00 2001 From: Wegerich Date: Wed, 8 Apr 2026 04:42:24 +0100 Subject: [PATCH 03/11] Changed filament_name to filament_type[0] for Elegoo Centauri Carbon 2 (#13012) * Update 0.20mm Standard @Elegoo CC2 0.4 nozzle.json Changed filament_name to filament_type[0] * Update 0.40mm Standard @Elegoo CC2 0.8 nozzle.json Changed filament_name to filament_type[0] --------- Co-authored-by: SoftFever --- .../process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json | 2 +- .../process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json index 72308485cb..d163a41b3e 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.20mm Standard @Elegoo CC2 0.4 nozzle.json @@ -8,7 +8,7 @@ "instantiation": "true", "bottom_shell_layers": "3", "bottom_shell_thickness": "0.6", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ diff --git a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json index 5b03f8bfd4..2d7414064f 100644 --- a/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json +++ b/resources/profiles/Elegoo/process/ECC2/0.40mm Standard @Elegoo CC2 0.8 nozzle.json @@ -7,7 +7,7 @@ "setting_id": "PECC208040", "instantiation": "true", "sparse_infill_pattern": "zig-zag", - "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_name}_{layer_height}_{print_time}.gcode", + "filename_format": "ECC2_{nozzle_diameter[0]}_{input_filename_base}_{filament_type[0]}_{layer_height}_{print_time}.gcode", "min_width_top_surface": "50%", "enable_prime_tower": "1", "compatible_printers": [ From afc37568435710ef7edd2b5b6a6b292fc9f6bcf9 Mon Sep 17 00:00:00 2001 From: goofoo Date: Wed, 8 Apr 2026 00:08:35 -0400 Subject: [PATCH 04/11] =?UTF-8?q?fix+feat:=20Snapmaker=20U1=20=E2=80=94=20?= =?UTF-8?q?5=20bug=20fixes=20and=200.6mm=20/=20mixed-nozzle=20profiles=20(?= =?UTF-8?q?#12244=20#12390=20#12652=20#12073=20#12797=20#11424)=20(#12824)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build_all.yml | 1 + resources/profiles/Snapmaker.json | 28 ++++++++++ .../machine/Snapmaker U1 (0.4 nozzle).json | 48 ++++++++++++++++- .../Snapmaker U1 (0.4+0.6 nozzle).json | 30 +++++++++++ .../machine/Snapmaker U1 (0.6 nozzle).json | 30 +++++++++++ .../Snapmaker/machine/Snapmaker U1.json | 4 +- ...andard @Snapmaker U1 (0.4+0.6 nozzle).json | 32 ++++++++++++ ...0 Standard @Snapmaker U1 (0.6 nozzle).json | 25 +++++++++ ...0.30 Draft @Snapmaker U1 (0.6 nozzle).json | 29 +++++++++++ ...xtra Draft @Snapmaker U1 (0.6 nozzle).json | 30 +++++++++++ .../process/fdm_process_U1_0.6_common.json | 16 ++++++ src/libslic3r/GCodeWriter.cpp | 16 +++++- src/slic3r/GUI/FilamentMapDialog.cpp | 8 +++ src/slic3r/GUI/GLCanvas3D.cpp | 4 +- src/slic3r/GUI/PartPlate.cpp | 51 +++++++++++++++---- 15 files changed, 337 insertions(+), 15 deletions(-) create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4+0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/machine/Snapmaker U1 (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json create mode 100644 resources/profiles/Snapmaker/process/fdm_process_U1_0.6_common.json diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 107dcdc29e..2a0f78c6dd 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -160,6 +160,7 @@ jobs: runner: ubuntu-24.04-arm # Don't run scheduled builds on forks; skip entirely on self-hosted runners if: ${{ !cancelled() && !vars.SELF_HOSTED && (github.event_name != 'schedule' || github.repository == 'OrcaSlicer/OrcaSlicer') }} + runs-on: ${{ matrix.variant.runner }} env: date: diff --git a/resources/profiles/Snapmaker.json b/resources/profiles/Snapmaker.json index 458e17f7d6..16093772f1 100644 --- a/resources/profiles/Snapmaker.json +++ b/resources/profiles/Snapmaker.json @@ -454,6 +454,26 @@ "name": "0.28 Extra Draft @Snapmaker U1 (0.4 nozzle)", "sub_path": "process/0.28 Extra Draft @Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "fdm_process_U1_0.6_common", + "sub_path": "process/fdm_process_U1_0.6_common.json" + }, + { + "name": "0.20 Standard @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.30 Draft @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.40 Extra Draft @Snapmaker U1 (0.6 nozzle)", + "sub_path": "process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle)", + "sub_path": "process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json" + }, { "name": "0.06 Standard @Snapmaker Artisan (0.2 nozzle)", "sub_path": "process/0.06 Standard @Snapmaker Artisan (0.2 nozzle).json" @@ -1530,6 +1550,14 @@ "name": "Snapmaker U1 (0.4 nozzle)", "sub_path": "machine/Snapmaker U1 (0.4 nozzle).json" }, + { + "name": "Snapmaker U1 (0.6 nozzle)", + "sub_path": "machine/Snapmaker U1 (0.6 nozzle).json" + }, + { + "name": "Snapmaker U1 (0.4+0.6 nozzle)", + "sub_path": "machine/Snapmaker U1 (0.4+0.6 nozzle).json" + }, { "name": "Snapmaker A250 BKit (0.2 nozzle)", "sub_path": "machine/Snapmaker A250 BKit (0.2 nozzle).json" diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json index 6422735955..d7a68179b7 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4 nozzle).json @@ -29,6 +29,38 @@ "0" ], "machine_end_gcode": " PRINT_END\nTIMELAPSE_STOP", + "machine_max_acceleration_extruding": [ + "25000", + "25000" + ], + "machine_max_acceleration_retracting": [ + "5000", + "5000" + ], + "machine_max_acceleration_travel": [ + "25000", + "25000" + ], + "machine_max_acceleration_x": [ + "25000", + "25000" + ], + "machine_max_acceleration_y": [ + "25000", + "25000" + ], + "machine_max_acceleration_z": [ + "500", + "200" + ], + "machine_max_jerk_x": [ + "9", + "9" + ], + "machine_max_jerk_y": [ + "9", + "9" + ], "machine_max_jerk_z": [ "3", "0.4" @@ -37,10 +69,21 @@ "30", "25" ], + "machine_max_speed_x": [ + "1000", + "200" + ], + "machine_max_speed_y": [ + "1000", + "200" + ], "machine_max_speed_z": [ "20", "12" ], + "resonance_avoidance": "1", + "min_resonance_avoidance_speed": "40", + "max_resonance_avoidance_speed": "90", "machine_start_gcode": "SET_PRINT_AUTO_BED_LEVELING ENABLE=1\nSET_TIME_LAPSE_CAMERA ENABLE=1\n;===== date: 20251222 =====================\n\nPRINT_START\nDEFECT_DETECTION_START\nSET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count}\nSET_PRINT_STATS_INFO CURRENT_LAYER=0\nTIMELAPSE_START\nM140 S{bed_temperature_initial_layer_single}\nM104 T{initial_extruder} S140\nM204 S10000\n\nG28 X Y\n;===== 床面异物检测 ========\nT{initial_extruder}\nG90\nDEFECT_DETECTION_DETECT_BED\n;===== 取放头检测 =================\nSM_PRINT_CHECK_SWITCH_EXTRUDER\n\n;===== 自动进料 & 挤出流量 & 预挤出 ======================\nSM_PRINT_EXTRUDER_PREHEAT EXTRUDER=1 TEMP=140\nSM_PRINT_AUTO_FEED EXTRUDER=0\nSM_PRINT_FLOW_CALIBRATE EXTRUDER=0\nSM_PRINT_EXTRUDER_PREHEAT EXTRUDER=2 TEMP=140\nSM_PRINT_AUTO_FEED EXTRUDER=1\nSM_PRINT_FLOW_CALIBRATE EXTRUDER=1\nSM_PRINT_EXTRUDER_PREHEAT EXTRUDER=3 TEMP=140\nSM_PRINT_AUTO_FEED EXTRUDER=2\nSM_PRINT_FLOW_CALIBRATE EXTRUDER=2\nSM_PRINT_AUTO_FEED EXTRUDER=3\nSM_PRINT_FLOW_CALIBRATE EXTRUDER=3\nM104 S0 T0 A0\nM104 S0 T1 A0\nM104 S0 T2 A0\nM104 S0 T3 A0\nM104 T{initial_extruder} S{nozzle_temperature[initial_extruder] - 90}\n\n;===== 粗回零 =================\nT{initial_extruder}\nM106 S255\nM106 P2 S0\nMOVE_TO_DISCARD_FILAMENT_POSITION\nM109 T{initial_extruder} S{nozzle_temperature[initial_extruder] - 90}\nROUGHLY_CLEAN_NOZZLE_WITH_DISCARD\nMOVE_TO_XY_IDLE_POSITION_EXTRUDER\nG28 Z I140 J140\n\n;===== 检测钢板 =================\nDETECT_BED_PLATE\n\n;===== 深度清洁喷嘴 =================\nG90\nG0 Z5 F10000\nMOVE_TO_DISCARD_FILAMENT_POSITION\nM109 S{nozzle_temperature[initial_extruder] - 50}\nROUGHLY_CLEAN_NOZZLE\nMOVE_TO_XY_IDLE_POSITION_EXTRUDER\nFINELY_CLEAN_NOZZLE_STAGE_1\nM104 S{nozzle_temperature[initial_extruder] - 90}\nG0 Z5 F10000\nMOVE_TO_DISCARD_FILAMENT_POSITION\nROUGHLY_CLEAN_NOZZLE\nMOVE_TO_XY_IDLE_POSITION_EXTRUDER\nFINELY_CLEAN_NOZZLE_STAGE_2\n\n;===== 精回零 =================\nM106 S255\nM109 S{nozzle_temperature[initial_extruder] - 90}\nM190 S{bed_temperature_initial_layer_single}\nM107 P2\nG90\nG0 Z5 F10000\nG28 Z\n\n;===== 热床调平 =================\n; Always pass `ADAPTIVE_MARGIN=0` because Orca has already handled `adaptive_bed_mesh_margin` internally\n; Make sure to set ADAPTIVE to 0 otherwise Klipper will use it's own adaptive bed mesh logic\nBED_MESH_CALIBRATE mesh_min={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} mesh_max={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE=0 ADAPTIVE_MARGIN=0\n; Original upstream: BED_MESH_CALIBRATE PROBE_COUNT=11,11\n\n;===== 画起始线 =================\nG90\nG1 Z1.5\nG0 X10 Y3 Z2 F18000\nM109 S{nozzle_temperature_initial_layer[initial_extruder]}\nG1 Z0.2\nM83\nG1 X110 E15 F360\nG1 Z1.5\n\nG90\nM106 S0", "machine_tool_change_time": "5", "max_layer_height": [ @@ -180,8 +223,9 @@ "Auto Lift" ], "enable_filament_ramming": "0", - "extruder_clearance_height_to_rod": "27.5", - "extruder_clearance_radius": "72.5", + "extruder_clearance_height_to_rod": "60", + "extruder_clearance_height_to_lid": "130", + "extruder_clearance_radius": "80", "machine_load_filament_time": "0", "machine_unload_filament_time": "0", "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\nTIMELAPSE_TAKE_FRAME\nDEFECT_DETECTION_DETECT", diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4+0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4+0.6 nozzle).json new file mode 100644 index 0000000000..9443194857 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.4+0.6 nozzle).json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "setting_id": "SM_U1_04_06", + "name": "Snapmaker U1 (0.4+0.6 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_U1", + "printer_model": "Snapmaker U1", + "printer_variant": "0.4+0.6", + "default_print_profile": "0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle)", + "max_layer_height": [ + "0.32", + "0.32", + "0.48", + "0.48" + ], + "min_layer_height": [ + "0.08", + "0.08", + "0.12", + "0.12" + ], + "nozzle_diameter": [ + "0.4", + "0.4", + "0.6", + "0.6" + ], + "nozzle_type": "stainless_steel" +} diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.6 nozzle).json new file mode 100644 index 0000000000..8371971207 --- /dev/null +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1 (0.6 nozzle).json @@ -0,0 +1,30 @@ +{ + "type": "machine", + "setting_id": "SM_U1_06", + "name": "Snapmaker U1 (0.6 nozzle)", + "from": "system", + "instantiation": "true", + "inherits": "fdm_U1", + "printer_model": "Snapmaker U1", + "printer_variant": "0.6", + "default_print_profile": "0.20 Standard @Snapmaker U1 (0.6 nozzle)", + "max_layer_height": [ + "0.48", + "0.48", + "0.48", + "0.48" + ], + "min_layer_height": [ + "0.12", + "0.12", + "0.12", + "0.12" + ], + "nozzle_diameter": [ + "0.6", + "0.6", + "0.6", + "0.6" + ], + "nozzle_type": "stainless_steel" +} diff --git a/resources/profiles/Snapmaker/machine/Snapmaker U1.json b/resources/profiles/Snapmaker/machine/Snapmaker U1.json index 027d088e57..1856c25a78 100644 --- a/resources/profiles/Snapmaker/machine/Snapmaker U1.json +++ b/resources/profiles/Snapmaker/machine/Snapmaker U1.json @@ -7,5 +7,5 @@ "model_id": "797581801", "bed_model": "Snapmaker U1_bed.stl", "bed_texture": "Snapmaker U1_texture.svg", - "nozzle_diameter": "0.4" -} \ No newline at end of file + "nozzle_diameter": "0.4;0.4+0.6;0.6" +} diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json new file mode 100644 index 0000000000..3d05198376 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle).json @@ -0,0 +1,32 @@ +{ + "type": "process", + "name": "0.20 Standard @Snapmaker U1 (0.4+0.6 nozzle)", + "inherits": "fdm_process_U1_0.20", + "from": "system", + "setting_id": "GP004_0406_020", + "instantiation": "true", + "description": "Standard profile for the Snapmaker U1 mixed-nozzle configuration (T0/T1 = 0.4 mm, T2/T3 = 0.6 mm). Line widths are expressed as percentages of nozzle diameter so they scale correctly per tool. Use T0/T1 for detail work and outer walls; use T2/T3 for fast infill or large structural features.", + "compatible_printers": [ + "Snapmaker U1 (0.4+0.6 nozzle)" + ], + "line_width": "105%", + "outer_wall_line_width": "105%", + "inner_wall_line_width": "112%", + "initial_layer_line_width": "125%", + "sparse_infill_line_width": "105%", + "internal_solid_infill_line_width": "105%", + "support_line_width": "105%", + "top_surface_line_width": "105%", + "smooth_coefficient": "150", + "overhang_totally_speed": "50", + "ooze_prevention": "1", + "slowdown_for_curled_perimeters": "0", + "standby_temperature_delta": "-150", + "wipe_tower_filament": "0", + "preheat_time": "30", + "wipe_tower_cone_angle": "15", + "prime_tower_brim_width": "5", + "initial_layer_print_height": "0.25", + "top_shell_layers": "5", + "bottom_shell_layers": "3" +} diff --git a/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json new file mode 100644 index 0000000000..283524ba0a --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.20 Standard @Snapmaker U1 (0.6 nozzle).json @@ -0,0 +1,25 @@ +{ + "type": "process", + "name": "0.20 Standard @Snapmaker U1 (0.6 nozzle)", + "inherits": "fdm_process_U1_0.6_common", + "from": "system", + "setting_id": "GP004_06_020", + "instantiation": "true", + "description": "Standard 0.2 mm layer height profile for the Snapmaker U1 with 0.6 mm nozzles. Balances print speed and surface quality for everyday prints.", + "layer_height": "0.20", + "smooth_coefficient": "150", + "overhang_totally_speed": "50", + "compatible_printers": [ + "Snapmaker U1 (0.6 nozzle)" + ], + "ooze_prevention": "1", + "slowdown_for_curled_perimeters": "0", + "standby_temperature_delta": "-150", + "wipe_tower_filament": "0", + "preheat_time": "30", + "wipe_tower_cone_angle": "15", + "prime_tower_brim_width": "5", + "initial_layer_print_height": "0.25", + "top_shell_layers": "4", + "bottom_shell_layers": "3" +} diff --git a/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json new file mode 100644 index 0000000000..dac47d0a6b --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.30 Draft @Snapmaker U1 (0.6 nozzle).json @@ -0,0 +1,29 @@ +{ + "type": "process", + "name": "0.30 Draft @Snapmaker U1 (0.6 nozzle)", + "inherits": "fdm_process_U1_0.6_common", + "from": "system", + "setting_id": "GP004_06_030", + "instantiation": "true", + "description": "Fast draft profile for the Snapmaker U1 with 0.6 mm nozzles. 0.3 mm layer height for quick prototypes and functional parts.", + "layer_height": "0.30", + "smooth_coefficient": "80", + "overhang_totally_speed": "40", + "compatible_printers": [ + "Snapmaker U1 (0.6 nozzle)" + ], + "ooze_prevention": "1", + "slowdown_for_curled_perimeters": "0", + "standby_temperature_delta": "-150", + "wipe_tower_filament": "0", + "preheat_time": "30", + "wipe_tower_cone_angle": "15", + "prime_tower_brim_width": "5", + "initial_layer_print_height": "0.30", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "outer_wall_speed": "220", + "inner_wall_speed": "330", + "sparse_infill_speed": "300", + "internal_solid_infill_speed": "280" +} diff --git a/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json b/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json new file mode 100644 index 0000000000..9e2966c9d3 --- /dev/null +++ b/resources/profiles/Snapmaker/process/0.40 Extra Draft @Snapmaker U1 (0.6 nozzle).json @@ -0,0 +1,30 @@ +{ + "type": "process", + "name": "0.40 Extra Draft @Snapmaker U1 (0.6 nozzle)", + "inherits": "fdm_process_U1_0.6_common", + "from": "system", + "setting_id": "GP004_06_040", + "instantiation": "true", + "description": "Maximum-speed profile for the Snapmaker U1 with 0.6 mm nozzles. 0.4 mm layer height for rapid prototyping where surface finish is not critical.", + "layer_height": "0.40", + "smooth_coefficient": "80", + "overhang_totally_speed": "30", + "compatible_printers": [ + "Snapmaker U1 (0.6 nozzle)" + ], + "ooze_prevention": "1", + "slowdown_for_curled_perimeters": "0", + "standby_temperature_delta": "-150", + "wipe_tower_filament": "0", + "preheat_time": "30", + "wipe_tower_cone_angle": "15", + "prime_tower_brim_width": "5", + "initial_layer_print_height": "0.35", + "top_shell_layers": "3", + "bottom_shell_layers": "3", + "outer_wall_speed": "220", + "inner_wall_speed": "330", + "sparse_infill_speed": "320", + "internal_solid_infill_speed": "300", + "wall_loops": "2" +} diff --git a/resources/profiles/Snapmaker/process/fdm_process_U1_0.6_common.json b/resources/profiles/Snapmaker/process/fdm_process_U1_0.6_common.json new file mode 100644 index 0000000000..4f52fa516b --- /dev/null +++ b/resources/profiles/Snapmaker/process/fdm_process_U1_0.6_common.json @@ -0,0 +1,16 @@ +{ + "type": "process", + "name": "fdm_process_U1_0.6_common", + "inherits": "fdm_process_U1_common", + "from": "system", + "instantiation": "false", + "line_width": "0.62", + "outer_wall_line_width": "0.62", + "inner_wall_line_width": "0.62", + "initial_layer_line_width": "0.72", + "sparse_infill_line_width": "0.62", + "internal_solid_infill_line_width": "0.62", + "support_line_width": "0.62", + "top_surface_line_width": "0.62", + "compatible_printers": [] +} diff --git a/src/libslic3r/GCodeWriter.cpp b/src/libslic3r/GCodeWriter.cpp index 1aff72daeb..ef6ff54e5e 100644 --- a/src/libslic3r/GCodeWriter.cpp +++ b/src/libslic3r/GCodeWriter.cpp @@ -30,7 +30,21 @@ void GCodeWriter::apply_print_config(const PrintConfig &print_config) m_single_extruder_multi_material = print_config.single_extruder_multi_material.value; bool use_mach_limits = print_config.gcode_flavor.value == gcfMarlinLegacy || print_config.gcode_flavor.value == gcfMarlinFirmware || print_config.gcode_flavor.value == gcfKlipper || print_config.gcode_flavor.value == gcfRepRapFirmware; - m_max_acceleration = std::lrint(use_mach_limits ? print_config.machine_max_acceleration_extruding.values.front() : 0); + if (use_mach_limits) { + // For Klipper, SET_VELOCITY_LIMIT ACCEL= applies to all moves, so the effective cap + // is the minimum of the extruding limit and the per-axis X/Y limits. + // This ensures user-configured Motion Ability limits are honoured (#12244). + unsigned int extruding_limit = std::lrint(print_config.machine_max_acceleration_extruding.values.front()); + if (print_config.gcode_flavor.value == gcfKlipper) { + unsigned int x_limit = std::lrint(print_config.machine_max_acceleration_x.values.front()); + unsigned int y_limit = std::lrint(print_config.machine_max_acceleration_y.values.front()); + if (x_limit > 0) extruding_limit = std::min(extruding_limit, x_limit); + if (y_limit > 0) extruding_limit = std::min(extruding_limit, y_limit); + } + m_max_acceleration = extruding_limit; + } else { + m_max_acceleration = 0; + } m_max_travel_acceleration = static_cast( std::round((use_mach_limits && supports_separate_travel_acceleration(print_config.gcode_flavor.value)) ? print_config.machine_max_acceleration_travel.values.front() : diff --git a/src/slic3r/GUI/FilamentMapDialog.cpp b/src/slic3r/GUI/FilamentMapDialog.cpp index f765e94aa6..957b2b9d0e 100644 --- a/src/slic3r/GUI/FilamentMapDialog.cpp +++ b/src/slic3r/GUI/FilamentMapDialog.cpp @@ -46,6 +46,14 @@ bool try_pop_up_before_slice(bool is_slice_all, Plater* plater_ref, PartPlate* p if (nozzle_diameters->size() <= 1) return true; + // The filament-grouping dialog is specifically designed for BBL dual-nozzle printers + // (e.g. H2D) where filaments must be assigned to a left or right nozzle. + // For toolchangers (≥3 tools) and all non-BBL printers the dialog is irrelevant and + // confusing; skip it entirely so slicing proceeds without interruption. (#12390) + PresetBundle* preset = wxGetApp().preset_bundle; + if (!preset || !preset->is_bbl_vendor() || nozzle_diameters->size() != 2) + return true; + bool sync_plate = true; std::vector filament_colors = full_config.option("filament_colour")->values; diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 5e23a9d4ae..2c8285720b 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -9714,7 +9714,9 @@ void GLCanvas3D::_set_warning_notification(EWarning warning, bool state) wxString region = L"en"; if (language.find("zh") == 0) region = L"zh"; - wxGetApp().open_browser_with_warning_dialog(wxString::Format(L"https://wiki.bambulab.com/%s/filament-acc/filament/h2d-pla-and-petg-mutual-support", region)); + // Use the generic dual-nozzle PLA+PETG guide rather than the H2D-specific page + // so the link is relevant for all dual-extrusion printers, not just Bambu H2D. (#12073) + wxGetApp().open_browser_with_warning_dialog(wxString::Format(L"https://wiki.bambulab.com/%s/filament-acc/filament/pla-and-petg-dual-extrusion", region)); return false; }); } diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 37baa25a5f..2fa4ab7f56 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1871,26 +1871,59 @@ bool PartPlate::check_mixture_of_pla_and_petg(const DynamicPrintConfig &config) bool has_pla = false; bool has_petg = false; - std::vector used_filaments = get_extruders(true); // 1 base + // On a toolchanger (machine_tool_change_time > 0) each filament slot maps to a + // separate physical nozzle: only one nozzle is ever mounted or heated at a time, so + // there is no cross-nozzle contamination between PLA and PETG. Track which physical + // nozzle each material is on; warn only when PLA and PETG would pass through the + // *same* nozzle. + // + // NOTE: if MMU-on-toolchanger support is added (#10586), the nozzle-mapping logic + // will need to be revisited because multiple filaments may then share one tool slot. + bool is_toolchanger = false; + auto *tool_change_time = config.option("machine_tool_change_time"); + if (tool_change_time && tool_change_time->value > 0) + is_toolchanger = true; + + // nozzle index → whether it carries PLA / PETG + std::map nozzle_has_pla; + std::map nozzle_has_petg; + + std::vector used_filaments = get_extruders(true); // 1-based if (!used_filaments.empty()) { + const auto *filament_types = config.option("filament_type"); for (auto filament_idx : used_filaments) { - int filament_id = filament_idx - 1; - if (filament_id < config.option("filament_type")->values.size()) { - std::string filament_type = config.option("filament_type")->values.at(filament_id); - if (filament_type == "PLA") + int filament_id = filament_idx - 1; + if (filament_id < (int)filament_types->values.size()) { + const std::string &filament_type = filament_types->values[filament_id]; + if (filament_type == "PLA") { has_pla = true; - if (filament_type == "PETG") + nozzle_has_pla[filament_id] = true; + } + if (filament_type == "PETG") { has_petg = true; + nozzle_has_petg[filament_id] = true; + } } else { BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " check error:array bound"; } } } - if (has_pla && has_petg) - return false; + if (!has_pla || !has_petg) + return true; // no mixture — no warning - return true; + if (is_toolchanger) { + // Warn only if any single nozzle slot carries both PLA and PETG (e.g. future MMU + // on toolchanger). On a pure toolchanger each slot is independent, so this loop + // will never fire and the warning is correctly suppressed. (#12073) + for (const auto &kv : nozzle_has_pla) { + if (nozzle_has_petg.count(kv.first)) + return false; // same nozzle → warn + } + return true; // different nozzles → safe, no warning + } + + return false; // non-toolchanger with both PLA and PETG → warn } bool PartPlate::check_mixture_filament_compatible(const DynamicPrintConfig &config, std::string &error_msg) From 885a01129fe1b088c23a4831d635b9b825ac972c Mon Sep 17 00:00:00 2001 From: SoftFever Date: Wed, 8 Apr 2026 17:34:10 +0800 Subject: [PATCH 05/11] clean up some Elegoo profiles (#13148) * clean up some Elegoo profiles --- resources/profiles/Elegoo.json | 336 ++++++++---------- .../filament/BASE/Elegoo ASA @base.json | 17 - .../filament/BASE/Elegoo PLA @base.json | 23 -- .../BASE/Elegoo RAPID PLA+ @base.json | 20 -- .../filament/BASE/Elegoo TPU 95A @base.json | 26 -- ...TG @EC.json => Elegoo Rapid PETG @EC.json} | 5 +- ...A+ @EC.json => Elegoo Rapid PLA+ @EC.json} | 5 +- ... @ECC.json => Elegoo Rapid PETG @ECC.json} | 5 +- ... @ECC.json => Elegoo Rapid PLA+ @ECC.json} | 5 +- ...ECC2.json => Elegoo Rapid PETG @ECC2.json} | 3 +- ...ECC2.json => Elegoo Rapid PLA+ @ECC2.json} | 3 +- ...2.json => Elegoo Rapid TPU 95A @ECC2.json} | 3 +- ...son => Elegoo Rapid PETG @0.2 nozzle.json} | 5 +- ...PID PETG+.json => Elegoo Rapid PETG+.json} | 5 +- ...RAPID PETG.json => Elegoo Rapid PETG.json} | 5 +- ...son => Elegoo Rapid PLA+ @0.2 nozzle.json} | 5 +- ...RAPID PLA+.json => Elegoo Rapid PLA+.json} | 5 +- .../Elegoo/machine/EC/Elegoo Centauri.json | 2 +- .../machine/ECC/Elegoo Centauri Carbon.json | 2 +- .../ECC2/Elegoo Centauri Carbon 2.json | 2 +- resources/profiles/OrcaFilamentLibrary.json | 44 ++- .../filament/Elegoo}/Elegoo ABS @base.json | 0 .../filament/Elegoo/Elegoo ASA @base.json | 58 +-- .../filament/Elegoo}/Elegoo PAHT @base.json | 0 .../filament/Elegoo}/Elegoo PC @base.json | 0 .../filament/Elegoo}/Elegoo PETG @base.json | 0 .../Elegoo/Elegoo PETG PRO @System.json | 10 + .../Elegoo/Elegoo PETG PRO @base.json} | 119 +++---- .../Elegoo/Elegoo PETG Pro @System.json | 5 +- .../Elegoo/Elegoo PETG Pro @base.json | 2 +- .../filament/Elegoo/Elegoo PLA @base.json | 39 +- .../Elegoo}/Elegoo PLA Matte @base.json | 2 +- .../Elegoo}/Elegoo PLA Silk @base.json | 2 +- .../filament/Elegoo}/Elegoo PLA-CF @base.json | 2 +- .../Elegoo/Elegoo Rapid PLA+ @base.json | 42 +-- .../filament/Elegoo/Elegoo TPU 95A @base.json | 58 +-- .../filament/Elegoo}/Elegoo TPU @base.json | 0 .../filament/base/fdm_filament_paht.json} | 128 +++---- 38 files changed, 381 insertions(+), 612 deletions(-) delete mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json delete mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json delete mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PLA+ @base.json delete mode 100644 resources/profiles/Elegoo/filament/BASE/Elegoo TPU 95A @base.json rename resources/profiles/Elegoo/filament/EC/{Elegoo RAPID PETG @EC.json => Elegoo Rapid PETG @EC.json} (70%) rename resources/profiles/Elegoo/filament/EC/{Elegoo RAPID PLA+ @EC.json => Elegoo Rapid PLA+ @EC.json} (91%) rename resources/profiles/Elegoo/filament/ECC/{Elegoo RAPID PETG @ECC.json => Elegoo Rapid PETG @ECC.json} (72%) rename resources/profiles/Elegoo/filament/ECC/{Elegoo RAPID PLA+ @ECC.json => Elegoo Rapid PLA+ @ECC.json} (91%) rename resources/profiles/Elegoo/filament/ECC2/{Elegoo RAPID PETG @ECC2.json => Elegoo Rapid PETG @ECC2.json} (88%) rename resources/profiles/Elegoo/filament/ECC2/{Elegoo RAPID PLA+ @ECC2.json => Elegoo Rapid PLA+ @ECC2.json} (94%) rename resources/profiles/Elegoo/filament/ECC2/{Elegoo RAPID TPU 95A @ECC2.json => Elegoo Rapid TPU 95A @ECC2.json} (86%) rename resources/profiles/Elegoo/filament/ELEGOO/{Elegoo RAPID PETG @0.2 nozzle.json => Elegoo Rapid PETG @0.2 nozzle.json} (81%) rename resources/profiles/Elegoo/filament/ELEGOO/{Elegoo RAPID PETG+.json => Elegoo Rapid PETG+.json} (91%) rename resources/profiles/Elegoo/filament/ELEGOO/{Elegoo RAPID PETG.json => Elegoo Rapid PETG.json} (91%) rename resources/profiles/Elegoo/filament/ELEGOO/{Elegoo RAPID PLA+ @0.2 nozzle.json => Elegoo Rapid PLA+ @0.2 nozzle.json} (81%) rename resources/profiles/Elegoo/filament/ELEGOO/{Elegoo RAPID PLA+.json => Elegoo Rapid PLA+.json} (93%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo ABS @base.json (100%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PAHT @base.json (100%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PC @base.json (100%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PETG @base.json (100%) create mode 100644 resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json rename resources/profiles/{Elegoo/filament/BASE/Elegoo RAPID PETG @base.json => OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json} (54%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PLA Matte @base.json (89%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PLA Silk @base.json (92%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo PLA-CF @base.json (94%) rename resources/profiles/{Elegoo/filament/BASE => OrcaFilamentLibrary/filament/Elegoo}/Elegoo TPU @base.json (100%) rename resources/profiles/{Elegoo/filament/BASE/Elegoo PETG PRO @base.json => OrcaFilamentLibrary/filament/base/fdm_filament_paht.json} (67%) diff --git a/resources/profiles/Elegoo.json b/resources/profiles/Elegoo.json index 792b43b89b..44c5be1b05 100644 --- a/resources/profiles/Elegoo.json +++ b/resources/profiles/Elegoo.json @@ -1068,14 +1068,6 @@ } ], "filament_list": [ - { - "name": "Elegoo PC @base", - "sub_path": "filament/BASE/Elegoo PC @base.json" - }, - { - "name": "Elegoo TPU @base", - "sub_path": "filament/BASE/Elegoo TPU @base.json" - }, { "name": "fdm_elegoo_filament_common", "sub_path": "filament/ELEGOO/fdm_elegoo_filament_common.json" @@ -1084,30 +1076,6 @@ "name": "fdm_filament_common", "sub_path": "filament/fdm_filament_common.json" }, - { - "name": "Elegoo PC @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PC @0.2 nozzle.json" - }, - { - "name": "Elegoo PC @ECC2", - "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" - }, - { - "name": "Elegoo PC-FR @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json" - }, - { - "name": "Elegoo PC-FR @ECC2", - "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" - }, - { - "name": "Elegoo RAPID TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json" - }, - { - "name": "Elegoo TPU 95A @ECC2", - "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" - }, { "name": "fdm_elegoo_filament_asa", "sub_path": "filament/ELEGOO/fdm_elegoo_filament_asa.json" @@ -1144,46 +1112,6 @@ "name": "fdm_filament_pla", "sub_path": "filament/fdm_filament_pla.json" }, - { - "name": "Elegoo ASA @base", - "sub_path": "filament/BASE/Elegoo ASA @base.json" - }, - { - "name": "Elegoo PETG PRO @base", - "sub_path": "filament/BASE/Elegoo PETG PRO @base.json" - }, - { - "name": "Elegoo RAPID PETG @base", - "sub_path": "filament/BASE/Elegoo RAPID PETG @base.json" - }, - { - "name": "Elegoo PLA @base", - "sub_path": "filament/BASE/Elegoo PLA @base.json" - }, - { - "name": "Elegoo PLA Matte @base", - "sub_path": "filament/BASE/Elegoo PLA Matte @base.json" - }, - { - "name": "Elegoo PLA Silk @base", - "sub_path": "filament/BASE/Elegoo PLA Silk @base.json" - }, - { - "name": "Elegoo PLA-CF @base", - "sub_path": "filament/BASE/Elegoo PLA-CF @base.json" - }, - { - "name": "Elegoo RAPID PLA+ @base", - "sub_path": "filament/BASE/Elegoo RAPID PLA+ @base.json" - }, - { - "name": "Elegoo TPU 95A @base", - "sub_path": "filament/BASE/Elegoo TPU 95A @base.json" - }, - { - "name": "Elegoo ABS @base", - "sub_path": "filament/BASE/Elegoo ABS @base.json" - }, { "name": "Generic ABS @Elegoo", "sub_path": "filament/Generic/Generic ABS @Elegoo.json" @@ -1192,14 +1120,6 @@ "name": "Generic ASA @Elegoo", "sub_path": "filament/Generic/Generic ASA @Elegoo.json" }, - { - "name": "Elegoo PAHT @base", - "sub_path": "filament/BASE/Elegoo PAHT @base.json" - }, - { - "name": "Elegoo PETG @base", - "sub_path": "filament/BASE/Elegoo PETG @base.json" - }, { "name": "Generic PETG @Elegoo", "sub_path": "filament/Generic/Generic PETG @Elegoo.json" @@ -1216,6 +1136,30 @@ "name": "Generic PLA Matte @Elegoo", "sub_path": "filament/Generic/Generic PLA Matte @Elegoo.json" }, + { + "name": "Elegoo ASA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" + }, + { + "name": "Elegoo PETG PRO @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" + }, + { + "name": "Elegoo PLA Matte @Elegoo Giga", + "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" + }, + { + "name": "Elegoo ABS @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo ABS @0.2 nozzle.json" + }, + { + "name": "Elegoo ABS @ECC2", + "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" + }, { "name": "Elegoo ASA", "sub_path": "filament/ELEGOO/Elegoo ASA.json" @@ -1236,6 +1180,34 @@ "name": "Elegoo ASA @ECC2", "sub_path": "filament/ECC2/Elegoo ASA @ECC2.json" }, + { + "name": "Elegoo PAHT-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" + }, + { + "name": "Elegoo PC @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PC @0.2 nozzle.json" + }, + { + "name": "Elegoo PC @ECC2", + "sub_path": "filament/ECC2/Elegoo PC @ECC2.json" + }, + { + "name": "Elegoo PC-FR @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PC-FR @0.2 nozzle.json" + }, + { + "name": "Elegoo PC-FR @ECC2", + "sub_path": "filament/ECC2/Elegoo PC-FR @ECC2.json" + }, + { + "name": "Elegoo PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PETG @0.2 nozzle.json" + }, + { + "name": "Elegoo PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" + }, { "name": "Elegoo PETG PRO", "sub_path": "filament/ELEGOO/Elegoo PETG PRO.json" @@ -1253,24 +1225,24 @@ "sub_path": "filament/ECC/Elegoo PETG PRO @ECC.json" }, { - "name": "Elegoo RAPID PETG", - "sub_path": "filament/ELEGOO/Elegoo RAPID PETG.json" + "name": "Elegoo PETG PRO @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" }, { - "name": "Elegoo RAPID PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo RAPID PETG @0.2 nozzle.json" + "name": "Elegoo PETG Translucent @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json" }, { - "name": "Elegoo RAPID PETG @EC", - "sub_path": "filament/EC/Elegoo RAPID PETG @EC.json" + "name": "Elegoo PETG Translucent @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" }, { - "name": "Elegoo RAPID PETG @ECC", - "sub_path": "filament/ECC/Elegoo RAPID PETG @ECC.json" + "name": "Elegoo PETG-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" }, { - "name": "Elegoo RAPID PETG+", - "sub_path": "filament/ELEGOO/Elegoo RAPID PETG+.json" + "name": "Elegoo PETG-GF @ECC2", + "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" }, { "name": "Elegoo PLA", @@ -1308,6 +1280,22 @@ "name": "Elegoo PLA Marble @ECC2", "sub_path": "filament/ECC2/Elegoo PLA Marble @ECC2.json" }, + { + "name": "Elegoo PLA Matte", + "sub_path": "filament/ELEGOO/Elegoo PLA Matte.json" + }, + { + "name": "Elegoo PLA Matte @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Matte @EC", + "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" + }, + { + "name": "Elegoo PLA Matte @ECC", + "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" + }, { "name": "Elegoo PLA Matte @ECC2", "sub_path": "filament/ECC2/Elegoo PLA Matte @ECC2.json" @@ -1332,6 +1320,22 @@ "name": "Elegoo PLA PRO @ECC2", "sub_path": "filament/ECC2/Elegoo PLA PRO @ECC2.json" }, + { + "name": "Elegoo PLA Silk", + "sub_path": "filament/ELEGOO/Elegoo PLA Silk.json" + }, + { + "name": "Elegoo PLA Silk @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json" + }, + { + "name": "Elegoo PLA Silk @EC", + "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" + }, + { + "name": "Elegoo PLA Silk @ECC", + "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" + }, { "name": "Elegoo PLA Silk @ECC2", "sub_path": "filament/ECC2/Elegoo PLA Silk @ECC2.json" @@ -1364,46 +1368,6 @@ "name": "Elegoo PLA+ @ECC2", "sub_path": "filament/ECC2/Elegoo PLA+ @ECC2.json" }, - { - "name": "Elegoo PLA-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" - }, - { - "name": "Elegoo RAPID PLA+ @ECC2", - "sub_path": "filament/ECC2/Elegoo RAPID PLA+ @ECC2.json" - }, - { - "name": "Elegoo PLA Matte", - "sub_path": "filament/ELEGOO/Elegoo PLA Matte.json" - }, - { - "name": "Elegoo PLA Matte @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA Matte @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Matte @EC", - "sub_path": "filament/EC/Elegoo PLA Matte @EC.json" - }, - { - "name": "Elegoo PLA Matte @ECC", - "sub_path": "filament/ECC/Elegoo PLA Matte @ECC.json" - }, - { - "name": "Elegoo PLA Silk", - "sub_path": "filament/ELEGOO/Elegoo PLA Silk.json" - }, - { - "name": "Elegoo PLA Silk @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PLA Silk @0.2 nozzle.json" - }, - { - "name": "Elegoo PLA Silk @EC", - "sub_path": "filament/EC/Elegoo PLA Silk @EC.json" - }, - { - "name": "Elegoo PLA Silk @ECC", - "sub_path": "filament/ECC/Elegoo PLA Silk @ECC.json" - }, { "name": "Elegoo PLA-CF", "sub_path": "filament/ELEGOO/Elegoo PLA-CF.json" @@ -1413,20 +1377,56 @@ "sub_path": "filament/ECC/Elegoo PLA-CF @ECC.json" }, { - "name": "Elegoo RAPID PLA+", - "sub_path": "filament/ELEGOO/Elegoo RAPID PLA+.json" + "name": "Elegoo PLA-CF @ECC2", + "sub_path": "filament/ECC2/Elegoo PLA-CF @ECC2.json" }, { - "name": "Elegoo RAPID PLA+ @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo RAPID PLA+ @0.2 nozzle.json" + "name": "Elegoo Rapid PETG", + "sub_path": "filament/ELEGOO/Elegoo Rapid PETG.json" }, { - "name": "Elegoo RAPID PLA+ @EC", - "sub_path": "filament/EC/Elegoo RAPID PLA+ @EC.json" + "name": "Elegoo Rapid PETG @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json" }, { - "name": "Elegoo RAPID PLA+ @ECC", - "sub_path": "filament/ECC/Elegoo RAPID PLA+ @ECC.json" + "name": "Elegoo Rapid PETG @EC", + "sub_path": "filament/EC/Elegoo Rapid PETG @EC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PETG @ECC.json" + }, + { + "name": "Elegoo Rapid PETG @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PETG @ECC2.json" + }, + { + "name": "Elegoo Rapid PETG+", + "sub_path": "filament/ELEGOO/Elegoo Rapid PETG+.json" + }, + { + "name": "Elegoo Rapid PLA+", + "sub_path": "filament/ELEGOO/Elegoo Rapid PLA+.json" + }, + { + "name": "Elegoo Rapid PLA+ @0.2 nozzle", + "sub_path": "filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json" + }, + { + "name": "Elegoo Rapid PLA+ @EC", + "sub_path": "filament/EC/Elegoo Rapid PLA+ @EC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC", + "sub_path": "filament/ECC/Elegoo Rapid PLA+ @ECC.json" + }, + { + "name": "Elegoo Rapid PLA+ @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid PLA+ @ECC2.json" + }, + { + "name": "Elegoo Rapid TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json" }, { "name": "Elegoo TPU 95A @EC", @@ -1437,64 +1437,8 @@ "sub_path": "filament/ECC/Elegoo TPU 95A @ECC.json" }, { - "name": "Elegoo ABS @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo ABS @0.2 nozzle.json" - }, - { - "name": "Elegoo ABS @ECC2", - "sub_path": "filament/ECC2/Elegoo ABS @ECC2.json" - }, - { - "name": "Elegoo ASA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo ASA @Elegoo Giga.json" - }, - { - "name": "Elegoo PAHT-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PAHT-CF @ECC2.json" - }, - { - "name": "Elegoo PETG @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PETG @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG @ECC2.json" - }, - { - "name": "Elegoo PETG PRO @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG PRO @ECC2.json" - }, - { - "name": "Elegoo PETG Translucent @0.2 nozzle", - "sub_path": "filament/ELEGOO/Elegoo PETG Translucent @0.2 nozzle.json" - }, - { - "name": "Elegoo PETG Translucent @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG Translucent @ECC2.json" - }, - { - "name": "Elegoo PETG-CF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-CF @ECC2.json" - }, - { - "name": "Elegoo PETG-GF @ECC2", - "sub_path": "filament/ECC2/Elegoo PETG-GF @ECC2.json" - }, - { - "name": "Elegoo RAPID PETG @ECC2", - "sub_path": "filament/ECC2/Elegoo RAPID PETG @ECC2.json" - }, - { - "name": "Elegoo PETG PRO @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PETG PRO @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA @Elegoo Giga.json" - }, - { - "name": "Elegoo PLA Matte @Elegoo Giga", - "sub_path": "filament/EOSGIGA/Elegoo PLA Matte @Elegoo Giga.json" + "name": "Elegoo TPU 95A @ECC2", + "sub_path": "filament/ECC2/Elegoo TPU 95A @ECC2.json" } ], "machine_list": [ diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json deleted file mode 100644 index 9c666e3928..0000000000 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo ASA @base.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo ASA @base", - "inherits": "fdm_elegoo_filament_asa", - "from": "system", - "filament_id": "EASAB00", - "instantiation": "false", - "filament_vendor": [ - "Elegoo" - ], - "filament_density": [ - "1.1" - ], - "filament_max_volumetric_speed": [ - "12" - ] -} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json deleted file mode 100644 index 5b837fd233..0000000000 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA @base.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo PLA @base", - "inherits": "fdm_elegoo_filament_pla", - "from": "system", - "filament_id": "EPLAB00", - "instantiation": "false", - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.25" - ], - "filament_max_volumetric_speed": [ - "16" - ], - "filament_vendor": [ - "Elegoo" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PLA+ @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PLA+ @base.json deleted file mode 100644 index cf1096f75f..0000000000 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PLA+ @base.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo RAPID PLA+ @base", - "inherits": "fdm_elegoo_filament_pla", - "from": "system", - "filament_id": "ERPLAPLUSB00", - "instantiation": "false", - "filament_max_volumetric_speed": [ - "21" - ], - "filament_density": [ - "1.25" - ], - "filament_vendor": [ - "Elegoo" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo TPU 95A @base.json b/resources/profiles/Elegoo/filament/BASE/Elegoo TPU 95A @base.json deleted file mode 100644 index 78baa8b7bd..0000000000 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo TPU 95A @base.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "type": "filament", - "name": "Elegoo TPU 95A @base", - "inherits": "fdm_elegoo_filament_tpu", - "from": "system", - "filament_id": "ETPU95AB00", - "instantiation": "false", - "filament_max_volumetric_speed": [ - "3.6" - ], - "filament_vendor": [ - "Elegoo" - ], - "filament_density": [ - "1.21" - ], - "nozzle_temperature": [ - "225" - ], - "nozzle_temperature_initial_layer": [ - "225" - ], - "filament_start_gcode": [ - "; filament start gcode\n" - ] -} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo RAPID PETG @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json similarity index 70% rename from resources/profiles/Elegoo/filament/EC/Elegoo RAPID PETG @EC.json rename to resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json index 848504bd9c..a0153dfce0 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo RAPID PETG @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PETG @EC.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PETG @EC", - "inherits": "Elegoo RAPID PETG @base", + "name": "Elegoo Rapid PETG @EC", + "renamed_from": "Elegoo RAPID PETG @EC", + "inherits": "Elegoo Rapid PETG @base", "from": "system", "setting_id": "ERPETGEC", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/EC/Elegoo RAPID PLA+ @EC.json b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json similarity index 91% rename from resources/profiles/Elegoo/filament/EC/Elegoo RAPID PLA+ @EC.json rename to resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json index b757893204..9c63874e70 100644 --- a/resources/profiles/Elegoo/filament/EC/Elegoo RAPID PLA+ @EC.json +++ b/resources/profiles/Elegoo/filament/EC/Elegoo Rapid PLA+ @EC.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PLA+ @EC", - "inherits": "Elegoo RAPID PLA+ @base", + "name": "Elegoo Rapid PLA+ @EC", + "renamed_from": "Elegoo RAPID PLA+ @EC", + "inherits": "Elegoo Rapid PLA+ @base", "from": "system", "setting_id": "ERPLAPLUSEC", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PETG @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json similarity index 72% rename from resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PETG @ECC.json rename to resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json index 1f092ca4c7..e29994277d 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PETG @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PETG @ECC.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PETG @ECC", - "inherits": "Elegoo RAPID PETG @base", + "name": "Elegoo Rapid PETG @ECC", + "renamed_from": "Elegoo RAPID PETG @ECC", + "inherits": "Elegoo Rapid PETG @base", "from": "system", "setting_id": "ERPETGECC", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PLA+ @ECC.json b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json similarity index 91% rename from resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PLA+ @ECC.json rename to resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json index 03343fec7c..bff4dfa757 100644 --- a/resources/profiles/Elegoo/filament/ECC/Elegoo RAPID PLA+ @ECC.json +++ b/resources/profiles/Elegoo/filament/ECC/Elegoo Rapid PLA+ @ECC.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PLA+ @ECC", - "inherits": "Elegoo RAPID PLA+ @base", + "name": "Elegoo Rapid PLA+ @ECC", + "renamed_from": "Elegoo RAPID PLA+ @ECC", + "inherits": "Elegoo Rapid PLA+ @base", "from": "system", "setting_id": "ERPLAPLUSECC", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json similarity index 88% rename from resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json rename to resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json index bbb11d0bb4..63045c0a4b 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PETG @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PETG @ECC2.json @@ -1,6 +1,7 @@ { "type": "filament", - "name": "Elegoo RAPID PETG @ECC2", + "name": "Elegoo Rapid PETG @ECC2", + "renamed_from": "Elegoo RAPID PETG @ECC2", "inherits": "Elegoo PETG @base", "from": "system", "setting_id": "ERPETGECC2", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PLA+ @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json similarity index 94% rename from resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PLA+ @ECC2.json rename to resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json index 7d912f46a9..f9c92a3d0a 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID PLA+ @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid PLA+ @ECC2.json @@ -1,6 +1,7 @@ { "type": "filament", - "name": "Elegoo RAPID PLA+ @ECC2", + "name": "Elegoo Rapid PLA+ @ECC2", + "renamed_from": "Elegoo RAPID PLA+ @ECC2", "inherits": "Elegoo PLA @base", "from": "system", "setting_id": "ERPLAPLUSECC2", diff --git a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json similarity index 86% rename from resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json rename to resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json index a4625b32f7..9d40cc0231 100644 --- a/resources/profiles/Elegoo/filament/ECC2/Elegoo RAPID TPU 95A @ECC2.json +++ b/resources/profiles/Elegoo/filament/ECC2/Elegoo Rapid TPU 95A @ECC2.json @@ -1,6 +1,7 @@ { "type": "filament", - "name": "Elegoo RAPID TPU 95A @ECC2", + "name": "Elegoo Rapid TPU 95A @ECC2", + "renamed_from": "Elegoo RAPID TPU 95A @ECC2", "inherits": "Elegoo TPU @base", "from": "system", "setting_id": "ERTPU95AECC2", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json index e2975c2eb8..f12d0072d0 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG @0.2 nozzle.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PETG @0.2 nozzle", - "inherits": "Elegoo RAPID PETG @base", + "name": "Elegoo Rapid PETG @0.2 nozzle", + "renamed_from": "Elegoo RAPID PETG @0.2 nozzle", + "inherits": "Elegoo Rapid PETG @base", "from": "system", "setting_id": "ERPETG00020", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG+.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json similarity index 91% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG+.json rename to resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json index 6c9f5ae522..446179ebb0 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG+.json +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG+.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PETG+", - "inherits": "Elegoo RAPID PETG @base", + "name": "Elegoo Rapid PETG+", + "renamed_from": "Elegoo RAPID PETG+", + "inherits": "Elegoo Rapid PETG @base", "from": "system", "setting_id": "ERPETGPLUS00", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json similarity index 91% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG.json rename to resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json index e66387d96f..96e35143c5 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PETG.json +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PETG.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PETG", - "inherits": "Elegoo RAPID PETG @base", + "name": "Elegoo Rapid PETG", + "renamed_from": "Elegoo RAPID PETG", + "inherits": "Elegoo Rapid PETG @base", "from": "system", "setting_id": "ERPETG00", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+ @0.2 nozzle.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json similarity index 81% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+ @0.2 nozzle.json rename to resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json index 17d0ca2c78..66b9181e94 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+ @0.2 nozzle.json +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+ @0.2 nozzle.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PLA+ @0.2 nozzle", - "inherits": "Elegoo RAPID PLA+ @base", + "name": "Elegoo Rapid PLA+ @0.2 nozzle", + "renamed_from": "Elegoo RAPID PLA+ @0.2 nozzle", + "inherits": "Elegoo Rapid PLA+ @base", "from": "system", "setting_id": "ERPLAPLUS00020", "instantiation": "true", diff --git a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+.json b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json similarity index 93% rename from resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+.json rename to resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json index 4409166418..d4d4b8e73a 100644 --- a/resources/profiles/Elegoo/filament/ELEGOO/Elegoo RAPID PLA+.json +++ b/resources/profiles/Elegoo/filament/ELEGOO/Elegoo Rapid PLA+.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo RAPID PLA+", - "inherits": "Elegoo RAPID PLA+ @base", + "name": "Elegoo Rapid PLA+", + "renamed_from": "Elegoo RAPID PLA+", + "inherits": "Elegoo Rapid PLA+ @base", "from": "system", "setting_id": "ERPLAPLUS00", "instantiation": "true", diff --git a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json index e0373c0ee6..60349b4ac6 100644 --- a/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json +++ b/resources/profiles/Elegoo/machine/EC/Elegoo Centauri.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_buildplate_model.stl", "bed_texture": "elegoo_centuri_buildplate_texture.png", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EC;Elegoo PLA @EC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EC;Elegoo RAPID PETG @0.2 nozzle;Elegoo RAPID PETG @EC;Elegoo RAPID PETG+;;Elegoo RAPID PLA+ @EC;Elegoo RAPID PLA+ @0.2 nozzle;Elegoo RAPID PLA+ @EC;Elegoo TPU 95A @EC" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @EC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @EC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @EC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @EC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @EC;Elegoo PLA @EC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @EC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @EC;Elegoo Rapid PETG+;;Elegoo Rapid PLA+ @EC;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @EC;Elegoo TPU 95A @EC" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json index 70efc41fbf..17cab4a910 100644 --- a/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json +++ b/resources/profiles/Elegoo/machine/ECC/Elegoo Centauri Carbon.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_carbon_buildplate_model.stl", "bed_texture": "elegoo_centuri_carbon_buildplate_texture.png", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC;Elegoo PLA-CF @ECC;Elegoo PLA @ECC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC;Elegoo RAPID PETG @0.2 nozzle;Elegoo RAPID PETG @ECC;Elegoo RAPID PETG+;Elegoo RAPID PLA+ @0.2 nozzle;Elegoo RAPID PLA+ @ECC;Elegoo TPU 95A @ECC" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC;Elegoo PLA-CF @ECC;Elegoo PLA @ECC;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC;Elegoo Rapid PETG+;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC;Elegoo TPU 95A @ECC" } \ No newline at end of file diff --git a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json index 17f9b6f7e8..fad547c571 100644 --- a/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json +++ b/resources/profiles/Elegoo/machine/ECC2/Elegoo Centauri Carbon 2.json @@ -8,5 +8,5 @@ "bed_model": "elegoo_centuri_carbon_buildplate_model.stl", "bed_texture": "elegoo_centuri_carbon_buildplate_texture.png", "hotend_model": "", - "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo RAPID PETG @0.2 nozzle;Elegoo RAPID PETG @ECC2;Elegoo RAPID PLA+ @0.2 nozzle;Elegoo RAPID PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2; Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo RAPID TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2" + "default_materials": "Elegoo ASA @0.2 nozzle;Elegoo ASA @ECC2;Elegoo PETG @0.2 nozzle;Elegoo PETG @ECC2;Elegoo PETG PRO @0.2 nozzle;Elegoo PETG PRO @ECC2;Elegoo PLA @0.2 nozzle;Elegoo PLA Matte @0.2 nozzle;Elegoo PLA Matte @ECC2;Elegoo PLA PRO @0.2 nozzle;Elegoo PLA PRO @ECC2;Elegoo PLA Silk @0.2 nozzle;Elegoo PLA Silk @ECC2;Elegoo PLA-CF @ECC2;Elegoo PLA @ECC2;Elegoo PLA+ @0.2 nozzle;Elegoo PLA+ @ECC2;Elegoo Rapid PETG @0.2 nozzle;Elegoo Rapid PETG @ECC2;Elegoo Rapid PLA+ @0.2 nozzle;Elegoo Rapid PLA+ @ECC2;Elegoo TPU 95A @ECC2;Elegoo PLA Basic @0.2 nozzle;Elegoo PLA Basic @ECC2;Elegoo PLA Galaxy @ECC2;Elegoo PLA Marble @ECC2; Elegoo PLA Sparkle @ECC2;Elegoo PLA Wood @ECC2;Elegoo Rapid TPU 95A @ECC2;Elegoo ABS @0.2 nozzle;Elegoo ABS @ECC2;Elegoo PAHT-CF @ECC2;Elegoo PC @0.2 nozzle;Elegoo PC @ECC2;Elegoo PC-FR @0.2 nozzle;Elegoo PC-FR @ECC2;Elegoo PETG-CF @ECC2;Elegoo PETG-GF @ECC2;Elegoo PETG Translucent @0.2 nozzle;Elegoo PETG Translucent @ECC2" } diff --git a/resources/profiles/OrcaFilamentLibrary.json b/resources/profiles/OrcaFilamentLibrary.json index b3ccc4c487..2dc8acfff6 100644 --- a/resources/profiles/OrcaFilamentLibrary.json +++ b/resources/profiles/OrcaFilamentLibrary.json @@ -40,6 +40,10 @@ "name": "fdm_filament_pa", "sub_path": "filament/base/fdm_filament_pa.json" }, + { + "name": "fdm_filament_paht", + "sub_path": "filament/base/fdm_filament_paht.json" + }, { "name": "fdm_filament_pc", "sub_path": "filament/base/fdm_filament_pc.json" @@ -112,6 +116,10 @@ "name": "COEX ABS PRIME @base", "sub_path": "filament/COEX/COEX ABS PRIME @base.json" }, + { + "name": "Elegoo ABS @base", + "sub_path": "filament/Elegoo/Elegoo ABS @base.json" + }, { "name": "Eolas Prints ABS @System", "sub_path": "filament/Eolas Prints/Eolas Prints ABS @System.json" @@ -256,6 +264,10 @@ "name": "Generic PA-CF @System", "sub_path": "filament/Generic PA-CF @System.json" }, + { + "name": "Elegoo PAHT @base", + "sub_path": "filament/Elegoo/Elegoo PAHT @base.json" + }, { "name": "Bambu PC @base", "sub_path": "filament/Bambu/Bambu PC @base.json" @@ -264,6 +276,10 @@ "name": "Bambu PC FR @base", "sub_path": "filament/Bambu/Bambu PC FR @base.json" }, + { + "name": "Elegoo PC @base", + "sub_path": "filament/Elegoo/Elegoo PC @base.json" + }, { "name": "Generic PC @System", "sub_path": "filament/Generic PC @System.json" @@ -317,8 +333,12 @@ "sub_path": "filament/Elas/Elas PETG Basic @base.json" }, { - "name": "Elegoo PETG Pro @base", - "sub_path": "filament/Elegoo/Elegoo PETG Pro @base.json" + "name": "Elegoo PETG @base", + "sub_path": "filament/Elegoo/Elegoo PETG @base.json" + }, + { + "name": "Elegoo PETG PRO @base", + "sub_path": "filament/Elegoo/Elegoo PETG PRO @base.json" }, { "name": "Elegoo PETG-CF @base", @@ -484,6 +504,18 @@ "name": "Elegoo PLA @base", "sub_path": "filament/Elegoo/Elegoo PLA @base.json" }, + { + "name": "Elegoo PLA Matte @base", + "sub_path": "filament/Elegoo/Elegoo PLA Matte @base.json" + }, + { + "name": "Elegoo PLA Silk @base", + "sub_path": "filament/Elegoo/Elegoo PLA Silk @base.json" + }, + { + "name": "Elegoo PLA-CF @base", + "sub_path": "filament/Elegoo/Elegoo PLA-CF @base.json" + }, { "name": "Elegoo Rapid PLA+ @base", "sub_path": "filament/Elegoo/Elegoo Rapid PLA+ @base.json" @@ -808,6 +840,10 @@ "name": "Elegoo TPU 95A @base", "sub_path": "filament/Elegoo/Elegoo TPU 95A @base.json" }, + { + "name": "Elegoo TPU @base", + "sub_path": "filament/Elegoo/Elegoo TPU @base.json" + }, { "name": "Eolas Prints TPU D60 UV Resistant @System", "sub_path": "filament/Eolas Prints/Eolas Prints TPU Flex D60 UV Resistant @System.json" @@ -1009,8 +1045,8 @@ "sub_path": "filament/Elas/Elas PETG Basic @System.json" }, { - "name": "Elegoo PETG Pro @System", - "sub_path": "filament/Elegoo/Elegoo PETG Pro @System.json" + "name": "Elegoo PETG PRO @System", + "sub_path": "filament/Elegoo/Elegoo PETG PRO @System.json" }, { "name": "Elegoo PETG-CF @System", diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json similarity index 100% rename from resources/profiles/Elegoo/filament/BASE/Elegoo ABS @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ABS @base.json diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json index 2d5f59dd08..8cb6c893fa 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo ASA @base.json @@ -5,61 +5,13 @@ "from": "system", "filament_id": "OGFE06", "instantiation": "false", - "filament_cost": [ - "19.99" - ], - "filament_density": [ - "1.07" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "12" - ], "filament_vendor": [ "Elegoo" ], - "nozzle_temperature": [ - "260" + "filament_density": [ + "1.1" ], - "nozzle_temperature_initial_layer": [ - "255" - ], - "nozzle_temperature_range_high": [ - "280" - ], - "nozzle_temperature_range_low": [ - "250" - ], - "hot_plate_temp": [ - "90" - ], - "hot_plate_temp_initial_layer": [ - "95" - ], - "textured_plate_temp": [ - "95" - ], - "textured_plate_temp_initial_layer": [ - "100" - ], - "fan_max_speed": [ - "50" - ], - "fan_min_speed": [ - "10" - ], - "overhang_fan_speed": [ - "70" - ], - "close_fan_the_first_x_layers": [ - "3" - ], - "slow_down_layer_time": [ - "10" - ], - "slow_down_min_speed": [ - "20" + "filament_max_volumetric_speed": [ + "12" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json similarity index 100% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PAHT @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PAHT @base.json diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json similarity index 100% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PC @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PC @base.json diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json similarity index 100% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PETG @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG @base.json diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json new file mode 100644 index 0000000000..ce352281e4 --- /dev/null +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @System.json @@ -0,0 +1,10 @@ +{ + "type": "filament", + "name": "Elegoo PETG PRO @System", + "renamed_from": "Elegoo PETG Pro @System", + "inherits": "Elegoo PETG PRO @base", + "from": "system", + "setting_id": "OGFSE02_00", + "instantiation": "true", + "compatible_printers": [] +} diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PETG @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json similarity index 54% rename from resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PETG @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json index 06dbf17d84..1b5db40435 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo RAPID PETG @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG PRO @base.json @@ -1,83 +1,74 @@ { "type": "filament", - "name": "Elegoo RAPID PETG @base", - "inherits": "fdm_elegoo_filament_pet", + "name": "Elegoo PETG PRO @base", + "inherits": "fdm_filament_pet", "from": "system", - "filament_id": "ERPETGB00", + "filament_id": "OGFE02", "instantiation": "false", - "cool_plate_temp": [ - "0" + "filament_cost": [ + "12.49" ], - "filament_type": [ - "PETG" + "filament_density": [ + "1.27" ], - "cool_plate_temp_initial_layer": [ - "0" + "filament_flow_ratio": [ + "0.98" ], - "eng_plate_temp": [ - "70" + "filament_max_volumetric_speed": [ + "12" ], - "eng_plate_temp_initial_layer": [ - "70" + "filament_retraction_length": [ + "0.8" ], - "fan_cooling_layer_time": [ - "30" + "filament_retraction_speed": [ + "45" + ], + "filament_deretraction_speed": [ + "45" + ], + "filament_vendor": [ + "Elegoo" + ], + "nozzle_temperature": [ + "245" + ], + "nozzle_temperature_initial_layer": [ + "240" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "230" + ], + "hot_plate_temp": [ + "65" + ], + "hot_plate_temp_initial_layer": [ + "65" + ], + "textured_plate_temp": [ + "75" + ], + "textured_plate_temp_initial_layer": [ + "75" + ], + "overhang_fan_speed": [ + "90" ], "fan_max_speed": [ "80" ], "fan_min_speed": [ - "30" + "20" ], - "filament_cost": [ - "0" - ], - "filament_density": [ - "1.26" - ], - "filament_max_volumetric_speed": [ - "18" - ], - "filament_vendor": [ - "Elegoo" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "nozzle_temperature": [ - "250" - ], - "nozzle_temperature_initial_layer": [ - "250" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" + "fan_cooling_layer_time": [ + "20" ], "slow_down_layer_time": [ - "12" + "10" ], - "textured_plate_temp": [ - "70" - ], - "textured_plate_temp_initial_layer": [ - "70" - ], - "filament_start_gcode": [ - "; Filament start gcode\n" - ], - "filament_end_gcode": [ - "; filament end gcode \n" + "slow_down_min_speed": [ + "20" ] -} \ No newline at end of file +} diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @System.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @System.json index da559fa39d..ce352281e4 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @System.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @System.json @@ -1,7 +1,8 @@ { "type": "filament", - "name": "Elegoo PETG Pro @System", - "inherits": "Elegoo PETG Pro @base", + "name": "Elegoo PETG PRO @System", + "renamed_from": "Elegoo PETG Pro @System", + "inherits": "Elegoo PETG PRO @base", "from": "system", "setting_id": "OGFSE02_00", "instantiation": "true", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @base.json index 90dca220e5..1b5db40435 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PETG Pro @base.json @@ -1,6 +1,6 @@ { "type": "filament", - "name": "Elegoo PETG Pro @base", + "name": "Elegoo PETG PRO @base", "inherits": "fdm_filament_pet", "from": "system", "filament_id": "OGFE02", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json index 8bf7a736df..ad107c2ecc 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA @base.json @@ -6,45 +6,18 @@ "filament_id": "OGFE04", "instantiation": "false", "filament_cost": [ - "15.99" + "0" ], "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.98" + "1.25" ], "filament_max_volumetric_speed": [ - "12" + "16" ], "filament_vendor": [ "Elegoo" ], - "nozzle_temperature": [ - "210" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "slow_down_layer_time": [ - "8" + "filament_start_gcode": [ + "; filament start gcode\n" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA Matte @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json similarity index 89% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PLA Matte @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json index 55c747b373..22a8b894d7 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA Matte @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Matte @base.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Matte @base", - "inherits": "fdm_elegoo_filament_pla", + "inherits": "fdm_filament_pla", "from": "system", "filament_id": "EPLAMB00", "instantiation": "false", diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA Silk @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json similarity index 92% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PLA Silk @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json index 1d3bb39ab9..aa606d17a6 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA Silk @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA Silk @base.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA Silk @base", - "inherits": "fdm_elegoo_filament_pla", + "inherits": "fdm_filament_pla", "from": "system", "filament_id": "EPLASB00", "instantiation": "false", diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA-CF @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json similarity index 94% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PLA-CF @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json index f2288e7929..bbad7d99ba 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PLA-CF @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo PLA-CF @base.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Elegoo PLA-CF @base", - "inherits": "fdm_elegoo_filament_pla", + "inherits": "fdm_filament_pla", "from": "system", "filament_id": "EPLACFB00", "instantiation": "false", diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json index 14f84045c8..c1280e6e42 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo Rapid PLA+ @base.json @@ -5,46 +5,16 @@ "from": "system", "filament_id": "OGFE05", "instantiation": "false", - "filament_cost": [ - "15.99" + "filament_max_volumetric_speed": [ + "21" ], "filament_density": [ - "1.24" - ], - "filament_flow_ratio": [ - "0.98" - ], - "filament_max_volumetric_speed": [ - "18" + "1.25" ], "filament_vendor": [ "Elegoo" ], - "nozzle_temperature": [ - "215" - ], - "nozzle_temperature_initial_layer": [ - "210" - ], - "nozzle_temperature_range_high": [ - "230" - ], - "nozzle_temperature_range_low": [ - "190" - ], - "hot_plate_temp": [ - "50" - ], - "hot_plate_temp_initial_layer": [ - "50" - ], - "textured_plate_temp": [ - "55" - ], - "textured_plate_temp_initial_layer": [ - "55" - ], - "slow_down_layer_time": [ - "6" + "filament_start_gcode": [ + "; filament start gcode\n" ] -} +} \ No newline at end of file diff --git a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json index 3aa82b1c55..15bca35a00 100644 --- a/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU 95A @base.json @@ -5,64 +5,22 @@ "from": "system", "filament_id": "OGFE07", "instantiation": "false", - "filament_cost": [ - "19.99" - ], - "filament_density": [ - "1.21" - ], - "filament_flow_ratio": [ - "0.98" - ], "filament_max_volumetric_speed": [ - "3.5" + "3.6" ], "filament_vendor": [ "Elegoo" ], + "filament_density": [ + "1.21" + ], "nozzle_temperature": [ - "230" + "225" ], "nozzle_temperature_initial_layer": [ "225" ], - "nozzle_temperature_range_high": [ - "240" - ], - "nozzle_temperature_range_low": [ - "220" - ], - "hot_plate_temp": [ - "35" - ], - "hot_plate_temp_initial_layer": [ - "40" - ], - "textured_plate_temp": [ - "40" - ], - "textured_plate_temp_initial_layer": [ - "45" - ], - "fan_max_speed": [ - "70" - ], - "fan_min_speed": [ - "50" - ], - "slow_down_layer_time": [ - "12" - ], - "slow_down_min_speed": [ - "10" - ], - "filament_retraction_length": [ - "0.8" - ], - "filament_retraction_speed": [ - "25" - ], - "filament_deretraction_speed": [ - "25" + "filament_start_gcode": [ + "; filament start gcode\n" ] -} +} \ No newline at end of file diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json b/resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json similarity index 100% rename from resources/profiles/Elegoo/filament/BASE/Elegoo TPU @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/Elegoo/Elegoo TPU @base.json diff --git a/resources/profiles/Elegoo/filament/BASE/Elegoo PETG PRO @base.json b/resources/profiles/OrcaFilamentLibrary/filament/base/fdm_filament_paht.json similarity index 67% rename from resources/profiles/Elegoo/filament/BASE/Elegoo PETG PRO @base.json rename to resources/profiles/OrcaFilamentLibrary/filament/base/fdm_filament_paht.json index aaa2104210..032a66ed88 100644 --- a/resources/profiles/Elegoo/filament/BASE/Elegoo PETG PRO @base.json +++ b/resources/profiles/OrcaFilamentLibrary/filament/base/fdm_filament_paht.json @@ -1,75 +1,83 @@ { "type": "filament", - "name": "Elegoo PETG PRO @base", - "inherits": "fdm_elegoo_filament_pet", + "name": "fdm_filament_paht", + "inherits": "fdm_filament_common", "from": "system", - "filament_id": "EPETGPROB00", "instantiation": "false", - "cool_plate_temp": [ - "0" + "filament_max_volumetric_speed": [ + "12" ], - "cool_plate_temp_initial_layer": [ - "0" + "filament_type": [ + "PAHT" ], - "eng_plate_temp": [ - "70" - ], - "eng_plate_temp_initial_layer": [ - "70" - ], - "fan_cooling_layer_time": [ - "30" - ], - "fan_max_speed": [ - "40" - ], - "fan_min_speed": [ - "10" + "filament_density": [ + "1.24" ], "filament_cost": [ "0" ], - "filament_density": [ - "1.25" + "cool_plate_temp": [ + "35" ], - "filament_max_volumetric_speed": [ - "8" - ], - "filament_vendor": [ - "Elegoo" - ], - "hot_plate_temp": [ - "70" - ], - "hot_plate_temp_initial_layer": [ - "70" - ], - "nozzle_temperature_range_high": [ - "270" - ], - "nozzle_temperature_range_low": [ - "230" - ], - "nozzle_temperature": [ - "240" - ], - "nozzle_temperature_initial_layer": [ - "240" - ], - "overhang_fan_speed": [ - "90" - ], - "overhang_fan_threshold": [ - "10%" - ], - "slow_down_layer_time": [ - "12" + "eng_plate_temp": [ + "0" ], "textured_plate_temp": [ - "70" + "60" + ], + "cool_plate_temp_initial_layer": [ + "35" + ], + "eng_plate_temp_initial_layer": [ + "0" ], "textured_plate_temp_initial_layer": [ - "70" + "60" + ], + "nozzle_temperature_initial_layer": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "overhang_fan_threshold": [ + "50%" + ], + "close_fan_the_first_x_layers": [ + "1" + ], + "nozzle_temperature": [ + "220" + ], + "temperature_vitrification": [ + "45" + ], + "nozzle_temperature_range_low": [ + "190" + ], + "nozzle_temperature_range_high": [ + "240" + ], + "slow_down_min_speed": [ + "20" + ], + "additional_cooling_fan_speed": [ + "0" + ], + "fan_cooling_layer_time": [ + "80" + ], + "fan_min_speed": [ + "50" + ], + "hot_plate_temp": [ + "60" + ], + "hot_plate_temp_initial_layer": [ + "60" + ], + "slow_down_layer_time": [ + "8" ], "filament_start_gcode": [ "; Filament start gcode\n" @@ -77,7 +85,7 @@ "filament_end_gcode": [ "; filament end gcode \n" ], - "filament_type": [ - "PETG" + "filament_vendor": [ + "Generic" ] -} \ No newline at end of file +} From 211971b9d26de3712441c910ac44a62f2c758e80 Mon Sep 17 00:00:00 2001 From: Misterff1 Date: Wed, 8 Apr 2026 16:09:52 +0200 Subject: [PATCH 06/11] Updated profile to match latest officlal BBL tweaks (#13118) * Updated profile to match latest officlal BBL tweaks Updated the profile for the P2S with several changes to match the latest machine gcode changes made by BBL: - Added Ventobox support - Added air purification at the end of the print. When exhaust fan controls are setup in the filament profile, this is skipped - Disabled auxiliary_fan by default to fix the issue that it overrides auto cooling and heating managed by the printer. Enabling this in printer settings makes it behave as before if so desired - Updated with other tweaks made by BBL * Reverted one line in layer change code Reverted one line in layer change gcode as it was causing issues and was bambu studio specific anyway. Filament change works exactly as expected now. * Re-enabled soaking time This was a personal change that sneaked in, but may be unwanted for other users who have been using Orca for this printer for a while. * Fixed redundant homing command and moved enable input shaping up Fixed some issues BBL made in their original startup code that executes one redundant homing command for people who disable ABL. Also moved up the enable input shaping command to make the startup sequence quieter. --------- Co-authored-by: SoftFever --- .../BBL/machine/Bambu Lab P2S 0.4 nozzle.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json index e102c237b8..ccc490ff38 100644 --- a/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json +++ b/resources/profiles/BBL/machine/Bambu Lab P2S 0.4 nozzle.json @@ -160,6 +160,7 @@ "0" ], "printable_height": "256", + "auxiliary_fan": "0", "printer_extruder_id": [ "1", "1" @@ -241,10 +242,10 @@ "Bambu Lab H2D 0.4 nozzle", "Bambu Lab H2D Pro 0.4 nozzle" ], - "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== P2S start gcode==========\n;===== 2025/10/09 =====\n \n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400\n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B9 L99 C61 D9 M99 E61 F9 N99 \nM1006 A53 B9 L99 C53 D9 M99 E53 F9 N99 \nM1006 A56 B9 L99 C56 D9 M99 E56 F9 N99 \nM1006 A61 B18 L99 C61 D18 M99 E61 F18 N99 \nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n G90\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n;==== if Chamber Cooling is necessary ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S255 ; turn on filter fan\n{else}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M104 S140 A \n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300\n G150.3\n M972 S24 P0\n M972 S26 P0 C0\n M1002 gcode_claim_action : 11\n M972 S19 P2 T5000 ;plate type detection\n M972 S42 P0 T5000\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G90\n G1 X128 Y128 F30000\n G28 Z P0 T400\n M400\n;===== first homign end =====\n\n;===== detection start =====\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A ; rise temp in advance\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n M975 S1 ; turn on input shaping\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] E0\n M620.11 K0 I[initial_no_support_extruder] R0\n \n M620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n M1030 S1800 \n {else}\n M1030 S300\n {endif}\n M1030 C\n {endif}\n \n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G0 Z10 F1200\n G150.2\n G150.1 F8000\n G0 Z5 F1200\n G150.1 F8000\n\n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n \n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n;===== wipe left nozzle end =====\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A10 K0 O1\n M970.2 Q1 K1 W74 Z0.01\n M974 Q1 S2 P0\n M970.3 Q0 A10 K0 O1\n M970.2 Q0 K1 W74 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\n M623\n\n M622 J0\n G28\n M623\n G29.2 S1\n G28\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S[nozzle_temperature_initial_layer] A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.03}\n {endif}\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G130 O0 X100 Y-0.5 Z0.8 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E20 D5\n G90\n M83\n G1 Z0.2\n M400\n;===== noozle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\") || \n(filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu, pla and petg clog detect\n{else}\nM1015.3 S0;disable clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.023 S0.01\nM1010 Q1 B0.005 S0.01\nM1010.1 S1", - "machine_end_gcode": ";======== P2S end gcode ==========\n;===== 2025/09/26 =====\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\nG1 E-0.8 F1800 ; retract\nG0 Z{max_layer_z + 0.8} F900\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nG150.3\n\nM400 ; wait all motion done\nM991 S0 P-1 ;end smooth timelapse at safe pos\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L99 C53 D10 M99 E53 F10 N99 \nM1006 A57 B10 L99 C57 D10 M99 E57 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L99 C48 D10 M99 E48 F10 N99 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L99 C60 D10 M99 E60 F10 N99 \nM1006 W\n;=====printer finish sound=========\nM400\nM18\n\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed", - "layer_change_gcode": ";======== P2S layer_change gcode ==========\n;===== 2025/09/25 ====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif}\n{endif}\n\n{if (layer_num + 1 == close_fan_the_first_x_layers[current_extruder]+1)}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n M106 P10 S{additional_cooling_fan_speed[current_extruder]*255.0/100.0}; set left aux fan \n{else}\n ;not reset filter fan in Xth layer\n{endif}\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change\n\n", + "machine_start_gcode": ";M1002 set_flag extrude_cali_flag=1\n;M1002 set_flag g29_before_print_flag=1\n;M1002 set_flag auto_cali_toolhead_offset_flag=1\n;M1002 set_flag build_plate_detect_flag=1\n\n;======== P2S start gcode==========\n;===== Based on official 2026/02/26 start gcode =====\n \n M140 S[bed_temperature_initial_layer_single] ; heat heatbed first\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n M400 \n\n;=====printer start sound ===================\nM17\nM400 S1\nM1006 S1\nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B9 L50 C61 D9 M50 E61 F9 N50 \nM1006 A53 B9 L50 C53 D9 M50 E53 F9 N50 \nM1006 A56 B9 L50 C56 D9 M50 E56 F9 N50 \nM1006 A61 B18 L50 C61 D18 M50 E61 F18 N50 \nM1006 W\n;=====printer start sound ===================\n\n M620 M ;enable remap\n G389\n\n;===== avoid end stop =================\n G91\n G380 S2 Z22 F1200\n G380 S2 Z-12 F1200\n G90\n;===== avoid end stop =================\n\n;===== reset machine status =================\n M204 S10000\n M630 S0 P1\n G90\n M17 D ; reset motor current to default\n M960 S5 P1 ; turn on logo lamp\n G90\n M220 S100 ;Reset Feedrate\n M1002 set_gcode_claim_speed_level: 5\n M221 S100 ;Reset Flowrate\n M73.2 R1.0 ;Reset left time magnitude\n G29.1 Z{+0.0} ; clear z-trim value first\n M983.1 M1\n M975 S1 ; turn on input shaping\n M982.2 S1 ; turn on cog noise reduction\n M983.4 S0\n;===== reset machine status =================\n\n;==== set airduct mode ==== \n;==== if Chamber Cooling is necessary ====\n{if (overall_chamber_temperature >= 40)}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S255 ; turn on filter fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\n{else}\n{if (min_vitrification_temperature <= 50)}\nM145 P0 ; set airduct mode to cooling mode for cooling\nM106 P2 S255 ; turn on auxiliary fan for cooling\nM106 P3 S127 ; turn on chamber fan for cooling\nM1002 gcode_claim_action : 29\nM191 S0 ; wait for chamber temp\nM106 P2 S102 ; turn on chamber cooling fan\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\nM106 P10 S0 ; turn off left aux fan\nM623\nM142 P6 R30 S40 U0.3 V0.8 ; set PETG exhaust chamber autocooling\n{else}\nM145 P1 ; set airduct mode to heating mode for heating\nM106 P2 S127 ; turn on 50% filter fan\nM142 P6 R30 S40 U0.3 V0.8 ; set PLA/TPU exhaust chamber autocooling\n{endif}\n{endif}\n;==== set airduct mode ==== \n\n;===== start to heat heatbed & hotend==========\n M1002 gcode_claim_action : 2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M104 S140 A \n\n G29.2 S0 ; avoid invalid abl data\n\n;===== first homing start =====\n M1002 gcode_claim_action : 13\n G28 X T300\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G150.3\n M972 S24 P0\n M972 S26 P0 C0\n M972 S42 P0 T5000\n G150.1 F8000 ; wipe mouth to avoid filament stick to heatbed\n G90\n G1 X128 Y128 F30000\n G28 Z P0 T400\n M400\n;===== first homing end =====\n\n;===== detection start =====\n M1002 gcode_claim_action : 11\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A ; rise temp in advance\n M972 S19 P0 T5000 ;plate type detection\n \n {if max_print_z >= 145}\n M1002 gcode_claim_action : 75 ; Detect obstacles at the botton of the heated bed\n G150.3\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]} ; rise temp in advance\n G3811 Z{max_print_z} ; Detect obstacles at the bottom of the heated bed\n {endif}\n;===== detection end =====\n\n;===== prepare print temperature and material ==========\n M400\n M211 X0 Y0 Z0 ;turn off soft endstop\n \n G29.2 S0 ; avoid invalid abl data\n G150.3\n{if ((filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG\")) && (nozzle_diameter[initial_no_support_extruder] == 0.2)}\nM620.10 A0 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F74.8347 H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\nM620.10 A1 F{flush_volumetric_speeds[initial_no_support_extruder]/2.4053*60} H{nozzle_diameter[initial_no_support_extruder]} T{flush_temperatures[initial_no_support_extruder]} P{nozzle_temperature_initial_layer[initial_no_support_extruder]} S1\n{endif}\n \n M620.11 P0 L0 I[initial_no_support_extruder] E0\n M620.11 K0 I[initial_no_support_extruder] R0\n \n M620 S[initial_no_support_extruder]A ; switch material if AMS exist\n M1002 gcode_claim_action : 4\n M1002 set_filament_type:UNKNOWN\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M621 S[initial_no_support_extruder]A\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n M106 P1 S0\n M400\n G29.2 S1\n;===== prepare print temperature and material ==========\n\n\n;===== auto extrude cali start =========================\n M975 S1\n M1002 judge_flag extrude_cali_flag\n M622 J0\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M623\n\n M622 J1\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n\n M622 J2\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M1002 gcode_claim_action : 8\n M109 S{nozzle_temperature[initial_no_support_extruder]}\n G90\n M83\n M983.3 F{filament_max_volumetric_speed[initial_no_support_extruder]/2.4} A0.4 ; cali dynamic extrusion compensation\n M400\n M106 P1 S255\n M400 S5\n M106 P1 S0\n G150.3\n M623\n;===== auto extrude cali end =========================\n\n {if hold_chamber_temp_for_flat_print}\n M1002 gcode_claim_action : 58\n M104 S{first_layer_temperature[initial_no_support_extruder]}\n {if bed_temperature_initial_layer_single > 89}\n M1030 S1800\n SYNC R0 T1800\n {else}\n M1030 S300\n SYNC R0 T300\n {endif}\n M1030 C\n {endif}\n \n {if filament_type[current_extruder] == \"TPU\" || filament_type[current_extruder] == \"PVA\"}\n {else}\n M83\n G1 E-3 F1800\n M400 P500\n {endif}\n G150.2\n G150.1 F8000\n G150.2\n G150.1 F8000\n \n G91\n G1 Y-16 F12000 ; move away from the trash bin\n G90\n M400\n\n M104 S{nozzle_temperature_initial_layer[initial_no_support_extruder]-80} A\n\n;===== wipe right nozzle start =====\n M1002 gcode_claim_action : 14\n G150 T{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n M400\n \n{if filament_type[current_extruder] == \"PC\"}\n M109 S170 A\n{else}\n M109 S140 A\n{endif}\n G91\n G1 Z5 F1200\n G90\n M400\n G150.1\n;===== wipe left nozzle end =====\n\n;===== mech mode sweep start =====\n M1002 gcode_claim_action : 3\n G90\n G1 X128 Y128 F20000\n G1 Z5 F1200\n M400 P200\n M970.3 Q1 A5 K0 O1\n M970.2 Q1 K1 W74 Z0.01\n M974 Q1 S2 P0\n M970.3 Q0 A7 K0 O1\n M970.2 Q0 K1 W74 Z0.01\n M974 Q0 S2 P0\n M975 S1\n M400\n;===== mech mode sweep end =====\n\n;===== bed leveling ==================================\n M1002 gcode_claim_action : 54\n M190 S[bed_temperature_initial_layer_single]; ensure bed temp\n M109 S140 A\n M106 S0 ; turn off fan , too noisy\n M1002 judge_flag g29_before_print_flag\n M622 J1\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A1 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\n M623\n \n M622 J2\n M1002 gcode_claim_action : 1\n {if hold_chamber_temp_for_flat_print}\n G29 H\n {else}\n G29 A2 X{first_layer_print_min[0]} Y{first_layer_print_min[1]} I{first_layer_print_size[0]} J{first_layer_print_size[1]}\n {endif}\n M400\n M500 ; save cali data\n M623\n\n M622 J0\n ;skip to homing\n M623\n G29.2 S1\n G28\n;===== bed leveling end ================================\n\n M985.1 U0 E2\n M985.1 U1 E2\n\n M104 S[nozzle_temperature_initial_layer] A\n G150.3 ; move to garbage can to wait for temp\n\n;===== wait temperature reaching the reference value =======\n M190 S[bed_temperature_initial_layer_single] \n\n ;========turn off light and fans =============\n M960 S1 P0 ; turn off laser\n M960 S2 P0 ; turn off laser\n M106 S0 ; turn off cooling fan\n \n;===== wait temperature reaching the reference value =======\n\n M1002 gcode_claim_action : 255\n M400\n M975 S1 ; turn on mech mode supression\n\n;============switch again==================\n M211 X0 Y0 Z0 ;turn off soft endstop\n G91\n G1 Z6 F1200\n G90\n M1002 set_filament_type:{filament_type[initial_no_support_extruder]}\n M620 S[initial_no_support_extruder]A\n M400\n T[initial_no_support_extruder]\n M400\n M628 S0\n M629\n M400\n M621 S[initial_no_support_extruder]A\n;============switch again==================\n\n;===== for Textured PEI Plate , lower the nozzle as the nozzle was touching topmost of the texture when homing ==\n {if bed_temperature_initial_layer_single > 89}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{-0.02} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.0}\n {endif}\n {else}\n {if curr_bed_type==\"Textured PEI Plate\"}\n G29.1 Z{0.01} ; for Textured PEI Plate\n {else}\n G29.1 Z{0.03}\n {endif}\n {endif}\n\n M500\n\n;===== nozzle load line ===============================\nM1002 gcode_claim_action : 51\n G29.2 S1 ; ensure z comp turn on\n G90\n M83\n M109 S{nozzle_temperature_initial_layer[initial_no_support_extruder]}\n G0 X100 Y0 F24000\n M400\n G130 O0 X100 Y-0.2 Z0.6 F{filament_max_volumetric_speed[initial_no_support_extruder]/2/2.4053} L40 E12 D4\n G90\n M83\n G1 Z0.5\n M400\n;===== nozzle load line end ===========================\nM1002 gcode_claim_action : 0\n G29.99\n\n{if (filament_type[initial_no_support_extruder] == \"TPU\") || \n(filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")}\nM1015.3 S1 H[nozzle_diameter];enable tpu, pla and petg clog detect\n{else}\nM1015.3 S0;disable clog detect\n{endif}\n\n{if (filament_type[initial_no_support_extruder] == \"PLA\") || (filament_type[initial_no_support_extruder] == \"PETG\")\n || (filament_type[initial_no_support_extruder] == \"PLA-CF\") || (filament_type[initial_no_support_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[initial_no_support_extruder] W1 ;enable ams air printing detect\n\nM1010 Q0 B0.023 S0.01\nM1010 Q1 B0.005 S0.01\nM1010.1 S1", + "machine_end_gcode": ";======== P2S end gcode ==========\n;===== Based on official 2026/03/13 end gcode =====\n\nM400 ; wait for buffer to clear\nG92 E0 ; zero the extruder\n\n; pull back filament to AMS\nM620 S65535\nT65535\nG150.2\nM621 S65535\n\nG150.3\n\nM400 ; wait all motion done\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n M991 S0 P-1 ;end smooth timelapse at safe pos\n M400 S5 ;wait for last picture to be taken\nM623 ;end of \"timelapse_record_flag\"\n\nM104 S0 ; turn off hotend\nM140 S0 ; turn off bed\nM106 S0 ; turn off fan\nM106 P2 S0 ; turn off remote part cooling fan\nM106 P3 S0 ; turn off chamber cooling fan\nM106 P10 S0 ; turn off left aux fan\n\nM400 ; wait all motion done\nM17 S\nM17 Z0.4 ; lower z motor current to reduce impact if there is something in the bottom\n{if (80.0 - max_layer_z/2) > 0}\n {if (max_layer_z + 80.0 - max_layer_z/2) < 256}\n G1 Z{max_layer_z + 80.0 - max_layer_z/2} F600\n G1 Z{max_layer_z + 78.0 - max_layer_z/2}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{else}\n {if (max_layer_z + 4.0) < 256}\n G1 Z{max_layer_z + 4.0} F600\n G1 Z{max_layer_z + 2.0}\n {else}\n G1 Z256 F600\n G1 Z256\n {endif}\n{endif}\nM400 P100\nM17 R ; restore z current\n\n\nM220 S100 ; Reset feedrate magnitude\nM201.2 K1.0 ; Reset acc magnitude\nM73.2 R1.0 ;Reset left time magnitude\nM1002 set_gcode_claim_speed_level : 0\n\nM1015.3 S0 ;disable clog detect\nM1015.4 S0 K0 ;disable air printing detect\n\n;=====printer finish air purification=========\nM622.1 S0\nM1002 judge_flag print_finish_air_filt_flag\n\n;if activate_air_filtration is enabled in filament settings, it will skip purification regardless of what is set on the printer.\nM622 J1\n{if !activate_air_filtration[current_extruder]}\nM1002 gcode_claim_action : 66\nM145 P1\nM106 P2 S255\nM400 S180\nM106 P2 S0\n{endif}\nM623\n\nM622 J2\n{if !activate_air_filtration[current_extruder]}\nM1002 gcode_claim_action : 66\nM145 P0\nM106 P3 S255\nM400 S180\nM106 P3 S0\n{endif}\nM623\n;=====printer finish air purification=========\n\n;=====printer finish sound=========\nM17\nM400 S1\nM1006 S1\nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A53 B10 L50 C53 D10 M50 E53 F10 N50 \nM1006 A57 B10 L50 C57 D10 M50 E57 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A48 B10 L50 C48 D10 M50 E48 F10 N50 \nM1006 A0 B15 L0 C0 D15 M0 E0 F15 N0 \nM1006 A60 B10 L50 C60 D10 M50 E60 F10 N50 \nM1006 W\n;=====printer finish sound=========\nM400\nM18", + "layer_change_gcode": ";======== P2S layer_change gcode ==========\n;===== 2026/01/08 ====\n\n{if (layer_num + 1 == 1)}\n{if (overall_chamber_temperature >= 40)}\n ;not reset filter fan in first layer\n ;not reset fan\n{else}\n{if (min_vitrification_temperature > 50)}\n ;not reset filter fan in first layer\n ;not reset fan\n{endif} \n{endif}\n{endif}\n\n{if (layer_num + 1 == close_fan_the_first_x_layers[current_extruder]+1)}\n{if (overall_chamber_temperature < 40)}\n ;updata chamber autocooling in Xth layer\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n ;not reset filter fan in Xth layer\n {endif}\n{else}\n ;not reset filter fan in Xth layer\n{endif}\n M622.1 S0\n M1002 judge_flag ventobox_replace_aux1_fan_flag\n M622 J0\n M106 P10 S{additional_cooling_fan_speed[current_extruder]*255.0/100.0}; set left aux fan \n M623\n;not reset fan\n{endif}\n\n\n; update layer progress\nM73 L{layer_num+1}\nM991 S0 P{layer_num} ;notify layer change", "time_lapse_gcode": ";======== P2S timeslape gcode ==========\n;===== 2025/06/16 ====\n; SKIPPABLE_START\n; SKIPTYPE: timelapse\nM622.1 S1 ; for prev firware, default turned on\n\nM1002 judge_flag timelapse_record_flag\nM622 J1\n{if timelapse_type == 0} ; timelapse without wipe tower\n M971 S11 C10 O0\n M1004 S5 P1 ; external shutter\n{elsif timelapse_type == 1} ; timelapse with wipe tower\n G150.3 ; move to garbage can\n M400\n M1004 S5 P1 ; external shutter\n M400 P300\n M971 S11 C10 O0\n M400 P350\n \n G90\n G1 Z{max_layer_z + 3.0} F1200\n G0 Y210 F18000\n{endif}\nM623\n; SKIPPABLE_END\n", "wrapping_detection_gcode": ";======== P2S 20250822 clumping ========\n{if !spiral_mode}\n M622.1 S0 ; for previous firmware, default turn off\n M1002 set_flag g39_forced_detection_flag=1\n M1002 judge_flag g39_forced_detection_flag\n M622 J1\n {if layer_num == 3 || layer_num == 10 || layer_num == 19}\n M993 A2 B2 C2 ; nozzle cam detection allow status save.\n M993 A0 B0 C0 ; nozzle cam detection not allowed.\n\n M400 P100\n\n G39\n\n G90\n G1 Y240 F30000\n G1 Y210 F15000\n \n M993 A3 B3 C3 ; nozzle cam detection allow status restore.\n {endif}\n M623\n{endif}", - "change_filament_gcode": ";======== P2S filament_change gcode ==========\n;===== 2025/09/25 =====\n\nM620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_extruder] == 0 || z_hop_types[current_extruder] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_extruder] E0\n{endif}\n\nM620.11 K0 I[current_extruder] R0\n\n \nT[next_extruder]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if filament_type[next_extruder] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 80) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_extruder]A\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\n\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 < close_fan_the_first_x_layers[next_extruder] + 1)}\n M106 P2 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer aux fan\n M106 P10 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer left aux fan \n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {else}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R45 S50 U{max_additional_fan/100.0} V0.5 O50; set PETG ND0.2 chamber autocooling\n {else}\n M142 P1 R50 S55 U{max_additional_fan/100.0} V0.5 O55; set PETG ND0.4 chamber autocooling\n {endif}\n {endif}\n M106 P10 S{additional_cooling_fan_speed[next_extruder]*255.0/100.0};set left aux fan \n{endif}\n{endif}\n;not set fan changing filament" -} \ No newline at end of file + "change_filament_gcode": ";======== P2S filament_change gcode ==========\n;===== Based on official 2026/02/27 filament change gcode =====\n\nM620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1 && (z_hop_types[current_extruder] == 0 || z_hop_types[current_extruder] == 3)}\nG17\nG2 Z{z_after_toolchange + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\n\n;nozzle_change_gcode\n\nG1 Z{max_layer_z + 3.0} F1200\n\nM400\nM106 P1 S0\n\n{if toolchange_count == 2}\n; get travel path for change filament\n;M620.1 X[travel_point_1_x] Y[travel_point_1_y] F21000 P0\n;M620.1 X[travel_point_2_x] Y[travel_point_2_y] F21000 P1\n;M620.1 X[travel_point_3_x] Y[travel_point_3_y] F21000 P2\n{endif}\n\n{if ((filament_type[current_extruder] == \"PLA\") || (filament_type[current_extruder] == \"PLA-CF\") || (filament_type[current_extruder] == \"PETG\")) && (nozzle_diameter[current_extruder] == 0.2)}\nM620.10 A0 F74.8347 L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{else}\nM620.10 A0 F{flush_volumetric_speeds[current_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[current_extruder]} T{flush_temperatures[current_extruder]} P{nozzle_temperature[current_extruder]} S1\n{endif}\n\n{if ((filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG\")) && (nozzle_diameter[next_extruder] == 0.2)}\nM620.10 A1 F74.8347 L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{else}\nM620.10 A1 F{flush_volumetric_speeds[next_extruder]/2.4053*60} L[flush_length] H{nozzle_diameter[next_extruder]} T{flush_temperatures[next_extruder]} P{nozzle_temperature[next_extruder]} S1\n{endif}\n\n{if long_retraction_when_cut}\nM620.11 P1 L0 I[current_extruder] E-{retraction_distance_when_cut} F{max((flush_volumetric_speeds[current_extruder]/2.4053*60), 200)}\n{else}\nM620.11 P0 L0 I[current_extruder] E0\n{endif}\n\nM620.11 K0 I[current_extruder] R0\n\nT[next_extruder]\n\n;deretract\n{if filament_type[next_extruder] == \"TPU\"}\n{else}\n{if filament_type[next_extruder] == \"PA\"}\n;VG1 E1 F{max(new_filament_e_feedrate, 200)}\n;VG1 E1 F{max(new_filament_e_feedrate/2, 100)}\n{else}\n;VG1 E4 F{max(new_filament_e_feedrate, 200)}\n;VG1 E4 F{max(new_filament_e_feedrate/2, 100)}\n{endif}\n{endif}\n\n; VFLUSH_START\n{if flush_length>41.5}\n;VG1 E41.5 F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n;VG1 E{flush_length-41.5} F{new_filament_e_feedrate}\n{else}\n;VG1 E{flush_length} F{min(old_filament_e_feedrate,new_filament_e_feedrate)}\n{endif}\nSYNC T{ceil(flush_length / 80) * 5}\n; VFLUSH_END\n\nM1002 set_filament_type:{filament_type[next_extruder]}\n\nM400\nM83\n{if next_extruder < 255}\nM620.10 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM628 S0\n;VM109 S[new_filament_temp]\nM629\nM400\nM983.3 F{filament_max_volumetric_speed[next_extruder]/2.4} A0.4 R{retract_length_toolchange[filament_map[next_extruder]-1]}\nM400\n\nG1 Z{max_layer_z + 3.0} F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[travel_acceleration]\n{endif}\n\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\n\nM621 S[next_extruder]A\n\n{if (filament_type[next_extruder] == \"PLA\") || (filament_type[next_extruder] == \"PETG\")\n || (filament_type[next_extruder] == \"PLA-CF\") || (filament_type[next_extruder] == \"PETG-CF\")}\nM1015.4 S1 K1 H[nozzle_diameter] ;enable E air printing detect\n{else}\nM1015.4 S0 K0 H[nozzle_diameter] ;disable E air printing detect\n{endif}\n\nM620.6 I[next_extruder] W1 ;enable ams air printing detect\n\nG1 Y256 F18000\n\n{if (overall_chamber_temperature < 40)}\n{if (layer_num + 1 < close_fan_the_first_x_layers[next_extruder] + 1)}\n{if (min_vitrification_temperature <= 50)}\n M106 P2 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer aux fan\n {endif}\n{else}\n {if (min_vitrification_temperature <= 50)}\n {if (nozzle_diameter == 0.2)}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.2 chamber autocooling\n {else}\n M142 P1 R30 S40 U{max_additional_fan/100.0} V1.0 O45; set PLA/TPU ND0.4 chamber autocooling\n {endif}\n {endif}\n{endif}\n{endif}\n\nM622.1 S0\nM1002 judge_flag ventobox_replace_aux1_fan_flag\nM622 J0\n{if (layer_num + 1 < close_fan_the_first_x_layers[next_extruder] + 1)}\n M106 P10 S{first_x_layer_fan_speed[next_extruder]*255.0/100.0 };set first x_layer left aux fan \n{else}\n M106 P10 S{additional_cooling_fan_speed[next_extruder]*255.0/100.0};set left aux fan\n{endif}\nM623\n\n;not set fan changing filament" +} From d715dfc966234fcaebdcc37cc43e3d0f59957da5 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Wed, 8 Apr 2026 15:06:28 -0300 Subject: [PATCH 07/11] Wiki link fix and update (#13152) --- README.md | 6 +++--- src/slic3r/GUI/MainFrame.cpp | 25 +++++++++---------------- src/slic3r/GUI/ObjColorDialog.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/GUI/calib_dlg.cpp | 18 +++++++++--------- 5 files changed, 23 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index f082515377..134a7acb96 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ If you come across any of these in search results, please report them as # Main features -- **[Advanced Calibration Tools](https://www.orcaslicer.com/wiki/Calibration)** +- **[Advanced Calibration Tools](https://www.orcaslicer.com/wiki/calibration_guide)** Comprehensive suite: temperature towers, flow rate, retraction & more for optimal performance. - **[Precise Wall](https://www.orcaslicer.com/wiki/quality_settings_precision#precise-wall) and [Seam Control](https://www.orcaslicer.com/wiki/quality_settings_seam)** Adjust outer wall spacing and apply scarf seams to enhance print accuracy. @@ -71,7 +71,7 @@ If you come across any of these in search results, please report them as The [wiki](https://www.orcaslicer.com/wiki) aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer. - **[Access the wiki here](https://www.orcaslicer.com/wiki)** -- **[Contribute to the wiki](https://www.orcaslicer.com/wiki/How-to-wiki)** +- **[Contribute to the wiki](https://www.orcaslicer.com/wiki/how_to_wiki)** # Download @@ -144,7 +144,7 @@ winget install --id=SoftFever.OrcaSlicer -e # How to Compile -All updated build instructions for Windows, macOS, and Linux are now available on the official [OrcaSlicer Wiki - How to build](https://www.orcaslicer.com/wiki/How-to-build) page. +All updated build instructions for Windows, macOS, and Linux are now available on the official [OrcaSlicer Wiki - How to build](https://www.orcaslicer.com/wiki/how_to_build) page. Please refer to the wiki to ensure you're following the latest and most accurate steps for your platform. diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 6f8de35094..c71eea6c88 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -3261,8 +3261,8 @@ void MainFrame::init_menubar_as_editor() [this]() {return m_plater->is_view3D_shown();; }, this); m_topbar->GetCalibMenu()->AppendSubMenu(flowrate_menu, _L("Flow ratio")); - // Retraction test - append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Retraction test"), _L("Retraction test"), + // Retraction + append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Retraction"), _L("Retraction"), [this](wxCommandEvent&) { if (!m_retraction_calib_dlg) m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); @@ -3311,16 +3311,9 @@ void MainFrame::init_menubar_as_editor() [this]() {return m_plater->is_view3D_shown();; }, this); // help - append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Tutorial"), _L("Calibration help"), - [this](wxCommandEvent&) { - std::string url = "https://www.orcaslicer.com/wiki/Calibration"; - if (const std::string country_code = wxGetApp().app_config->get_country_code(); country_code == "CN") { - // Use gitee mirror for China users - url = "https://gitee.com/n0isyfox/orca-slicer-docs/wikis/%E6%A0%A1%E5%87%86/%E6%89%93%E5%8D%B0%E5%8F%82%E6%95%B0%E6%A0%A1%E5%87%86"; - } - wxLaunchDefaultBrowser(url, wxBROWSER_NEW_WINDOW); - }, "", nullptr, - [this]() {return m_plater->is_view3D_shown();; }, this); + append_menu_item(m_topbar->GetCalibMenu(), wxID_ANY, _L("Calibration Guide"), _L("Calibration Guide"), [this](wxCommandEvent &) + { wxLaunchDefaultBrowser("https://www.orcaslicer.com/wiki/calibration_guide", wxBROWSER_NEW_WINDOW); }, "", nullptr, [this]() + {return m_plater->is_view3D_shown();; }, this); #else m_menubar->Append(fileMenu, wxString::Format("&%s", _L("File"))); @@ -3379,8 +3372,8 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->calib_flowrate(true, 2); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); - // Retraction test - append_menu_item(calib_menu, wxID_ANY, _L("Retraction test"), _L("Retraction test"), + // Retraction + append_menu_item(calib_menu, wxID_ANY, _L("Retraction"), _L("Retraction"), [this](wxCommandEvent&) { if (!m_retraction_calib_dlg) m_retraction_calib_dlg = new Retraction_Test_Dlg((wxWindow*)this, wxID_ANY, m_plater); @@ -3428,8 +3421,8 @@ void MainFrame::init_menubar_as_editor() }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); // help - append_menu_item(calib_menu, wxID_ANY, _L("Tutorial"), _L("Calibration help"), - [this](wxCommandEvent&) { wxLaunchDefaultBrowser("https://www.orcaslicer.com/wiki/Calibration", wxBROWSER_NEW_WINDOW); }, "", nullptr, + append_menu_item(calib_menu, wxID_ANY, _L("Calibration Guide"), _L("Calibration Guide"), + [this](wxCommandEvent&) { wxLaunchDefaultBrowser("https://www.orcaslicer.com/wiki/calibration_guide", wxBROWSER_NEW_WINDOW); }, "", nullptr, [this]() {return m_plater->is_view3D_shown();; }, this); m_menubar->Append(calib_menu,wxString::Format("&%s", _L("Calibration"))); diff --git a/src/slic3r/GUI/ObjColorDialog.cpp b/src/slic3r/GUI/ObjColorDialog.cpp index 94b3e2cb08..fc5c734148 100644 --- a/src/slic3r/GUI/ObjColorDialog.cpp +++ b/src/slic3r/GUI/ObjColorDialog.cpp @@ -48,7 +48,7 @@ wxBoxSizer* ObjColorDialog::create_btn_sizer(long flags,bool exist_error) if (!exist_error) { btn_sizer->AddSpacer(FromDIP(25)); auto *tips = new HyperLink(this, _L("Wiki Guide")); // ORCA - tips->SetURL("https://www.orcaslicer.com/wiki/general-settings/import_export.html#obj"); + tips->SetURL("https://www.orcaslicer.com/wiki/import_export#obj"); btn_sizer->Add(tips, 0, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL); } btn_sizer->AddStretchSpacer(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 86144a227f..3632325c7d 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -12871,7 +12871,7 @@ void Plater::calib_max_vol_speed(const Calib_Params& params) void Plater::calib_retraction(const Calib_Params& params) { - const auto calib_retraction_name = wxString::Format(L"Retraction test"); + const auto calib_retraction_name = wxString::Format(L"Retraction"); new_project(false, false, calib_retraction_name); wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor)); if (params.mode != CalibMode::Calib_Retraction_tower) diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index 6e888b43c6..1ffc05edfe 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -177,7 +177,7 @@ PA_Calibration_Dlg::PA_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plater* auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/pressure-advance-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/pressure_advance_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -396,7 +396,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/temp-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/temp_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -577,7 +577,7 @@ MaxVolumetricSpeed_Test_Dlg::MaxVolumetricSpeed_Test_Dlg(wxWindow* parent, wxWin auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/volumetric-speed-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/volumetric_speed_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -685,7 +685,7 @@ VFA_Test_Dlg::VFA_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater) auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/vfa-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/vfa_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -735,7 +735,7 @@ void VFA_Test_Dlg::on_dpi_changed(const wxRect& suggested_rect) // Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* plater) - : DPIDialog(parent, id, _L("Retraction test"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE), m_plater(plater) + : DPIDialog(parent, id, _L("Retraction"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE), m_plater(plater) { SetBackgroundColour(*wxWHITE); // make sure background color set for dialog SetForegroundColour(wxColour("#363636")); @@ -794,7 +794,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/retraction-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/retraction_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -974,7 +974,7 @@ Input_Shaping_Freq_Test_Dlg::Input_Shaping_Freq_Test_Dlg(wxWindow* parent, wxWin auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/input-shaping-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/input_shaping_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -1173,7 +1173,7 @@ Input_Shaping_Damp_Test_Dlg::Input_Shaping_Damp_Test_Dlg(wxWindow* parent, wxWin auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/input-shaping-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/input_shaping_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); @@ -1369,7 +1369,7 @@ Cornering_Test_Dlg::Cornering_Test_Dlg(wxWindow* parent, wxWindowID id, Plater* auto dlg_btns = new DialogButtons(this, {"OK"}); auto bottom_sizer = new wxBoxSizer(wxHORIZONTAL); - auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/cornering-calib"); + auto wiki = new HyperLink(this, _L("Wiki Guide"), "https://www.orcaslicer.com/wiki/cornering_calib"); bottom_sizer->Add(wiki, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, FromDIP(20)); bottom_sizer->AddStretchSpacer(); bottom_sizer->Add(dlg_btns, 0, wxEXPAND); From 47b28ee969699e6b9ca6cfa5a77fa422ae299275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Mart=C3=ADnez=20Moreno?= Date: Wed, 8 Apr 2026 13:04:21 -0700 Subject: [PATCH 08/11] Update Spanish translation, remove fuzzies. (#12981) Co-authored-by: Ian Bassi --- localization/i18n/es/OrcaSlicer_es.po | 240 +++++++++++++------------- 1 file changed, 117 insertions(+), 123 deletions(-) diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index b7c82e8777..d912d8a533 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -113,7 +113,7 @@ msgid "Latest version" msgstr "Última versión" msgid "Support Painting" -msgstr "Pintar Soportes" +msgstr "Pintar soportes" msgid "Ctrl+" msgstr "Ctrl+" @@ -125,7 +125,7 @@ msgid "Shift+" msgstr "Shift+" msgid "Mouse wheel" -msgstr "Rueda de ratón" +msgstr "Rueda del ratón" msgid "Section view" msgstr "Vista de la sección" @@ -201,7 +201,7 @@ msgid "No auto support" msgstr "No auto soportes" msgid "Support Generated" -msgstr "Soportes Generados" +msgstr "Soportes generados" msgid "Gizmo-Place on Face" msgstr "Herramienta de selección de faceta como base" @@ -215,7 +215,7 @@ msgid "" "the first %1% filaments will be available in painting tool." msgstr "" "El recuento de filamentos supera el número máximo que admite la herramienta " -"de pintura. Sólo los primeros %1% de filamentos estarán disponibles en la " +"de pintura. Sólo los primeros %1% filamentos estarán disponibles en la " "herramienta de pintura." msgid "Color Painting" @@ -249,7 +249,7 @@ msgid "Smart fill" msgstr "Relleno inteligente" msgid "Bucket fill" -msgstr "Relleno de cubos" +msgstr "Relleno con cubo" msgid "Height range" msgstr "Rango de altura" @@ -258,7 +258,7 @@ msgid "Enter" msgstr "Enter" msgid "Toggle Wireframe" -msgstr "Alternar Malla Alámbrica" +msgstr "Alternar malla alámbrica" msgid "Remap filaments" msgstr "Remapear filamentos" @@ -389,10 +389,10 @@ msgid "Group Operations" msgstr "Operaciones de grupo" msgid "Set Orientation" -msgstr "Establecer Orientación" +msgstr "Establecer orientación" msgid "Set Scale" -msgstr "Establecer Escala" +msgstr "Establecer escala" msgid "Reset Position" msgstr "Reiniciar posición" @@ -407,7 +407,7 @@ msgid "World coordinates" msgstr "Coordenadas globales" msgid "Translate(Relative)" -msgstr "Traslación (Relativo)" +msgstr "Traslación (relativo)" msgid "Reset current rotation to the value when open the rotation tool." msgstr "" @@ -506,13 +506,13 @@ msgid "Flap Angle" msgstr "Ángulo de solapa" msgid "Groove Angle" -msgstr "Ángulo de Ranura" +msgstr "Ángulo del surco" msgid "Cut position" msgstr "Posición de corte" msgid "Build Volume" -msgstr "Volumen de Construcción" +msgstr "Volumen de construcción" msgid "Part" msgstr "Pieza" @@ -606,7 +606,7 @@ msgid "Flip cut plane" msgstr "Voltear plano de corte" msgid "Groove change" -msgstr "Cambio de ranura" +msgstr "Cambio de surco" msgid "Reset" msgstr "Reiniciar" @@ -685,11 +685,11 @@ msgid "Connector" msgstr "Conector" msgid "Cut by Plane" -msgstr "Corte por Plano" +msgstr "Corte por plano" msgid "Non-manifold edges be caused by cut tool, do you want to fix it now?" msgstr "" -"La operación de corte ha resultado en bordes no plegados, ¿Desea repararlos " +"La operación de corte ha resultado en bordes no plegados, ¿desea repararlos " "ahora?" msgid "Repairing model object" @@ -699,7 +699,7 @@ msgid "Cut by line" msgstr "Corte por Línea" msgid "Delete connector" -msgstr "Borrar Conector" +msgstr "Borrar conector" msgid "Mesh name" msgstr "Nombre de la malla" @@ -835,7 +835,7 @@ msgid "Text move" msgstr "Text desplzado" msgid "Set Mirror" -msgstr "Configurar Espejo" +msgstr "Configurar espejo" msgid "Embossed text" msgstr "Texto en relieve" @@ -1350,11 +1350,11 @@ msgstr "" #. TRN: An menu option to convert the SVG into an unmodifiable model part. msgid "Bake" -msgstr "Hornear" +msgstr "Empotrar" #. TRN: Tooltip for the menu item. msgid "Bake into model as uneditable part" -msgstr "Hornear en el modelo como parte no editable" +msgstr "Fijar en el modelo como parte no editable" msgid "Save as" msgstr "Guardar como" @@ -1574,7 +1574,7 @@ msgid "Feature 1" msgstr "Característica 1" msgid "Reverse rotation" -msgstr "Revertir Rotación" +msgstr "Revertir rotación" msgid "Rotate around center:" msgstr "Rotar alrededor del centro:" @@ -1757,8 +1757,8 @@ msgid "" "features.\n" "Click Yes to install it now." msgstr "" -"Orca Slicer requiere de la librería Microsoft WebView2 Runtime para la " -"funcianolidad de ciertas características.\n" +"Orca Slicer requiere la biblioteca Microsoft WebView2 Runtime para la " +"funcionalidad de ciertas características.\n" "Haga clic en Sí para instalarlo ahora." msgid "WebView2 Runtime" @@ -1809,7 +1809,7 @@ msgstr "" "perfiles de impresora no se verán afectados." msgid "Rebuild" -msgstr "Reconstruir" +msgstr "Reconstruyendo" msgid "Loading current presets" msgstr "Cargando los perfiles actuales" @@ -1851,8 +1851,7 @@ msgstr "Usuario desconectado" msgid "new or open project file is not allowed during the slicing process!" msgstr "" "¡crear o abrir un archivo de proyecto nuevo no está permitido durante el " -"proceso de laminado!¡crear o abrir un archivo de proyecto nuevo no está " -"permitido durante el proceso de laminado!" +"proceso de laminado!" msgid "Open Project" msgstr "Abrir proyecto" @@ -1972,13 +1971,13 @@ msgstr "" "Configuración." msgid "Import File" -msgstr "Importar Archivo" +msgstr "Importar archivo" msgid "Choose files" msgstr "Elija los archivos" msgid "New Folder" -msgstr "Nueva Carpeta" +msgstr "Nueva carpeta" msgid "Open" msgstr "Abrir" @@ -2015,19 +2014,19 @@ msgid "Strength" msgstr "Fuerza" msgid "Top Solid Layers" -msgstr "Capas Sólidas Superiores" +msgstr "Capas sólidas superiores" msgid "Top Minimum Shell Thickness" -msgstr "Espesor Mínimo de la Cubierta Superior" +msgstr "Espesor mínimo de la cubierta superior" msgid "Top Surface Density" msgstr "Densidad de superficie superior" msgid "Bottom Solid Layers" -msgstr "Capas Sólidas Inferiores" +msgstr "Capas sólidas inferiores" msgid "Bottom Minimum Shell Thickness" -msgstr "Espesor Mínimo de la Cubierta Inferior" +msgstr "Espesor mínimo de la cubierta inferior" msgid "Bottom Surface Density" msgstr "Densidad de superficie inferior" @@ -2036,13 +2035,13 @@ msgid "Ironing" msgstr "Alisado" msgid "Fuzzy Skin" -msgstr "Superficie Rugosa" +msgstr "Superficie rugosa" msgid "Extruders" msgstr "Extrusores" msgid "Extrusion Width" -msgstr "Ancho de Extrusión" +msgstr "Ancho de extrusión" msgid "Wipe options" msgstr "Opciones de limpieza" @@ -2123,7 +2122,7 @@ msgid "Orca Cube" msgstr "Cubo Orca" msgid "Orca Tolerance Test" -msgstr "Test de Tolerancia Orca" +msgstr "Test de tolerancia Orca" msgid "3DBenchy" msgstr "3DBenchy" @@ -2141,7 +2140,7 @@ msgid "Stanford Bunny" msgstr "Conejito Stanford" msgid "Orca String Hell" -msgstr "Test de hilos de Orca \" String Hell\"" +msgstr "Test de hilos de Orca «String Hell»" msgid "" "This model features text embossment on the top surface. For optimal results, " @@ -2151,9 +2150,9 @@ msgid "" "No - Do not change these settings for me" msgstr "" "Este modelo contiene texto en relieve en la superficie superior. Para " -"obtener resultados óptimos, es aconsejable establecer el \"Umbral de " -"perímetro (min_width_top_surface)\" a 0 para que \"Sólo un perímetro en las " -"superficies superiores\" funcione mejor.\n" +"obtener resultados óptimos, es aconsejable establecer el «Umbral de " +"perímetro (min_width_top_surface)» a 0 para que «Sólo un perímetro en las " +"superficies superiores» funcione mejor.\n" "Sí - Cambiar estos ajustes automáticamente \n" "No - No cambiar estos ajustes" @@ -2164,7 +2163,7 @@ msgid "Text" msgstr "Texto" msgid "Height range Modifier" -msgstr "Modificador de rango de Altura" +msgstr "Modificador de rango de altura" msgid "Add settings" msgstr "Añadir ajustes" @@ -2435,7 +2434,7 @@ msgid "Clone" msgstr "Clonar" msgid "Simplify Model" -msgstr "Simplificar Modelo" +msgstr "Simplificar modelo" msgid "Subdivision mesh" msgstr "Subdivisión de malla" @@ -2450,7 +2449,7 @@ msgid "Drop" msgstr "Soltar" msgid "Edit Process Settings" -msgstr "Editar Ajustes de Proceso" +msgstr "Editar ajustes de proceso" msgid "Copy Process Settings" msgstr "Copiar configuración del proceso" @@ -2462,7 +2461,7 @@ msgid "Edit print parameters for a single object" msgstr "Editar los parámetros de impresión de un solo objeto" msgid "Change Filament" -msgstr "Cambiar el Filamento" +msgstr "Cambiar el filamento" msgid "Set Filament for selected items" msgstr "Cambiar el filamento para los elementos seleccionados" @@ -3457,7 +3456,7 @@ msgid "License" msgstr "Licencia" msgid "Orca Slicer is licensed under " -msgstr "Orca Slicer está licenciada sobre " +msgstr "Orca Slicer tiene licencia " msgid "GNU Affero General Public License, version 3" msgstr "GNU Affero General Public License, versión 3" @@ -3466,7 +3465,7 @@ msgid "Orca Slicer is based on PrusaSlicer and BambuStudio" msgstr "Orca Slicer se basa en PrusaSlicer y BambuStudio" msgid "Libraries" -msgstr "Librerías" +msgstr "Bibliotecas" msgid "" "This software uses open source components whose copyright and other " @@ -3501,7 +3500,7 @@ msgid "Version" msgstr "Versión" msgid "AMS Materials Setting" -msgstr "Ajustes de Materiales AMS" +msgstr "Ajustes de materiales AMS" msgid "Confirm" msgstr "Confirmar" @@ -3530,10 +3529,10 @@ msgid "SN" msgstr "SN" msgid "Factors of Flow Dynamics Calibration" -msgstr "Factores de Calibración de Dinámicas de Flujo" +msgstr "Factores de calibración de dinámicas de flujo" msgid "PA Profile" -msgstr "Perfil de Pressure advance" +msgstr "Perfil de «Pressure advance»" msgid "Factor K" msgstr "Factor K" @@ -3547,7 +3546,7 @@ msgstr "" msgid "Setting Virtual slot information while printing is not supported" msgstr "" -"Ajuste de información de ranura Virtual mientras la impresión no sea " +"Ajuste de información de ranura virtual mientras la impresión no sea " "soportada" msgid "Are you sure you want to clear the filament information?" @@ -4365,20 +4364,20 @@ msgstr "" "seam_slope_start_height debe ser menor que layer_height.\n" "Restableciendo a 0." -#, fuzzy, c-format, boost-format +#, c-format, boost-format msgid "" "Lock depth should smaller than skin depth.\n" -"Reset to 50% of skin depth." +"Reset to 50%% of skin depth." msgstr "" "La profundidad del bloqueo debe ser menor que la profundidad de la piel.\n" -"Restablecer al 50% de la profundidad de la piel." +"Restablecer al 50%% de la profundidad de la piel." msgid "" "Both [Extrusion] and [Combined] modes of Fuzzy Skin require the Arachne Wall " "Generator to be enabled." msgstr "" "Tanto el modo [Extrusión] como el modo [Combinado] de Piel Difusa requieren " -"que el Generador de Muros Arachne esté habilitado." +"que el Generador de paredes Arachne esté habilitado." msgid "" "Change these settings automatically?\n" @@ -4388,7 +4387,7 @@ msgid "" msgstr "" "¿Cambiar estos ajustes automáticamente?\n" "Sí: habilitar el generador de muros Arachne\n" -"No: deshabilitar el generador de muros Arachne y establecer el modo " +"No: deshabilitar el generador de paredes Arachne y establecer el modo " "[Desplazamiento] de la piel difusa" msgid "" @@ -4396,7 +4395,7 @@ msgid "" "detection by probing is disabled, top shell layers is 0, sparse infill " "density is 0 and timelapse type is traditional." msgstr "" -"El modo espiral solo funciona cuando los bucles de pared son 1, el soporte " +"El modo espiral solo funciona cuando los bucles de perímetro son 1, el soporte " "está desactivado, la detección de agrupamientos mediante sondeo está " "desactivada, las capas superiores de la carcasa son 0, la densidad de " "relleno es 0 y el tipo de lapso de tiempo es tradicional." @@ -4424,7 +4423,7 @@ msgid "Heatbed preheating" msgstr "Precalentamiento de la cama" msgid "Vibration compensation" -msgstr "Compensación de Vibraciones" +msgstr "Compensación de vibraciones" msgid "Changing filament" msgstr "Cambiando el filamento" @@ -4451,10 +4450,10 @@ msgid "Identifying build plate type" msgstr "Identificando el tipo de cama de impresión" msgid "Calibrating Micro Lidar" -msgstr "Calibrando Micro Lidar" +msgstr "Calibrando micro Lidar" msgid "Homing toolhead" -msgstr "Homing del Cabezal" +msgstr "Homing del cabezal" msgid "Cleaning nozzle tip" msgstr "Limpiando la boquilla" @@ -4490,7 +4489,7 @@ msgid "Filament loading" msgstr "Carga de filamento" msgid "Motor noise cancellation" -msgstr "Cancelación de Ruido de Motor" +msgstr "Cancelación de ruido del motor" msgid "Pause (AMS offline)" msgstr "Pausa (AMS sin conexión)" @@ -7363,7 +7362,7 @@ msgid "Hardened Steel" msgstr "Acero endurecido" msgid "Stainless Steel" -msgstr "Acero Inoxidable" +msgstr "Acero inoxidable" msgid "Tungsten Carbide" msgstr "Carburo de tungsteno" @@ -15122,13 +15121,12 @@ msgstr "" msgid "First layer height" msgstr "Altura de la primera capa" -#, fuzzy msgid "" "Height of the first layer. Making the first layer height thicker can improve " "build plate adhesion." msgstr "" "Altura de la primera capa. Hacer que la altura de la primera capa sea " -"ligeramente gruesa puede mejorar la adherencia con la cama de impresión." +"ligeramente más gruesa puede mejorar la adherencia con la cama de impresión." msgid "Speed of the first layer except the solid infill part." msgstr "Velocidad de la primera capa excepto la parte sólida de relleno." @@ -16078,12 +16076,11 @@ msgstr "Todas las superficies superiores" msgid "Topmost surface" msgstr "Sólo la superficie superior" -#, fuzzy msgid "All solid layers" -msgstr "Todas la capas sólidas" +msgstr "Todas las capas sólidas" msgid "Ironing Pattern" -msgstr "Patrón de Alisado" +msgstr "Patrón de alisado" msgid "The pattern that will be used when ironing." msgstr "Patrón que se usará durante el alisado." @@ -17339,13 +17336,12 @@ msgstr "" msgid "Minimum sparse infill threshold" msgstr "Umbral de área mínima de relleno de baja densidad" -#, fuzzy msgid "" "Sparse infill areas smaller than this threshold value are replaced by " "internal solid infill." msgstr "" -"El área de relleno de baja densidad que es menor que este valor de umbral se " -"sustituye por un relleno sólido interno." +"Las áreas de relleno de baja densidad con un tamaño por debajo de este umbral se " +"sustituyen por un relleno sólido interno." msgid "Solid infill" msgstr "Relleno sólido interno" @@ -17357,7 +17353,7 @@ msgid "" "Line width of internal solid infill. If expressed as a %, it will be " "computed over the nozzle diameter." msgstr "" -"Ancho de línea del relleno sólido interno. Si se expresa cómo %, se " +"Ancho de línea del relleno sólido interno. Si se expresa como %, se " "calculará en base al diámetro de la boquilla." msgid "Speed of internal solid infill, not the top and bottom surface." @@ -17370,23 +17366,23 @@ msgid "" "model into a single walled print with solid bottom layers. The final " "generated model has no seam." msgstr "" -"El modo espiral suaviza los movimientos z del contorno exterior. Convierte " +"El modo espiral suaviza los movimientos Z del contorno exterior. Convierte " "un modelo sólido en una impresión de un solo perímetro con capas inferiores " "sólidas. El modelo final generado no tiene costuras." msgid "Smooth Spiral" -msgstr "Espiral Suave" +msgstr "Espiral suave" msgid "" "Smooth Spiral smooths out X and Y moves as well, resulting in no visible " "seam at all, even in the XY directions on walls that are not vertical." msgstr "" -"Espiral Suave suaviza también los movimientos en X e Y, con lo que no se " +"Espiral suave suaviza también los movimientos en X e Y, con lo que no se " "aprecia ninguna costura, ni siquiera en las direcciones XY en perímetros que " "no son verticales." msgid "Max XY Smoothing" -msgstr "Suavizado XY Máximo" +msgstr "Suavizado XY máximo" #, no-c-format, no-boost-format msgid "" @@ -18812,9 +18808,8 @@ msgstr "" "propia característica. Se expresa en porcentaje en base al diámetro de la " "boquilla." -#, fuzzy msgid "Detect narrow internal solid infills" -msgstr "Detección de relleno interno estrecho" +msgstr "Detectar relleno sólido interno estrecho" msgid "" "This option will auto-detect narrow internal solid infill areas. If enabled, " @@ -21105,19 +21100,19 @@ msgstr "" "boquilla." msgid "Printer Created Successfully" -msgstr "Éxito Creando la Impresora" +msgstr "Impresora creada con éxito" msgid "Filament Created Successfully" -msgstr "Éxito Creando el Filamento" +msgstr "Filamento creado con éxito" msgid "Printer Created" -msgstr "Impresora Creada" +msgstr "Impresora creada" msgid "Please go to printer settings to edit your presets" msgstr "Vaya a la configuración de la impresora para editar los perfiles" msgid "Filament Created" -msgstr "Filamento Creado" +msgstr "Filamento creado" msgid "" "Please go to filament setting to edit your presets if you need.\n" @@ -21148,7 +21143,7 @@ msgstr "" "sincronización." msgid "Printer Setting" -msgstr "Ajustes de Impresora" +msgstr "Ajustes de impresora" msgid "Printer config bundle(.orca_printer)" msgstr "Paquete de configuración de impresora(.orca_printer)" @@ -21157,13 +21152,13 @@ msgid "Filament bundle(.orca_filament)" msgstr "Paquete de filamento(.orca_filament)" msgid "Printer presets(.zip)" -msgstr "Perfiles de Impresora(.zip)" +msgstr "Perfiles de impresora(.zip)" msgid "Filament presets(.zip)" -msgstr "Perfiles de Filamento(.zip)" +msgstr "Perfiles de filamento(.zip)" msgid "Process presets(.zip)" -msgstr "Perfiles de Proceso(.zip)" +msgstr "Perfiles de proceso(.zip)" msgid "initialize fail" msgstr "fallo inicializando" @@ -21271,7 +21266,7 @@ msgstr "" "operación de exportado de configuración." msgid "Edit Filament" -msgstr "Editar Filamento" +msgstr "Editar filamento" msgid "Filament presets under this filament" msgstr "Perfiles de filamento basados en este filamento" @@ -21292,7 +21287,7 @@ msgstr[0] "El siguiente perfil hereda de este perfil." msgstr[1] "Los siguientes perfiles heredan de este perfil." msgid "Delete Preset" -msgstr "Borrar Perfil" +msgstr "Borrar perfil" msgid "Are you sure to delete the selected preset?" msgstr "¿Está seguro de borrar el perfil seleccionado?" @@ -21301,7 +21296,7 @@ msgid "Delete preset" msgstr "Borrar perfil" msgid "+ Add Preset" -msgstr "+ Añadir Perfil" +msgstr "+ Añadir perfil" msgid "" "All the filament presets belong to this filament would be deleted.\n" @@ -21329,10 +21324,10 @@ msgid "The filament choice not find filament preset, please reselect it" msgstr "Perfil de filamento no encontrado, por favor, seleccione otro" msgid "[Delete Required]" -msgstr "[Necesario Eliminar]" +msgstr "[Necesario eliminar]" msgid "Edit Preset" -msgstr "Editar Perfil" +msgstr "Editar perfil" msgid "For more information, please check out Wiki" msgstr "Para más información, consulte la Wiki" @@ -21344,7 +21339,7 @@ msgid "Collapse" msgstr "Colapsar" msgid "Daily Tips" -msgstr "Consejos Diarios" +msgstr "Consejos diarios" msgid "" "The printer nozzle information has not been set.\n" @@ -21455,7 +21450,7 @@ msgid "Physical Printer" msgstr "Impresora física" msgid "Print Host upload" -msgstr "Carga al Host de Impresión" +msgstr "Mandar al servidor de impresión" msgid "" "Select the network agent implementation for printer communication. Available " @@ -21507,8 +21502,8 @@ msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" -"Para utilizar un archivo de CA personalizado, importe su archivo de CA a " -"Almacén de certificados / Llavero." +"Para utilizar un archivo de CA personalizado, importe su archivo de CA en el " +"Almacén de certificados/Llavero." msgid "Login/Test" msgstr "Inicio de sesión/Prueba" @@ -21529,7 +21524,7 @@ msgid "Could not connect to AstroBox" msgstr "No se ha podido conectar con AstroBox" msgid "Note: AstroBox version 1.1.0 or higher is required." -msgstr "Nota: Se requiere la versión 1.1.0 de AstroBox como mínimo." +msgstr "Nota: Se requiere la versión de AstroBox 1.1.0 o superior." msgid "Connection to Duet is working correctly." msgstr "La conexión con Duet funciona correctamente." @@ -21576,10 +21571,10 @@ msgid "Could not connect to OctoPrint" msgstr "No se ha podido conectar con OctoPrint" msgid "Note: OctoPrint version 1.1.0 or higher is required." -msgstr "Nota: Se requiere una versión de OctoPrint al menos 1.1.0." +msgstr "Nota: Se requiere la versión de OctoPrint 1.1.0 o superior." msgid "Connection to Prusa SL1 / SL1S is working correctly." -msgstr "La conexión a Prusa SL1 / SL1S funciona correctamente." +msgstr "La conexión a Prusa SL1/SL1S funciona correctamente." msgid "Could not connect to Prusa SLA" msgstr "No se ha podido conectar con Prusa SLA" @@ -21939,7 +21934,7 @@ msgstr "" "Al imprimir este filamento, existe un riesgo de deformación y baja " "resistencia de adherencia de capas. Para obtener mejores resultados, " "consulte esta wiki: Consejos de impresión para materiales de alta " -"temperatura / Ingeniería." +"temperatura/ingeniería." msgid "" "When printing this filament, there's a risk of nozzle clogging, oozing, " @@ -21949,7 +21944,7 @@ msgstr "" "Al imprimir este filamento, existe un riesgo de obstrucción de la boquilla, " "goteo, deformación y baja resistencia de adherencia de capas. Para obtener " "mejores resultados, consulte esta wiki: Consejos de impresión para " -"materiales de alta temperatura / Ingeniería." +"materiales de alta temperatura/ingeniería." msgid "" "To get better transparent or translucent results with the corresponding " @@ -22010,7 +22005,7 @@ msgid "" "55D) and is compatible with the AMS. To get better printing quality, please " "refer to this wiki: TPU printing guide." msgstr "" -"Si va a imprimir un tipo de TPU blando, no lama con este perfil, y es solo " +"Si va a imprimir un tipo de TPU blando, no lamine con este perfil, y es solo " "para TPU que tiene suficiente dureza (no menos de 55D) y es compatible con " "el AMS. Para obtener una mejor calidad de impresión, consulte esta wiki: " "Guía de impresión TPU." @@ -22133,7 +22128,7 @@ msgid "Bed Leveling" msgstr "Nivelación de la cama" msgid "Flow Dynamic Calibration" -msgstr "Calibración Dinámica de Flujo" +msgstr "Calibración dinámica de flujo" msgid "Send Options" msgstr "Opciones de envío" @@ -22145,7 +22140,7 @@ msgid "" "printers at the same time. (It depends on how many devices can undergo " "heating at the same time.)" msgstr "" -"impresoras al mismo tiempo.(Depende de cuántos aparatos puedan calentarse al " +"impresoras al mismo tiempo (depende de cuántos aparatos puedan calentarse al " "mismo tiempo)." msgid "Wait" @@ -22169,7 +22164,7 @@ msgstr "Seleccionar impresoras conectadas (0/6)" #, c-format, boost-format msgid "Select Connected Printers (%d/6)" -msgstr "Seleccionar Impresoras Conectadas (%d/6)" +msgstr "Seleccionar impresoras conectadas (%d/6)" #, c-format, boost-format msgid "The maximum number of printers that can be selected is %d" @@ -22179,7 +22174,7 @@ msgid "No task" msgstr "Sin tareas" msgid "Edit Printers" -msgstr "Editar Impresoras" +msgstr "Editar impresoras" msgid "Task Name" msgstr "Nombre de la tarea" @@ -22206,13 +22201,13 @@ msgid "Syncing" msgstr "Sincronizando" msgid "Printing Finish" -msgstr "Impresión Finalizada" +msgstr "Impresión finalizada" msgid "Printing Failed" msgstr "Impresión fallida" msgid "Printing Pause" -msgstr "Impresión Pausada" +msgstr "Impresión pausada" msgid "Pending" msgstr "Pendiente" @@ -22221,19 +22216,19 @@ msgid "Sending" msgstr "Enviando" msgid "Sending Finish" -msgstr "Envío Finalizado" +msgstr "Envío finalizado" msgid "Sending Cancel" -msgstr "Envío Cancelado" +msgstr "Envío cancelado" msgid "Sending Failed" -msgstr "Envío Fallido" +msgstr "Envío fallido" msgid "Print Success" -msgstr "Impresión Exitosa" +msgstr "Impresión exitosa" msgid "Print Failed" -msgstr "Error de Impresión" +msgstr "Error de impresión" msgid "Removed" msgstr "Eliminado" @@ -22380,7 +22375,7 @@ msgid "Set the brim type of this object to \"painted\"" msgstr "Establecer el tipo de borde de este objeto a \"pintado\"" msgid " invalid brim ears" -msgstr " orejas de borde invalidos" +msgstr " orejas de borde inválidas" msgid "Brim Ears" msgstr "Orejas de borde" @@ -22676,7 +22671,7 @@ msgid "" "Did you know that Reverse on odd feature can significantly improve " "the surface quality of your overhangs?" msgstr "" -"Invertir en impar \n" +"Invertir en impar\n" "¿Sabías que la función Invertir en impar puede mejorar " "significativamente la calidad de la superficie de los voladizos?" @@ -22696,7 +22691,7 @@ msgid "" "Did you know that you can fix a corrupted 3D model to avoid a lot of slicing " "problems on the Windows system?" msgstr "" -"Arreglar modelo \n" +"Arreglar modelo\n" "¿Sabías que puedes arreglar un modelo 3D dañado para evitar muchos problemas " "de laminado en el sistema Windows?" @@ -22754,7 +22749,7 @@ msgid "" "Did you know that you use the Search tool to quickly find a specific Orca " "Slicer setting?" msgstr "" -"Funcionalidad de búsqueda \n" +"Funcionalidad de búsqueda\n" "¿Sabía que puede utilizar la herramienta de búsqueda para encontrar " "rápidamente un ajuste específico de Orca Slicer?" @@ -22764,7 +22759,7 @@ msgid "" "Did you know that you can reduce the number of triangles in a mesh using the " "Simplify mesh feature? Right-click the model and select Simplify model." msgstr "" -"Simplificar modelo \n" +"Simplificar modelo\n" "¿Sabía que puede reducir el número de triángulos de una malla utilizando la " "función Simplificar malla? Haga clic con el botón derecho del ratón en el " "modelo y seleccione Simplificar modelo." @@ -22785,7 +22780,7 @@ msgid "" "Did you know that you can split a big object into small ones for easy " "colorizing or printing?" msgstr "" -"Dividir en Objetos/Partes\n" +"Dividir en objetos/partes\n" "¿Sabías que puedes dividir un objeto grande en pequeños para colorearlo o " "imprimirlo fácilmente?" @@ -22796,7 +22791,7 @@ msgid "" "part modifier? That way you can, for example, create easily resizable holes " "directly in Orca Slicer." msgstr "" -"Sustraer una parte \n" +"Sustraer una parte\n" "¿Sabías que puedes sustraer una malla de otra utilizando el modificador " "Parte negativa? De esta forma puedes, por ejemplo, crear agujeros fácilmente " "redimensionables directamente en Orca Slicer." @@ -22825,7 +22820,7 @@ msgstr "" "Ubicación de la costura Z\n" "¿Sabías que puedes personalizar la ubicación de la costura Z, e incluso " "pintarla en tu impresión, para tenerla en un lugar menos visible? Esto " -"mejora el aspecto general de tu modelo. ¡Compruébalo!" +"mejora el aspecto general de tu modelo. ¡Pruébalo!" #: resources/data/hints.ini: [hint:Fine-tuning for flow rate] msgid "" @@ -22858,9 +22853,9 @@ msgid "" "Did you know that you can print a model even faster, by using the Adaptive " "Layer Height option? Check it out!" msgstr "" -"Acelere su impresión con la Altura Adaptable de Capa\n" +"Acelera tu impresión con la altura adaptable de capa\n" "¿Sabías que puedes imprimir un modelo aún más rápido utilizando la opción " -"Altura Adaptable de Capa? ¡Compruébalo!" +"Altura adaptable de capa? ¡Pruébalo!" #: resources/data/hints.ini: [hint:Support painting] msgid "" @@ -22870,7 +22865,7 @@ msgid "" "model that actually need it." msgstr "" "Pintura de soportes\n" -"¿Sabías que puedes pintar los soportes en cualquier ubicación? Esta función " +"¿Sabías que puedes pintar la ubicación de tus soportes? Esta función " "facilita la colocación de soportes sólo en las secciones donde realmente sea " "necesario." @@ -22884,7 +22879,7 @@ msgstr "" "Diferentes tipos de soportes\n" "¿Sabías que puedes elegir entre varios tipos de soportes? Los soportes en " "forma de árbol son ideales para modelos orgánicos, ahorran filamento y " -"mejoran la velocidad de impresión. ¡Compruébalo!" +"mejoran la velocidad de impresión. ¡Pruébalo!" #: resources/data/hints.ini: [hint:Printing Silk Filament] msgid "" @@ -22955,9 +22950,9 @@ msgid "" "extruder/hotend clogging when printing lower temperature filament with a " "higher enclosure temperature? More info about this in the Wiki." msgstr "" -"¿Cuando es necesario imprimir con la puerta de la impresora abierta?\n" +"¿Cuándo es necesario imprimir con la puerta de la impresora abierta?\n" "¿Sabías que la apertura de la puerta de la impresora puede reducir la " -"probabilidad de obstrucción del extrusor / cabezal al imprimir filamento de " +"probabilidad de obstrucción del extrusor/cabezal al imprimir filamento de " "baja temperatura con una temperatura más alta de la cubierta? Más " "información sobre esto en la Wiki." @@ -22968,7 +22963,7 @@ msgid "" "ABS, appropriately increasing the heatbed temperature can reduce the " "probability of warping?" msgstr "" -"Evite la deformación\n" +"Evita la deformación\n" "¿Sabías que al imprimir materiales propensos a la deformación como el ABS, " "aumentar adecuadamente la temperatura de la cama térmica puede reducir la " "probabilidad de deformaciones?" @@ -23974,7 +23969,6 @@ msgstr "" #~ "Espaciado de las líneas de interfaz. Cero significa que la interfaz es " #~ "sólida" -#, fuzzy #~ msgid "" #~ "Minimum thickness of thin features. Model features that are thinner than " #~ "this value will not be printed, while features thicker than this value " From 71a84def1a8c93e2fbbc6878e93535acb60e2bc1 Mon Sep 17 00:00:00 2001 From: Miki Date: Wed, 8 Apr 2026 13:15:43 -0700 Subject: [PATCH 09/11] Fix single-instance IPC by preserving "OrcaSlicer" suffix in Win32 title (#13017) --- src/slic3r/GUI/Plater.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 3632325c7d..72f53720c1 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -10448,7 +10448,7 @@ void Plater::priv::update_title_dirty_status() wxGetApp().mainframe->SetTitle(title); wxGetApp().mainframe->update_title_colour_after_set_title(); #else - wxGetApp().mainframe->SetTitle(title); + wxGetApp().mainframe->SetTitle(title + " - OrcaSlicer"); wxGetApp().mainframe->topbar()->SetTitle(title); #endif } From a9741b52749b492c31712db4f04171d9d8688362 Mon Sep 17 00:00:00 2001 From: yw4z Date: Wed, 8 Apr 2026 23:18:46 +0300 Subject: [PATCH 10/11] Improve readability of "Only one wall on.." parameters (#13121) --- src/slic3r/GUI/Tab.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 35c85b36c1..6141d96885 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -2368,9 +2368,9 @@ void TabPrint::build() optgroup->append_single_option_line("gap_fill_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); optgroup->append_single_option_line("support_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); optgroup->append_single_option_line("support_interface_flow_ratio", "quality_settings_wall_and_surfaces#surface-flow-ratio"); + optgroup->append_single_option_line("only_one_wall_first_layer", "quality_settings_wall_and_surfaces#only-one-wall"); optgroup->append_single_option_line("only_one_wall_top", "quality_settings_wall_and_surfaces#only-one-wall"); optgroup->append_single_option_line("min_width_top_surface", "quality_settings_wall_and_surfaces#threshold"); - optgroup->append_single_option_line("only_one_wall_first_layer", "quality_settings_wall_and_surfaces#only-one-wall"); optgroup->append_single_option_line("reduce_crossing_wall", "quality_settings_wall_and_surfaces#avoid-crossing-walls"); optgroup->append_single_option_line("max_travel_detour_distance", "quality_settings_wall_and_surfaces#max-detour-length"); From 984178ac293949c87f0f8178f1e948844446ba40 Mon Sep 17 00:00:00 2001 From: Eldenroot Date: Wed, 8 Apr 2026 22:21:22 +0200 Subject: [PATCH 11/11] Add fallback when color was not specified (crash fix) (#13002) --- src/slic3r/GUI/3DScene.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index e23efc7fbd..1a1f652e71 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -1471,7 +1471,7 @@ void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig *con using ColorItem = std::pair; std::vector colors; - if (static_cast(config->opt_int("printer_technology")) == ptSLA) { + if (config->has("printer_technology") && static_cast(config->opt_int("printer_technology")) == ptSLA) { const std::string& txt_color = config->opt_string("material_colour").empty() ? print_config_def.get("material_colour")->get_default_value()->value : config->opt_string("material_colour"); @@ -1480,6 +1480,9 @@ void GLVolumeCollection::update_colors_by_extruder(const DynamicPrintConfig *con colors.push_back({ txt_color, rgba }); } else { + if (!config->has("filament_colour")) { + return; + } const ConfigOptionStrings* filamemts_opt = dynamic_cast(config->option("filament_colour")); if (filamemts_opt == nullptr) return;