mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-29 07:14:24 +08:00
Prevent modifier meshes from blocking one at a time slicing
CURA-6030
This commit is contained in:
parent
5ae103964a
commit
f7d0bcd0d4
@ -66,6 +66,10 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||||||
|
|
||||||
node.boundingBoxChanged.connect(self._onChanged)
|
node.boundingBoxChanged.connect(self._onChanged)
|
||||||
|
|
||||||
|
per_object_stack = node.callDecoration("getStack")
|
||||||
|
if per_object_stack:
|
||||||
|
per_object_stack.propertyChanged.connect(self._onSettingValueChanged)
|
||||||
|
|
||||||
self._onChanged()
|
self._onChanged()
|
||||||
|
|
||||||
## Force that a new (empty) object is created upon copy.
|
## Force that a new (empty) object is created upon copy.
|
||||||
@ -76,7 +80,8 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||||||
def getConvexHull(self) -> Optional[Polygon]:
|
def getConvexHull(self) -> Optional[Polygon]:
|
||||||
if self._node is None:
|
if self._node is None:
|
||||||
return None
|
return None
|
||||||
|
if self._node.callDecoration("isNonPrintingMesh"):
|
||||||
|
return None
|
||||||
hull = self._compute2DConvexHull()
|
hull = self._compute2DConvexHull()
|
||||||
|
|
||||||
if self._global_stack and self._node is not None and hull is not None:
|
if self._global_stack and self._node is not None and hull is not None:
|
||||||
@ -106,7 +111,8 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||||||
def getConvexHullHead(self) -> Optional[Polygon]:
|
def getConvexHullHead(self) -> Optional[Polygon]:
|
||||||
if self._node is None:
|
if self._node is None:
|
||||||
return None
|
return None
|
||||||
|
if self._node.callDecoration("isNonPrintingMesh"):
|
||||||
|
return None
|
||||||
if self._global_stack:
|
if self._global_stack:
|
||||||
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node):
|
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node):
|
||||||
head_with_fans = self._compute2DConvexHeadMin()
|
head_with_fans = self._compute2DConvexHeadMin()
|
||||||
@ -122,6 +128,9 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||||||
def getConvexHullBoundary(self) -> Optional[Polygon]:
|
def getConvexHullBoundary(self) -> Optional[Polygon]:
|
||||||
if self._node is None:
|
if self._node is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
if self._node.callDecoration("isNonPrintingMesh"):
|
||||||
|
return None
|
||||||
|
|
||||||
if self._global_stack:
|
if self._global_stack:
|
||||||
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node):
|
if self._global_stack.getProperty("print_sequence", "value") == "one_at_a_time" and not self.hasGroupAsParent(self._node):
|
||||||
@ -398,4 +407,4 @@ class ConvexHullDecorator(SceneNodeDecorator):
|
|||||||
## Settings that change the convex hull.
|
## Settings that change the convex hull.
|
||||||
#
|
#
|
||||||
# If these settings change, the convex hull should be recalculated.
|
# If these settings change, the convex hull should be recalculated.
|
||||||
_influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width"}
|
_influencing_settings = {"xy_offset", "xy_offset_layer_0", "mold_enabled", "mold_width", "anti_overhang_mesh", "infill_mesh", "cutting_mesh"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user