mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 21:27:50 -06:00
Scale convex hull only by X/Y shrinkage, and handle 0% gracefully
Only the X/Y shrinkage influences the convex hull collision area. Not the Z, nor the parent setting. Also, don't scale the collision area to 0. This value is not allowed by the setting system, so it'd indicate an error when slicing, but before slicing the convex hull gets calculated which results in degenerate polygons. Don't do that. Instead, we'll just let it pretend the scale factor is 1. Contributes to issue CURA-9091.
This commit is contained in:
parent
dec359da1d
commit
855eaec81c
1 changed files with 3 additions and 3 deletions
|
@ -383,9 +383,9 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||
# Shrinkage compensation.
|
||||
if not self._global_stack: # Should never happen.
|
||||
return convex_hull
|
||||
scale_factor = self._global_stack.getProperty("material_shrinkage_percentage", "value") / 100.0
|
||||
scale_factor = self._global_stack.getProperty("material_shrinkage_percentage_xy", "value") / 100.0
|
||||
result = convex_hull
|
||||
if scale_factor != 1.0 and not self.getNode().callDecoration("isGroup"):
|
||||
if scale_factor != 1.0 and scale_factor > 0 and not self.getNode().callDecoration("isGroup"):
|
||||
center = None
|
||||
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time":
|
||||
# Find the root node that's placed in the scene; the root of the mesh group.
|
||||
|
@ -498,7 +498,7 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||
"adhesion_type", "raft_margin", "print_sequence",
|
||||
"skirt_gap", "skirt_line_count", "skirt_brim_line_width", "skirt_distance", "brim_line_count"]
|
||||
|
||||
_influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width", "anti_overhang_mesh", "infill_mesh", "cutting_mesh", "material_shrinkage_percentage"}
|
||||
_influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width", "anti_overhang_mesh", "infill_mesh", "cutting_mesh", "material_shrinkage_percentage_xy"}
|
||||
"""Settings that change the convex hull.
|
||||
|
||||
If these settings change, the convex hull should be recalculated.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue