diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 045156dcce..2bfa654d4f 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -813,7 +813,7 @@ class BuildVolume(SceneNode): prime_tower_areas = self._computeDisallowedAreasPrinted(used_extruders) for extruder_id in prime_tower_areas: for area_index, prime_tower_area in enumerate(prime_tower_areas[extruder_id]): - for area in result_areas[extruder_id]: + for area in result_areas_no_brim[extruder_id]: if prime_tower_area.intersectsPolygon(area) is not None: prime_tower_collision = True break @@ -860,13 +860,24 @@ class BuildVolume(SceneNode): machine_depth = self._global_container_stack.getProperty("machine_depth", "value") prime_tower_x = self._global_container_stack.getProperty("prime_tower_position_x", "value") prime_tower_y = - self._global_container_stack.getProperty("prime_tower_position_y", "value") + prime_tower_brim_enable = self._global_container_stack.getProperty("prime_tower_brim_enable", "value") + prime_tower_base_size = self._global_container_stack.getProperty("prime_tower_base_size", "value") + prime_tower_base_height = self._global_container_stack.getProperty("prime_tower_base_height", "value") + adhesion_type = self._global_container_stack.getProperty("adhesion_type", "value") + if not self._global_container_stack.getProperty("machine_center_is_zero", "value"): prime_tower_x = prime_tower_x - machine_width / 2 #Offset by half machine_width and _depth to put the origin in the front-left. prime_tower_y = prime_tower_y + machine_depth / 2 radius = prime_tower_size / 2 - prime_tower_area = Polygon.approximatedCircle(radius, num_segments = 24) - prime_tower_area = prime_tower_area.translate(prime_tower_x - radius, prime_tower_y - radius) + delta_x = -radius + delta_y = -radius + + if prime_tower_base_size > 0 and ((prime_tower_brim_enable and prime_tower_base_height > 0) or adhesion_type == "raft"): + radius += prime_tower_base_size + + prime_tower_area = Polygon.approximatedCircle(radius, num_segments = 32) + prime_tower_area = prime_tower_area.translate(prime_tower_x + delta_x, prime_tower_y + delta_y) prime_tower_area = prime_tower_area.getMinkowskiHull(Polygon.approximatedCircle(0)) for extruder in used_extruders: @@ -1171,7 +1182,7 @@ class BuildVolume(SceneNode): _raft_settings = ["adhesion_type", "raft_base_thickness", "raft_interface_layers", "raft_interface_thickness", "raft_surface_layers", "raft_surface_thickness", "raft_airgap", "layer_0_z_overlap"] _extra_z_settings = ["retraction_hop_enabled", "retraction_hop"] _prime_settings = ["extruder_prime_pos_x", "extruder_prime_pos_y", "prime_blob_enable"] - _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable"] + _tower_settings = ["prime_tower_enable", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y", "prime_tower_brim_enable", "prime_tower_base_size", "prime_tower_base_height"] _ooze_shield_settings = ["ooze_shield_enabled", "ooze_shield_dist"] _distance_settings = ["infill_wipe_dist", "travel_avoid_distance", "support_offset", "support_enable", "travel_avoid_other_parts", "travel_avoid_supports", "wall_line_count", "wall_line_width_0", "wall_line_width_x"] _extruder_settings = ["support_enable", "support_bottom_enable", "support_roof_enable", "support_infill_extruder_nr", "support_extruder_nr_layer_0", "support_bottom_extruder_nr", "support_roof_extruder_nr", "brim_line_count", "skirt_brim_extruder_nr", "raft_base_extruder_nr", "raft_interface_extruder_nr", "raft_surface_extruder_nr", "adhesion_type"] #Settings that can affect which extruders are used. diff --git a/resources/definitions/Mark2_for_Ultimaker2.def.json b/resources/definitions/Mark2_for_Ultimaker2.def.json index 305a9b18da..5eda5ca6f2 100644 --- a/resources/definitions/Mark2_for_Ultimaker2.def.json +++ b/resources/definitions/Mark2_for_Ultimaker2.def.json @@ -137,8 +137,6 @@ "machine_start_gcode": { "value": "\"\" if machine_gcode_flavor == \"UltiGCode\" else \"G21 ;metric values\\nG90 ;absolute positioning\\nM82 ;set extruder to absolute mode\\nM107 ;start with the fan off\\nM200 D0 T0 ;reset filament diameter\\nM200 D0 T1\\nG28 Z0; home all\\nG28 X0 Y0\\nG0 Z20 F2400 ;move the platform to 20mm\\nG92 E0\\nM190 S{material_bed_temperature_layer_0}\\nM109 T0 S{material_standby_temperature, 0}\\nM109 T1 S{material_print_temperature_layer_0, 1}\\nM104 T0 S{material_print_temperature_layer_0, 0}\\nT1 ; move to the 2th head\\nG0 Z20 F2400\\nG92 E-7.0 ;prime distance\\nG1 E0 F45 ;purge nozzle\\nG1 E-5.1 F1500 ; retract\\nG1 X90 Z0.01 F5000 ; move away from the prime poop\\nG1 X50 F9000\\nG0 Z20 F2400\\nT0 ; move to the first head\\nM104 T1 S{material_standby_temperature, 1}\\nG0 Z20 F2400\\nM104 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\\nG92 E-7.0\\nG1 E0 F45 ;purge nozzle\\nG1 X60 Z0.01 F5000 ; move away from the prime poop\\nG1 X20 F9000\\nM400 ;finish all moves\\nG92 E0\\n;end of startup sequence\\n\"" }, "machine_use_extruder_offset_to_offset_coords": { "default_value": false }, "machine_width": { "default_value": 223 }, - "prime_tower_position_x": { "value": "185" }, - "prime_tower_position_y": { "value": "160" }, "retraction_amount": { "default_value": 5.1 }, "retraction_speed": { "default_value": 25 }, "speed_support": { "value": "speed_wall_0" }, diff --git a/resources/definitions/SV02.def.json b/resources/definitions/SV02.def.json index 728a6c6242..45b2572242 100644 --- a/resources/definitions/SV02.def.json +++ b/resources/definitions/SV02.def.json @@ -60,8 +60,6 @@ "material_diameter": { "default_value": 1.75 }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "prime_tower_min_volume": { "value": "((resolveOrValue('layer_height'))/2" }, - "prime_tower_position_x": { "value": "240" }, - "prime_tower_position_y": { "value": "190" }, "prime_tower_size": { "value": "30" }, "prime_tower_wipe_enabled": { "default_value": true }, "retraction_amount": { "default_value": 5 }, diff --git a/resources/definitions/atmat_signal_pro_base.def.json b/resources/definitions/atmat_signal_pro_base.def.json index 7d14fa6576..f19dc8920d 100644 --- a/resources/definitions/atmat_signal_pro_base.def.json +++ b/resources/definitions/atmat_signal_pro_base.def.json @@ -111,8 +111,6 @@ "minimum_polygon_circumference": { "value": "0.2" }, "optimize_wall_printing_order": { "value": "True" }, "prime_tower_enable": { "value": "True" }, - "prime_tower_position_x": { "value": "270" }, - "prime_tower_position_y": { "value": "270" }, "retraction_amount": { "value": "1" }, "retraction_combing": { "value": "'noskin'" }, "retraction_combing_max_distance": { "value": "10" }, diff --git a/resources/definitions/bibo2_dual.def.json b/resources/definitions/bibo2_dual.def.json index 344fdbf3b9..c8da4897ea 100644 --- a/resources/definitions/bibo2_dual.def.json +++ b/resources/definitions/bibo2_dual.def.json @@ -41,8 +41,6 @@ "machine_start_gcode": { "default_value": "M104 T0 165\nM104 T1 165\nM109 T{initial_extruder_nr} S{material_print_temperature_layer_0, initial_extruder_nr}\nG21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z2.0 F400 ;move the platform down 2mm\nT0\nG92 E0\nG28\nG1 Y0 F1200 E0\nG92 E0\nT{initial_extruder_nr}\nM117 BIBO Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 214 }, - "prime_tower_position_x": { "value": "50" }, - "prime_tower_position_y": { "value": "50" }, "speed_print": { "default_value": 40 } } } \ No newline at end of file diff --git a/resources/definitions/builder_premium_large.def.json b/resources/definitions/builder_premium_large.def.json index 1ba55471d3..f3bfa59272 100644 --- a/resources/definitions/builder_premium_large.def.json +++ b/resources/definitions/builder_premium_large.def.json @@ -81,8 +81,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "prime_blob_enable": { "enabled": true }, "prime_tower_min_volume": { "default_value": 50 }, - "prime_tower_position_x": { "value": "175" }, - "prime_tower_position_y": { "value": "178" }, "prime_tower_wipe_enabled": { "default_value": false }, "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, diff --git a/resources/definitions/builder_premium_medium.def.json b/resources/definitions/builder_premium_medium.def.json index b8a3d8578d..1d68596020 100644 --- a/resources/definitions/builder_premium_medium.def.json +++ b/resources/definitions/builder_premium_medium.def.json @@ -81,8 +81,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "prime_blob_enable": { "enabled": true }, "prime_tower_min_volume": { "default_value": 50 }, - "prime_tower_position_x": { "value": "175" }, - "prime_tower_position_y": { "value": "178" }, "prime_tower_wipe_enabled": { "default_value": false }, "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, diff --git a/resources/definitions/builder_premium_small.def.json b/resources/definitions/builder_premium_small.def.json index ab773a45d2..b59b7fadcf 100644 --- a/resources/definitions/builder_premium_small.def.json +++ b/resources/definitions/builder_premium_small.def.json @@ -80,8 +80,6 @@ "material_standby_temperature": { "value": "material_print_temperature" }, "prime_blob_enable": { "enabled": true }, "prime_tower_min_volume": { "default_value": 50 }, - "prime_tower_position_x": { "value": "175" }, - "prime_tower_position_y": { "value": "178" }, "prime_tower_wipe_enabled": { "default_value": false }, "retraction_amount": { "default_value": 3 }, "retraction_speed": { "default_value": 15 }, diff --git a/resources/definitions/cartesio.def.json b/resources/definitions/cartesio.def.json index db725f91ed..eadef63857 100644 --- a/resources/definitions/cartesio.def.json +++ b/resources/definitions/cartesio.def.json @@ -66,8 +66,6 @@ "optimize_wall_printing_order": { "default_value": true }, "prime_blob_enable": { "default_value": false }, "prime_tower_min_volume": { "value": "0.7" }, - "prime_tower_position_x": { "value": "125" }, - "prime_tower_position_y": { "value": "70" }, "prime_tower_size": { "value": 24.0 }, "retraction_extra_prime_amount": { "minimum_value_warning": "-2.0" } } diff --git a/resources/definitions/deltacomb_base.def.json b/resources/definitions/deltacomb_base.def.json index a4634bfcf1..7ffd317830 100644 --- a/resources/definitions/deltacomb_base.def.json +++ b/resources/definitions/deltacomb_base.def.json @@ -55,8 +55,6 @@ "machine_shape": { "default_value": "elliptic" }, "machine_start_gcode": { "default_value": ";---------------------------------------\n;Deltacomb start script\n;---------------------------------------\nG21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nG28 ;Home all axes (max endstops)\nM420 S1; Bed Level Enable\nG92 E0 ;zero the extruded length\nG1 Z15.0 F9000 ;move to the platform down 15mm\nG1 F9000\n\n;Put printing message on LCD screen\nM117 In stampa...\nM140 S{print_bed_temperature} ;set the target bed temperature\n;---------------------------------------" }, "prime_tower_brim_enable": { "value": false }, - "prime_tower_position_x": { "value": "prime_tower_size / 2" }, - "prime_tower_position_y": { "value": "machine_depth / 2 - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - 1" }, "prime_tower_size": { "value": "math.sqrt(extruders_enabled_count * prime_tower_min_volume / layer_height / math.pi) * 2" }, "retraction_amount": { "default_value": 3.5 }, "retraction_combing": { "value": "'noskin'" }, diff --git a/resources/definitions/dxu.def.json b/resources/definitions/dxu.def.json index 8513dd5f8e..bb61db1686 100644 --- a/resources/definitions/dxu.def.json +++ b/resources/definitions/dxu.def.json @@ -131,8 +131,6 @@ "machine_width": { "default_value": 238 }, "material_adhesion_tendency": { "enabled": true }, "material_diameter": { "default_value": 1.75 }, - "prime_tower_position_x": { "value": "180" }, - "prime_tower_position_y": { "value": "160" }, "retraction_amount": { "default_value": 6.5 }, "retraction_speed": { "default_value": 25 }, "speed_support": { "value": "speed_wall_0" }, diff --git a/resources/definitions/elegoo_base.def.json b/resources/definitions/elegoo_base.def.json index c54a388806..fede962748 100644 --- a/resources/definitions/elegoo_base.def.json +++ b/resources/definitions/elegoo_base.def.json @@ -71,7 +71,7 @@ "minimum_interface_area": { "default_value": 10 }, "minimum_support_area": { "value": "3 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "default_value": true }, - "prime_tower_brim_enable": { "default_value": true }, + "prime_tower_brim_enable": { "value": true }, "prime_tower_min_volume": { "value": "(layer_height) * (prime_tower_size / 2)**2 * 3 * 0.5 " }, "prime_tower_size": { "default_value": 30 }, "prime_tower_wipe_enabled": { "default_value": false }, diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a74abaa8ce..b6e6a027e9 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -886,7 +886,7 @@ "default_value": 0.4, "type": "float", "value": "line_width", - "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable') or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')", + "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('draft_shield_enabled') or resolveOrValue('ooze_shield_enabled')", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -5895,7 +5895,7 @@ "type": "optional_extruder", "default_value": "-1", "value": "int(defaultExtruderPosition()) if resolveOrValue('adhesion_type') == 'raft' else -1", - "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))", + "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none')", "resolve": "max(extruderValues('adhesion_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false, @@ -5908,7 +5908,7 @@ "type": "optional_extruder", "default_value": "-1", "value": "adhesion_extruder_nr", - "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') in ['skirt', 'brim'] or resolveOrValue('prime_tower_brim_enable'))", + "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') in ['skirt', 'brim'])", "resolve": "max(extruderValues('skirt_brim_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false @@ -6005,7 +6005,7 @@ "minimum_value": "0", "minimum_value_warning": "25", "maximum_value_warning": "2500", - "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')", + "enabled": "resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim'", "limit_to_extruder": "skirt_brim_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -6019,7 +6019,7 @@ "default_value": 8.0, "minimum_value": "0.0", "maximum_value_warning": "50.0", - "enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')", + "enabled": "resolveOrValue('adhesion_type') == 'brim'", "limit_to_extruder": "skirt_brim_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true, @@ -6034,7 +6034,7 @@ "minimum_value": "0", "maximum_value_warning": "50 / skirt_brim_line_width", "value": "math.ceil(brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))", - "enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')", + "enabled": "resolveOrValue('adhesion_type') == 'brim'", "limit_to_extruder": "skirt_brim_extruder_nr", "settable_per_mesh": false, "settable_per_extruder": true @@ -6641,9 +6641,9 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "value": "machine_width - max(extruderValue(skirt_brim_extruder_nr, 'brim_width') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_x'))) - 1", - "maximum_value": "machine_width / 2 if machine_center_is_zero else machine_width", - "minimum_value": "resolveOrValue('prime_tower_size') - machine_width / 2 if machine_center_is_zero else resolveOrValue('prime_tower_size')", + "value": "(resolveOrValue('machine_width') / 2 + resolveOrValue('prime_tower_size') / 2) if resolveOrValue('machine_shape') == 'elliptic' else (resolveOrValue('machine_width') - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_x'))), 1)) - (resolveOrValue('machine_width') / 2 if resolveOrValue('machine_center_is_zero') else 0)", + "maximum_value": "(machine_width / 2 if machine_center_is_zero else machine_width) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", + "minimum_value": "resolveOrValue('prime_tower_size') + (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - (machine_width / 2 if machine_center_is_zero else 0)", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -6655,9 +6655,9 @@ "unit": "mm", "enabled": "resolveOrValue('prime_tower_enable')", "default_value": 200, - "value": "machine_depth - prime_tower_size - max(extruderValue(skirt_brim_extruder_nr, 'brim_width') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_y'))) - 3", - "maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')", - "minimum_value": "machine_depth / -2 if machine_center_is_zero else 0", + "value": "machine_depth - prime_tower_size - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0) - max(max(extruderValues('travel_avoid_distance')) + max(extruderValues('support_offset')) + (extruderValue(skirt_brim_extruder_nr, 'skirt_brim_line_width') * extruderValue(skirt_brim_extruder_nr, 'skirt_line_count') * extruderValue(skirt_brim_extruder_nr, 'initial_layer_line_width_factor') / 100 + extruderValue(skirt_brim_extruder_nr, 'skirt_gap') if resolveOrValue('adhesion_type') == 'skirt' else 0) + (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0), max(map(abs, extruderValues('machine_nozzle_offset_y'))), 1) - (resolveOrValue('machine_depth') / 2 if resolveOrValue('machine_center_is_zero') else 0)", + "maximum_value": "(machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')) - (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", + "minimum_value": "(machine_depth / -2 if machine_center_is_zero else 0) + (resolveOrValue('prime_tower_base_size') if (resolveOrValue('adhesion_type') == 'raft' or resolveOrValue('prime_tower_brim_enable')) else 0)", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -6673,15 +6673,55 @@ }, "prime_tower_brim_enable": { - "label": "Prime Tower Brim", - "description": "Prime-towers might need the extra adhesion afforded by a brim even if the model doesn't. Presently can't be used with the 'Raft' adhesion-type.", + "value": "resolveOrValue('adhesion_type') in ['raft', 'brim']", + "label": "Prime Tower Base", + "description": "Prime-towers might need the extra adhesion afforded by a brim or raft, even if the model doesn't.", "type": "bool", - "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('adhesion_type') != 'raft')", - "resolve": "resolveOrValue('prime_tower_enable') and (resolveOrValue('adhesion_type') in ('none', 'skirt', 'brim'))", + "enabled": "resolveOrValue('prime_tower_enable') and resolveOrValue('adhesion_type') != 'raft'", "default_value": false, "settable_per_mesh": false, "settable_per_extruder": false }, + "prime_tower_base_size": + { + "value": "resolveOrValue('raft_margin') if resolveOrValue('adhesion_type') == 'raft' else resolveOrValue('brim_width')", + "label": "Prime Tower Base Size", + "description": "The width of the prime tower base.", + "type": "float", + "unit": "mm", + "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "default_value": "resolveOrValue('brim_width')", + "minimum_value": "0", + "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "prime_tower_base_height": + { + "value": "resolveOrValue('layer_height')", + "label": "Prime Tower Base Height", + "description": "The height of the prime tower base.", + "type": "float", + "unit": "mm", + "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "default_value": 0, + "minimum_value": "0", + "maximum_value": "machine_height", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "prime_tower_base_curve_magnitude": + { + "label": "Prime Tower Base Curve Magnitude", + "description": "The magnitude factor used for the curve of the prime tower foot.", + "type": "float", + "enabled": "resolveOrValue('prime_tower_enable') and (resolveOrValue('prime_tower_brim_enable') or resolveOrValue('adhesion_type') == 'raft')", + "default_value": 4, + "minimum_value": "0", + "maximum_value": "10", + "settable_per_mesh": false, + "settable_per_extruder": false + }, "ooze_shield_enabled": { "label": "Enable Ooze Shield", diff --git a/resources/definitions/felixpro2dual.def.json b/resources/definitions/felixpro2dual.def.json index fd621f6073..316891224e 100644 --- a/resources/definitions/felixpro2dual.def.json +++ b/resources/definitions/felixpro2dual.def.json @@ -56,8 +56,6 @@ "default_value": 110, "value": "material_flow * 1.1" }, - "prime_tower_position_x": { "value": "250" }, - "prime_tower_position_y": { "value": "200" }, "retraction_amount": { "default_value": 1 }, "retraction_speed": { "default_value": 50 }, "skirt_brim_minimal_length": { "default_value": 130 }, diff --git a/resources/definitions/geeetech_A30M.def.json b/resources/definitions/geeetech_A30M.def.json index 8b6e6a703b..864ad27086 100644 --- a/resources/definitions/geeetech_A30M.def.json +++ b/resources/definitions/geeetech_A30M.def.json @@ -30,8 +30,6 @@ "machine_height": { "default_value": 420 }, "machine_name": { "default_value": "Geeetech A30M" }, "machine_start_gcode": { "default_value": ";Geeetech A30M Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Bed Temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Hotend Temperature\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nM107 P0 ;Off Main Fan\nM107 P1 ;Off Aux Fan\nM2012 P8 S1 F100 ; ON Light\n;M106 P0 S383 ; ON MainFan 150% if need\n;M106 P1 S255 ; ON Aux Fan 100% if need\nG1 Z5.0 F3000 ;Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.8 F5000 ; Move to start position\nG1 X0.1 Y200.0 Z1.2 F1500 E30 ; Draw the first line\nG92 E0 ; Reset Extruder\nG1 X0.4 Y200.0 Z1.2 F3000 ; Move to side a little\nG1 X0.4 Y20 Z1.2 F1500 E25 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.4 F3000.0 ; Scrape off nozzle residue" }, - "machine_width": { "default_value": 320 }, - "prime_tower_position_x": { "value": 290 }, - "prime_tower_position_y": { "value": 260 } + "machine_width": { "default_value": 320 } } } \ No newline at end of file diff --git a/resources/definitions/geeetech_A30T.def.json b/resources/definitions/geeetech_A30T.def.json index 610ee35fa4..283902ae85 100644 --- a/resources/definitions/geeetech_A30T.def.json +++ b/resources/definitions/geeetech_A30T.def.json @@ -31,8 +31,6 @@ "machine_height": { "default_value": 420 }, "machine_name": { "default_value": "Geeetech A30T" }, "machine_start_gcode": { "default_value": ";Geeetech A30T Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Bed Temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Hotend Temperature\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nM107 P0 ;Off Main Fan\nM107 P1 ;Off Aux Fan\nM2012 P8 S1 F100 ; ON Light\n;M106 P0 S383 ; ON MainFan 150% if need\n;M106 P1 S255 ; ON Aux Fan 100% if need\nG1 Z5.0 F3000 ;Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.8 F5000 ; Move to start position\nG1 X0.1 Y200.0 Z1.2 F1500 E30 ; Draw the first line\nG92 E0 ; Reset Extruder\nG1 X0.4 Y200.0 Z1.2 F3000 ; Move to side a little\nG1 X0.4 Y20 Z1.2 F1500 E25 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.4 F3000.0 ; Scrape off nozzle residue" }, - "machine_width": { "default_value": 320 }, - "prime_tower_position_x": { "value": 290 }, - "prime_tower_position_y": { "value": 260 } + "machine_width": { "default_value": 320 } } } \ No newline at end of file diff --git a/resources/definitions/geeetech_I3ProC.def.json b/resources/definitions/geeetech_I3ProC.def.json index f05185e5ba..eabb4bd61c 100644 --- a/resources/definitions/geeetech_I3ProC.def.json +++ b/resources/definitions/geeetech_I3ProC.def.json @@ -31,8 +31,6 @@ "machine_name": { "default_value": "Geeetech I3ProC" }, "machine_start_gcode": { "default_value": ";Geeetech I3ProC Custom Start G-code\nM104 S{material_print_temperature_layer_0} ; Set Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Bed Temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Hotend Temperature\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nM107 P0 ;Off Main Fan\nM107 P1 ;Off Aux Fan\nM2012 P8 S1 F100 ; ON Light\n;M106 P0 S383 ; ON MainFan 150% if need\n;M106 P1 S255 ; ON Aux Fan 100% if need\nG1 Z5.0 F3000 ;Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y10 Z0.8 F5000 ; Move to start position\nG1 X0.1 Y180.0 Z1.2 F1500 E30 ; Draw the first line\nG92 E0 ; Reset Extruder\nG1 X0.4 Y180.0 Z1.2 F3000 ; Move to side a little\nG1 X0.4 Y10 Z1.2 F1500 E25 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.4 F3000.0 ; Scrape off nozzle residue" }, "machine_width": { "default_value": 200 }, - "prime_tower_position_x": { "value": 170 }, - "prime_tower_position_y": { "value": 140 }, "retraction_amount": { "value": 2 } } } \ No newline at end of file diff --git a/resources/definitions/geeetech_MizarM.def.json b/resources/definitions/geeetech_MizarM.def.json index d4182ebb62..b681dda657 100644 --- a/resources/definitions/geeetech_MizarM.def.json +++ b/resources/definitions/geeetech_MizarM.def.json @@ -31,8 +31,6 @@ "machine_name": { "default_value": "Geeetech MizarM" }, "machine_start_gcode": { "default_value": ";Official open-source firmware for MizarM: https://github.com/Geeetech3D/Mizar-M \n\nM104 S{material_print_temperature_layer_0} ; Set Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ; Wait for Bed Temperature\nM109 S{material_print_temperature_layer_0} ; Wait for Hotend Temperature\nG92 E0 ; Reset Extruder\nG28 ; Home all axes\nM107 P0 ;Off Main Fan\nM107 P1 ;Off Aux Fan\nM2012 P8 S1 F100 ; ON Light\n;M106 P0 S383 ; ON MainFan 150% if need\n;M106 P1 S255 ; ON Aux Fan 100% if need\nG1 Z5.0 F3000 ;Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z0.8 F5000 ; Move to start position\nG1 X0.1 Y200.0 Z1.2 F1500 E30 ; Draw the first line\nG92 E0 ; Reset Extruder\nG1 X0.4 Y200.0 Z1.2 F3000 ; Move to side a little\nG1 X0.4 Y20 Z1.2 F1500 E25 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.4 F3000.0 ; Scrape off nozzle residue" }, "machine_width": { "default_value": 255 }, - "material_standby_temperature": { "value": 200 }, - "prime_tower_position_x": { "value": 225 }, - "prime_tower_position_y": { "value": 195 } + "material_standby_temperature": { "value": 200 } } } \ No newline at end of file diff --git a/resources/definitions/hms434.def.json b/resources/definitions/hms434.def.json index 5250df5d73..0972dcdb34 100644 --- a/resources/definitions/hms434.def.json +++ b/resources/definitions/hms434.def.json @@ -137,8 +137,6 @@ "minimum_polygon_circumference": { "value": 0.05 }, "optimize_wall_printing_order": { "default_value": true }, "prime_blob_enable": { "default_value": false }, - "prime_tower_position_x": { "value": 125 }, - "prime_tower_position_y": { "value": 70 }, "prime_tower_size": { "value": 20.6 }, "retract_at_layer_change": { "value": false }, "retraction_combing": { "value": "'off'" }, diff --git a/resources/definitions/leapfrog_bolt_pro.def.json b/resources/definitions/leapfrog_bolt_pro.def.json index c880eef16c..e4a13217e5 100644 --- a/resources/definitions/leapfrog_bolt_pro.def.json +++ b/resources/definitions/leapfrog_bolt_pro.def.json @@ -81,8 +81,6 @@ "material_initial_print_temperature": { "value": "default_material_print_temperature" }, "material_standby_temperature": { "enabled": false }, "prime_tower_enable": { "resolve": "extruders_enabled_count > 1" }, - "prime_tower_position_x": { "value": "169" }, - "prime_tower_position_y": { "value": "25" }, "retraction_amount": { "default_value": 2 }, "retraction_combing": { "value": "'all'" }, "skirt_line_count": { "default_value": 3 }, diff --git a/resources/definitions/lnl3d_base.def.json b/resources/definitions/lnl3d_base.def.json index 7130bff845..317121a214 100644 --- a/resources/definitions/lnl3d_base.def.json +++ b/resources/definitions/lnl3d_base.def.json @@ -67,7 +67,7 @@ "minimum_interface_area": { "value": 10 }, "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, - "prime_tower_brim_enable": { "default_value": true }, + "prime_tower_brim_enable": { "value": true }, "prime_tower_wipe_enabled": { "default_value": false }, "raft_airgap": { "default_value": 0.2 }, "raft_margin": { "default_value": 2 }, diff --git a/resources/definitions/lnl3d_d3.def.json b/resources/definitions/lnl3d_d3.def.json index 52e8042306..a678be9b1b 100755 --- a/resources/definitions/lnl3d_d3.def.json +++ b/resources/definitions/lnl3d_d3.def.json @@ -17,8 +17,6 @@ "machine_depth": { "default_value": 300 }, "machine_height": { "default_value": 350 }, "machine_name": { "default_value": "LNL3D D3" }, - "machine_width": { "default_value": 300 }, - "prime_tower_position_x": { "value": "155" }, - "prime_tower_position_y": { "value": "155" } + "machine_width": { "default_value": 300 } } } \ No newline at end of file diff --git a/resources/definitions/lnl3d_d3_vulcan.def.json b/resources/definitions/lnl3d_d3_vulcan.def.json index f81cae81c5..05ea23d7ab 100755 --- a/resources/definitions/lnl3d_d3_vulcan.def.json +++ b/resources/definitions/lnl3d_d3_vulcan.def.json @@ -17,8 +17,6 @@ "machine_depth": { "default_value": 300 }, "machine_height": { "default_value": 320 }, "machine_name": { "default_value": "LNL3D D3 Vulcan" }, - "machine_width": { "default_value": 295 }, - "prime_tower_position_x": { "value": "155" }, - "prime_tower_position_y": { "value": "155" } + "machine_width": { "default_value": 295 } } } \ No newline at end of file diff --git a/resources/definitions/lnl3d_d5.def.json b/resources/definitions/lnl3d_d5.def.json index 535341166f..7b7b6d9755 100755 --- a/resources/definitions/lnl3d_d5.def.json +++ b/resources/definitions/lnl3d_d5.def.json @@ -17,8 +17,6 @@ "machine_depth": { "default_value": 500 }, "machine_height": { "default_value": 600 }, "machine_name": { "default_value": "LNL3D D5" }, - "machine_width": { "default_value": 500 }, - "prime_tower_position_x": { "value": "155" }, - "prime_tower_position_y": { "value": "155" } + "machine_width": { "default_value": 500 } } } \ No newline at end of file diff --git a/resources/definitions/lnl3d_d6.def.json b/resources/definitions/lnl3d_d6.def.json index b6f99a13ae..4575dc8fdc 100644 --- a/resources/definitions/lnl3d_d6.def.json +++ b/resources/definitions/lnl3d_d6.def.json @@ -17,8 +17,6 @@ "machine_depth": { "default_value": 600 }, "machine_height": { "default_value": 600 }, "machine_name": { "default_value": "LNL3D D6" }, - "machine_width": { "default_value": 600 }, - "prime_tower_position_x": { "value": "155" }, - "prime_tower_position_y": { "value": "155" } + "machine_width": { "default_value": 600 } } } \ No newline at end of file diff --git a/resources/definitions/lotmaxx_sc60.def.json b/resources/definitions/lotmaxx_sc60.def.json index 25dc7f5ae8..f4ce358be1 100644 --- a/resources/definitions/lotmaxx_sc60.def.json +++ b/resources/definitions/lotmaxx_sc60.def.json @@ -46,8 +46,6 @@ "optimize_wall_printing_order": { "value": true }, "prime_tower_enable": { "value": true }, "prime_tower_min_volume": { "value": 30 }, - "prime_tower_position_x": { "value": 50 }, - "prime_tower_position_y": { "value": 50 }, "retract_at_layer_change": { "value": false }, "retraction_amount": { "value": 4.5 }, "roofing_layer_count": { "value": 1 }, diff --git a/resources/definitions/makeit_pro_l.def.json b/resources/definitions/makeit_pro_l.def.json index dfba300698..38087c9b6b 100644 --- a/resources/definitions/makeit_pro_l.def.json +++ b/resources/definitions/makeit_pro_l.def.json @@ -43,8 +43,6 @@ "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG28 ;home\nG1 F200 E30 ;extrude 30 mm of feed stock\nG92 E0 ;zero the extruded length\nG1 E-5 ;retract 5 mm\nG28 SC ;Do homeing, clean nozzles and let printer to know that printing started\nG92 X-6 ;Sets Curas checker board to match printers heated bed coordinates\nG1 F{speed_travel}\nM117 Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 305 }, - "prime_tower_position_x": { "value": "185" }, - "prime_tower_position_y": { "value": "160" }, "print_sequence": { "enabled": true }, "retraction_amount": { "default_value": 6 }, "retraction_speed": { "default_value": 180 }, diff --git a/resources/definitions/makeit_pro_m.def.json b/resources/definitions/makeit_pro_m.def.json index 7b42c3acaf..218d1b553c 100644 --- a/resources/definitions/makeit_pro_m.def.json +++ b/resources/definitions/makeit_pro_m.def.json @@ -42,8 +42,6 @@ "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG28 ;home\nG1 F200 E30 ;extrude 30 mm of feed stock\nG92 E0 ;zero the extruded length\nG1 E-5 ;retract 5 mm\nG28 SC ;Do homeing, clean nozzles and let printer to know that printing started\nG92 X-6 ;Sets Curas checker board to match printers heated bed coordinates\nG1 F{speed_travel}\nM117 Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 200 }, - "prime_tower_position_x": { "value": "185" }, - "prime_tower_position_y": { "value": "160" }, "print_sequence": { "enabled": false }, "retraction_amount": { "default_value": 6 }, "retraction_speed": { "default_value": 180 }, diff --git a/resources/definitions/makeit_pro_mx.def.json b/resources/definitions/makeit_pro_mx.def.json index f7728af7f6..6d9c970010 100644 --- a/resources/definitions/makeit_pro_mx.def.json +++ b/resources/definitions/makeit_pro_mx.def.json @@ -42,8 +42,6 @@ "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG28 ;home\nG1 F200 E30 ;extrude 30 mm of feed stock\nG92 E0 ;zero the extruded length\nG1 E-5 ;retract 5 mm\nG28 SC ;Do homeing, clean nozzles and let printer to know that printing started\nG92 X-6 ;Sets Curas checker board to match printers heated bed coordinates\nG1 F{speed_travel}\nM117 Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 200 }, - "prime_tower_position_x": { "value": "185" }, - "prime_tower_position_y": { "value": "160" }, "print_sequence": { "enabled": false }, "retraction_amount": { "default_value": 6 }, "retraction_speed": { "default_value": 180 }, diff --git a/resources/definitions/raise3D_N2_dual.def.json b/resources/definitions/raise3D_N2_dual.def.json index 690a9730b4..f7982165bf 100644 --- a/resources/definitions/raise3D_N2_dual.def.json +++ b/resources/definitions/raise3D_N2_dual.def.json @@ -42,8 +42,6 @@ "machine_start_gcode": { "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\nT1; left tool\n; set extruder steps per mm\nM92 E140\nT0; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\nT1; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing...\nM1001\n" }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 305 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" }, "retraction_amount": { "default_value": 1.0 } } } \ No newline at end of file diff --git a/resources/definitions/raise3D_N2_plus_dual.def.json b/resources/definitions/raise3D_N2_plus_dual.def.json index 6699696015..0652fb66b5 100644 --- a/resources/definitions/raise3D_N2_plus_dual.def.json +++ b/resources/definitions/raise3D_N2_plus_dual.def.json @@ -42,8 +42,6 @@ "machine_start_gcode": { "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\nT1; left tool\n; set extruder steps per mm\nM92 E140\nT0; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\nT1; left tool\nG92 E0 E1\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing...\nM1001\n" }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 305 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" }, "retraction_amount": { "default_value": 1.0 } } } \ No newline at end of file diff --git a/resources/definitions/raise3D_N2_plus_single.def.json b/resources/definitions/raise3D_N2_plus_single.def.json index 5508af2188..bafdd8a5bb 100644 --- a/resources/definitions/raise3D_N2_plus_single.def.json +++ b/resources/definitions/raise3D_N2_plus_single.def.json @@ -37,8 +37,6 @@ "machine_start_gcode": { "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing...\nM1001\n" }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 305 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" }, "retraction_amount": { "default_value": 1.0 } } } \ No newline at end of file diff --git a/resources/definitions/raise3D_N2_single.def.json b/resources/definitions/raise3D_N2_single.def.json index e5a9af0a0e..65a28aac4c 100644 --- a/resources/definitions/raise3D_N2_single.def.json +++ b/resources/definitions/raise3D_N2_single.def.json @@ -37,8 +37,6 @@ "machine_start_gcode": { "default_value": "G90\nG21\n; home all axes\nG28\nG92 X0 Y0 Z0\n; move heatbed into position\nG1 X20.0 Y20.0 Z1.0 F1000\n; zero extruders\nG92 E0 E1\nT0; right tool\n; set extruder steps per mm\nM92 E140\n; purge nozzle\nG1 E25 F250\n; zero extruders\nG92 E0 E1\n; move heatbed down a little more\nG1 Z5.0 F20\n; wait 600ms\nG4 600\n; move to tack down the strands\nG1 X20.0 Y30.0 Z0 F9000\n; wait 600ms\nG4 600\n;move up a bit\nG1 Z5.0 F9000\n; wait 300ms\nG4 300\n;fast move to center\nG1 X152.5 Y152.5 F9000\nT0\n;Raise3D Job Start\nM117 Printing...\nM1001\n" }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, "machine_width": { "default_value": 305 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" }, "retraction_amount": { "default_value": 1.0 } } } \ No newline at end of file diff --git a/resources/definitions/skriware_2.def.json b/resources/definitions/skriware_2.def.json index 642b766e0e..b022f27cf7 100644 --- a/resources/definitions/skriware_2.def.json +++ b/resources/definitions/skriware_2.def.json @@ -143,8 +143,6 @@ "optimize_wall_printing_order": { "default_value": true }, "prime_tower_flow": { "value": "99" }, "prime_tower_min_volume": { "default_value": 4 }, - "prime_tower_position_x": { "value": "1" }, - "prime_tower_position_y": { "value": "1" }, "prime_tower_size": { "default_value": 1 }, "raft_acceleration": { "value": "400" }, "raft_airgap": { "default_value": 0.2 }, diff --git a/resources/definitions/stereotech_ste320.def.json b/resources/definitions/stereotech_ste320.def.json index 2674841411..cb3adabca6 100644 --- a/resources/definitions/stereotech_ste320.def.json +++ b/resources/definitions/stereotech_ste320.def.json @@ -45,8 +45,6 @@ "machine_name": { "default_value": "Stereotech STE320" }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;homing\nG1 Z15.0 F9000 ;move the platform down 15mm\nT1 ;Switch to the 2nd extruder\nG92 E0 ;zero the extruded length\nG1 F200 E6 ;extrude 6 mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F200 E-{switch_extruder_retraction_amount}\nT0 ;Switch to the 1st extruder\nG92 E0 ;zero the extruded length\nG1 F200 E6 ;extrude 6 mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, - "machine_width": { "default_value": 218 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" } + "machine_width": { "default_value": 218 } } } \ No newline at end of file diff --git a/resources/definitions/strateo3d.def.json b/resources/definitions/strateo3d.def.json index 564ae78254..f21a13ca86 100644 --- a/resources/definitions/strateo3d.def.json +++ b/resources/definitions/strateo3d.def.json @@ -226,8 +226,6 @@ "meshfix_maximum_deviation": { "default_value": 0.04 }, "optimize_wall_printing_order": { "value": "True" }, "prime_tower_min_volume": { "default_value": 35 }, - "prime_tower_position_x": { "value": "machine_width/2 + prime_tower_size/2" }, - "prime_tower_position_y": { "value": "machine_depth - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - 1" }, "retraction_amount": { "default_value": 1.5 }, "retraction_combing_max_distance": { "default_value": 5 }, "retraction_count_max": { "default_value": 15 }, diff --git a/resources/definitions/strateo3d_IDEX420.def.json b/resources/definitions/strateo3d_IDEX420.def.json index 3c217dea34..d4236c126e 100644 --- a/resources/definitions/strateo3d_IDEX420.def.json +++ b/resources/definitions/strateo3d_IDEX420.def.json @@ -114,8 +114,6 @@ "material_diameter": { "default_value": 1.75 }, "prime_tower_enable": { "default_value": true }, "prime_tower_min_volume": { "default_value": 35.6 }, - "prime_tower_position_x": { "value": "machine_depth / 2 - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_x'))) - 1" }, - "prime_tower_position_y": { "value": "machine_depth / 2 - prime_tower_size - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' or (prime_tower_brim_enable and adhesion_type != 'raft') else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 - (resolveOrValue('draft_shield_dist') if resolveOrValue('draft_shield_enabled') else 0) - max(map(abs, extruderValues('machine_nozzle_offset_y'))) - 3" }, "raft_acceleration": { "value": "machine_acceleration" }, "raft_base_acceleration": { "value": "machine_acceleration" }, "raft_interface_acceleration": { "value": "machine_acceleration" }, diff --git a/resources/definitions/ultimaker3.def.json b/resources/definitions/ultimaker3.def.json index af8fc07122..058b3dfa7a 100644 --- a/resources/definitions/ultimaker3.def.json +++ b/resources/definitions/ultimaker3.def.json @@ -150,7 +150,6 @@ "value": "resolveOrValue('print_sequence') != 'one_at_a_time'" }, "prime_tower_enable": { "default_value": true }, - "prime_tower_position_x": { "value": "machine_depth - max(extruderValue(adhesion_extruder_nr, 'brim_width') * extruderValue(adhesion_extruder_nr, 'initial_layer_line_width_factor') / 100 if adhesion_type == 'brim' else (extruderValue(adhesion_extruder_nr, 'raft_margin') if adhesion_type == 'raft' else (extruderValue(adhesion_extruder_nr, 'skirt_gap') if adhesion_type == 'skirt' else 0)), max(extruderValues('travel_avoid_distance'))) - max(extruderValues('support_offset')) - sum(extruderValues('skirt_brim_line_width')) - 30" }, "prime_tower_wipe_enabled": { "default_value": false }, "retraction_amount": { "value": "6.5" }, "retraction_hop": { "value": "2" }, diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index ee024dcf0d..a4cd6bfdf0 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -89,8 +89,6 @@ "machine_name": { "default_value": "Ultimaker Original" }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nT1 ;Switch to the 2nd extruder\nG92 E0 ;zero the extruded length\nG1 F200 E6 ;extrude 6 mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F200 E-{switch_extruder_retraction_amount}\nT0 ;Switch to the 1st extruder\nG92 E0 ;zero the extruded length\nG1 F200 E6 ;extrude 6 mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." }, "machine_use_extruder_offset_to_offset_coords": { "default_value": true }, - "machine_width": { "default_value": 205 }, - "prime_tower_position_x": { "value": "195" }, - "prime_tower_position_y": { "value": "149" } + "machine_width": { "default_value": 205 } } } \ No newline at end of file diff --git a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg index 3b5437d0d4..f4da80ded9 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_brass0.4_abs_natural_standard.inst.cfg @@ -40,8 +40,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg index 3a6467bdc2..a052562cd3 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/abs/Leapfrog_Bolt_Pro_nozzlex0.4_abs_natural_standard.inst.cfg @@ -40,8 +40,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg index 1a763f07ec..145cd34ead 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_brass0.4_epla_natural_standard.inst.cfg @@ -38,8 +38,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg index 69698b555b..e6e2cb78a0 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/epla/Leapfrog_Bolt_Pro_nozzlex0.4_epla_natural_standard.inst.cfg @@ -38,8 +38,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg index 404eb48a2e..56587fe883 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_brass0.4_pva_natural_standard.inst.cfg @@ -37,8 +37,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg index c85a86507a..10353f6110 100644 --- a/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg +++ b/resources/quality/Leapfrog_Bolt_Pro/pva/Leapfrog_Bolt_Pro_nozzlex0.4_pva_natural_standard.inst.cfg @@ -37,8 +37,6 @@ optimize_wall_printing_order = True prime_tower_brim_enable = True prime_tower_enable = True prime_tower_min_volume = 6 -prime_tower_position_x = 169 -prime_tower_position_y = 25 prime_tower_size = 20 prime_tower_wipe_enabled = True retract_at_layer_change = False diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg index 62b96f2e85..d9f0a0aaea 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_normal.inst.cfg @@ -31,8 +31,6 @@ ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True prime_tower_enable = False -prime_tower_position_x = 350 -prime_tower_position_y = 350 retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg index 4ce1ac32d9..620622e555 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_thick.inst.cfg @@ -31,8 +31,6 @@ ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True prime_tower_enable = False -prime_tower_position_x = 350 -prime_tower_position_y = 350 retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg index e37ec93ea8..05eeb68305 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_thin.inst.cfg @@ -31,8 +31,6 @@ ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True prime_tower_enable = False -prime_tower_position_x = 350 -prime_tower_position_y = 350 retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg b/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg index dcbfb3d58a..b63ef09a6b 100644 --- a/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg +++ b/resources/quality/gmax15plus/gmax15plus_global_dual_very_thick.inst.cfg @@ -30,8 +30,6 @@ ooze_shield_angle = 20 ooze_shield_dist = 4 ooze_shield_enabled = True prime_tower_enable = False -prime_tower_position_x = 350 -prime_tower_position_y = 350 retraction_amount = 0.75 retraction_combing = off retraction_speed = 70 diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg index 35106e960c..ac5f3e5bee 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Only_Quality.inst.cfg @@ -24,8 +24,6 @@ material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True prime_tower_enable = True prime_tower_flow = 110 -prime_tower_position_x = 127.5 -prime_tower_position_y = =math.ceil(250-prime_tower_size) prime_tower_size = 35 retraction_min_travel = 2 skirt_gap = 2 diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg index 9b6258a1f4..eca85becc6 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Flex_Quality.inst.cfg @@ -21,8 +21,6 @@ material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True prime_tower_enable = True prime_tower_flow = 110 -prime_tower_position_x = 127.5 -prime_tower_position_y = =math.ceil(250-prime_tower_size) prime_tower_size = 35 retraction_hop_enabled = False support_enable = True diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg index 9ad32705aa..8071d7193e 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_High_Quality.inst.cfg @@ -32,8 +32,6 @@ material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True prime_tower_enable = True prime_tower_flow = 110 -prime_tower_position_x = 127.5 -prime_tower_position_y = =math.ceil(250-prime_tower_size) prime_tower_size = 35 retraction_amount = 5 retraction_hop_enabled = False diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg index 5aa5a445fe..8354fba5e0 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_Normal_Quality.inst.cfg @@ -32,8 +32,6 @@ material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True prime_tower_enable = True prime_tower_flow = 110 -prime_tower_position_x = 127.5 -prime_tower_position_y = =math.ceil(250-prime_tower_size) prime_tower_size = 35 retraction_amount = 5 retraction_hop_enabled = False diff --git a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg index 262090dce6..074632abda 100644 --- a/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg +++ b/resources/quality/tizyx/tizyx_evy_dual/tizyx_evy_dual_global_PVA_Quality.inst.cfg @@ -21,8 +21,6 @@ material_print_temperature = =default_material_print_temperature optimize_wall_printing_order = True prime_tower_enable = True prime_tower_flow = 110 -prime_tower_position_x = 127.5 -prime_tower_position_y = =math.ceil(250-prime_tower_size) prime_tower_size = 35 retraction_hop_enabled = False support_enable = True diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index ff502fd80a..d2e5319c87 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -358,6 +358,9 @@ prime_tower_position_x prime_tower_position_y prime_tower_wipe_enabled prime_tower_brim_enable +prime_tower_base_size +prime_tower_base_height +prime_tower_base_curvature ooze_shield_enabled ooze_shield_angle ooze_shield_dist