mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 07:19:05 +08:00
Do not show not printed models on snapshot for UFP files
CURA-5373
This commit is contained in:
parent
8eea60bada
commit
1f149b2821
@ -34,9 +34,10 @@ def prettier_color(color_list):
|
||||
#
|
||||
# This is useful to get a preview image of a scene taken from a different location as the active camera.
|
||||
class PreviewPass(RenderPass):
|
||||
def __init__(self, width: int, height: int):
|
||||
def __init__(self, width: int, height: int, skip_non_printed_objects: bool = False):
|
||||
super().__init__("preview", width, height, 0)
|
||||
|
||||
self._skip_non_printed_objects = skip_non_printed_objects
|
||||
self._camera = None # type: Optional[Camera]
|
||||
|
||||
self._renderer = Application.getInstance().getRenderer()
|
||||
@ -112,7 +113,9 @@ class PreviewPass(RenderPass):
|
||||
|
||||
batch.render(render_camera)
|
||||
batch_support_mesh.render(render_camera)
|
||||
batch_non_printing.render(render_camera)
|
||||
|
||||
if not self._skip_non_printed_objects:
|
||||
batch_non_printing.render(render_camera)
|
||||
|
||||
self.release()
|
||||
|
||||
|
@ -43,7 +43,8 @@ class Snapshot:
|
||||
render_width, render_height = active_camera.getWindowSize()
|
||||
render_width = int(render_width)
|
||||
render_height = int(render_height)
|
||||
preview_pass = PreviewPass(render_width, render_height)
|
||||
skip_non_printed_objects = True
|
||||
preview_pass = PreviewPass(render_width, render_height, skip_non_printed_objects)
|
||||
|
||||
root = scene.getRoot()
|
||||
camera = Camera("snapshot", root)
|
||||
@ -51,7 +52,7 @@ class Snapshot:
|
||||
# determine zoom and look at
|
||||
bbox = None
|
||||
for node in DepthFirstIterator(root):
|
||||
if node.callDecoration("isSliceable") and node.getMeshData() and node.isVisible():
|
||||
if node.callDecoration("isSliceable") and node.getMeshData() and node.isVisible() and not node.callDecoration("isNonPrintingMesh"):
|
||||
if bbox is None:
|
||||
bbox = node.getBoundingBox()
|
||||
else:
|
||||
|
Loading…
x
Reference in New Issue
Block a user