|
@@ -737,12 +737,17 @@ class BuildVolume(SceneNode):
|
|
|
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
|
|
|
|
|
|
- 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],
|
|
|
- ])
|
|
|
+ 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],
|
|
|
+ ])
|
|
|
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.
|
|
@@ -1023,7 +1028,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_size", "prime_tower_position_x", "prime_tower_position_y"]
|
|
|
+ _tower_settings = ["prime_tower_enable", "prime_tower_circular", "prime_tower_size", "prime_tower_position_x", "prime_tower_position_y"]
|
|
|
_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"]
|
|
|
_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.
|