Increase resolution of prime tower shadow and use doulbe brim size

It needs to use the double brim size, as it needs to ensure that
it has enough room for it's own brim and any object brim.

The resolution of the circle is increased so that the shadow matches
more with what is actually being printed

CURA-7643
This commit is contained in:
Jaime van Kessel 2020-10-20 13:41:35 +02:00
parent 0f86481ac2
commit e13ffb597d
No known key found for this signature in database
GPG Key ID: 3710727397403C91

View File

@ -791,7 +791,9 @@ class BuildVolume(SceneNode):
break
if self._global_container_stack.getProperty("prime_tower_brim_enable", "value") and self._global_container_stack.getProperty("adhesion_type", "value") != "raft":
brim_size = self._calculateBedAdhesionSize(used_extruders, "brim")
prime_tower_areas[extruder_id][area_index] = prime_tower_area.getMinkowskiHull(Polygon.approximatedCircle(brim_size))
# Use 2x the brim size, since we need 1x brim size distance due to the object brim and another
# times the brim due to the brim of the prime tower
prime_tower_areas[extruder_id][area_index] = prime_tower_area.getMinkowskiHull(Polygon.approximatedCircle(2 * brim_size, num_segments = 24))
if not prime_tower_collision:
result_areas[extruder_id].extend(prime_tower_areas[extruder_id])
result_areas_no_brim[extruder_id].extend(prime_tower_areas[extruder_id])
@ -843,7 +845,7 @@ class BuildVolume(SceneNode):
prime_tower_y += brim_size
radius = prime_tower_size / 2
prime_tower_area = Polygon.approximatedCircle(radius)
prime_tower_area = Polygon.approximatedCircle(radius, num_segments = 24)
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))