diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 106eb098c7..b21efc93f3 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -847,17 +847,10 @@ class BuildVolume(SceneNode): prime_tower_x -= brim_size prime_tower_y += brim_size - if self._global_container_stack.getProperty("prime_tower_circular", "value"): - radius = prime_tower_size / 2 - prime_tower_area = Polygon.approximatedCircle(radius) - prime_tower_area = prime_tower_area.translate(prime_tower_x - radius, prime_tower_y - radius) - else: - prime_tower_area = Polygon([ - [prime_tower_x - prime_tower_size, prime_tower_y - prime_tower_size], - [prime_tower_x, prime_tower_y - prime_tower_size], - [prime_tower_x, prime_tower_y], - [prime_tower_x - prime_tower_size, prime_tower_y], - ]) + radius = prime_tower_size / 2 + prime_tower_area = Polygon.approximatedCircle(radius) + prime_tower_area = prime_tower_area.translate(prime_tower_x - radius, prime_tower_y - radius) + prime_tower_area = prime_tower_area.getMinkowskiHull(Polygon.approximatedCircle(0)) for extruder in used_extruders: result[extruder.getId()].append(prime_tower_area) #The prime tower location is the same for each extruder, regardless of offset. @@ -1163,7 +1156,7 @@ class BuildVolume(SceneNode): _raft_settings = ["adhesion_type", "raft_base_thickness", "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", "extruder_prime_pos_z", "prime_blob_enable"] - _tower_settings = ["prime_tower_enable", "prime_tower_circular", "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"] _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"] _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", "adhesion_extruder_nr", "adhesion_type"] #Settings that can affect which extruders are used. diff --git a/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py b/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py index ab6be63426..ca3fd76dc7 100644 --- a/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py +++ b/plugins/VersionUpgrade/VersionUpgrade41to42/VersionUpgrade41to42.py @@ -10,6 +10,8 @@ from UM.VersionUpgrade import VersionUpgrade _renamed_settings = { "support_minimal_diameter": "support_tower_maximum_supported_diameter" } #type: Dict[str, str] +_removed_settings = ["prime_tower_circular"] # type: List[str] + ## Upgrades configurations from the state they were in at version 4.1 to the # state they should be in at version 4.2. @@ -40,7 +42,7 @@ class VersionUpgrade41to42(VersionUpgrade): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialized) - # Update version number. + #Update version number. parser["metadata"]["setting_version"] = "8" #Rename settings. @@ -49,6 +51,10 @@ class VersionUpgrade41to42(VersionUpgrade): if old_name in parser["values"]: parser["values"][new_name] = parser["values"][old_name] del parser["values"][old_name] + #Remove settings. + for key in _removed_settings: + if key in parser["values"]: + del parser["values"][key] result = io.StringIO() parser.write(result) @@ -67,12 +73,15 @@ class VersionUpgrade41to42(VersionUpgrade): #Renamed settings. if "visible_settings" in parser["general"]: visible_settings = parser["general"]["visible_settings"] - visible_settings_set = set(visible_settings.split(";")) + visible_setting_set = set(visible_settings.split(";")) for old_name, new_name in _renamed_settings.items(): - if old_name in visible_settings_set: - visible_settings_set.remove(old_name) - visible_settings_set.add(new_name) - parser["general"]["visible_settings"] = ";".join(visible_settings_set) + if old_name in visible_setting_set: + visible_setting_set.remove(old_name) + visible_setting_set.add(new_name) + for removed_key in _removed_settings: + if removed_key in visible_setting_set: + visible_setting_set.remove(removed_key) + parser["general"]["visible_settings"] = ";".join(visible_setting_set) result = io.StringIO() parser.write(result) @@ -83,7 +92,7 @@ class VersionUpgrade41to42(VersionUpgrade): parser = configparser.ConfigParser(interpolation = None) parser.read_string(serialized) - # Update version number. + #Update version number. parser["metadata"]["setting_version"] = "8" result = io.StringIO() diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5705cbd34c..cd680a26c1 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5281,17 +5281,6 @@ "settable_per_mesh": false, "settable_per_extruder": false }, - "prime_tower_circular": - { - "label": "Circular Prime Tower", - "description": "Make the prime tower as a circular shape.", - "type": "bool", - "enabled": "resolveOrValue('prime_tower_enable')", - "default_value": true, - "resolve": "any(extruderValues('prime_tower_circular'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, "prime_tower_size": { "label": "Prime Tower Size", @@ -5316,7 +5305,7 @@ "type": "float", "default_value": 6, "minimum_value": "0", - "maximum_value_warning": "((resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height') if prime_tower_circular else resolveOrValue('prime_tower_size') ** 2 * resolveOrValue('layer_height')) - sum(extruderValues('prime_tower_min_volume')) + prime_tower_min_volume", + "maximum_value_warning": "((resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height')", "enabled": "resolveOrValue('prime_tower_enable')", "settable_per_mesh": false, "settable_per_extruder": true 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 3b55b17f9a..bcd2ef12c9 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 @@ -15,7 +15,6 @@ adhesion_extruder_nr = 0 adhesion_type = skirt layer_height = 0.2 layer_height_0 = 0.25 -prime_tower_circular = True prime_tower_enable = True prime_tower_position_x = 180 prime_tower_position_y = 180 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 7ff9f6ed50..eb34569fec 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 @@ -15,7 +15,6 @@ adhesion_extruder_nr = 0 adhesion_type = skirt layer_height = 0.1 layer_height_0 = 0.1 -prime_tower_circular = True prime_tower_enable = True prime_tower_position_x = 180 prime_tower_position_y = 180 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 5cecc18167..f78e75f40a 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 @@ -15,7 +15,6 @@ adhesion_extruder_nr = 0 adhesion_type = skirt layer_height = 0.2 layer_height_0 = 0.25 -prime_tower_circular = True prime_tower_enable = True prime_tower_position_x = 180 prime_tower_position_y = 180 diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index b28468ea56..ea3d4e6ef1 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -293,7 +293,6 @@ raft_fan_speed [dual] prime_tower_enable -prime_tower_circular prime_tower_size prime_tower_min_volume prime_tower_position_x