up
This commit is contained in:
parent
1b3db8eed8
commit
a1f10e67e5
3 changed files with 11 additions and 13 deletions
|
|
@ -16,6 +16,7 @@ from ...registry import register_class
|
|||
from .. import slice
|
||||
from ..slice import Pather, slice_at_range, SlicePaths
|
||||
from ...infra.blender.blender_mesh_capture import SlicingCollection, SlicingObject, capture_mesh_edges, SlicingGroup
|
||||
from ...infra.blender.blender_bridge import get_all_children
|
||||
from ...infra.blender.blender_slice_nodes_generic import SliceNode, resolve_input
|
||||
from .bpy_ns_types import notify_tree_changed
|
||||
from ...infra._3mf_writer._3mf import prepare_3mf
|
||||
|
|
@ -384,18 +385,10 @@ class SLICENODE_GetMesh(SliceNode):
|
|||
if socket_name != "Mesh": return None
|
||||
|
||||
obj: Any = self.resolve("Object")
|
||||
if not obj: return None
|
||||
|
||||
modifiers = {v.field: v.value_str for k, v in dict(obj.nodeslicer.modifiers).items()}
|
||||
extruder = obj.nodeslicer.extruder
|
||||
part_type = obj.nodeslicer.object_type
|
||||
|
||||
so: SlicingObject = SlicingObject(obj, obj.name)
|
||||
so.assign_modifiers(modifiers)
|
||||
so.object_type = part_type
|
||||
so.extruder = extruder
|
||||
|
||||
sc: SlicingCollection = SlicingCollection([], obj.name)
|
||||
sc.objects = [so]
|
||||
family = [obj] + get_all_children(obj)
|
||||
sc: SlicingCollection = SlicingCollection(family, obj.name)
|
||||
|
||||
return sc
|
||||
|
||||
|
|
|
|||
|
|
@ -4,4 +4,6 @@ def get_all_children(obj):
|
|||
children = []
|
||||
for child in obj.children:
|
||||
children += [child] + get_all_children(child)
|
||||
|
||||
children = list(set(children))
|
||||
return children
|
||||
|
|
@ -35,6 +35,11 @@ class SlicingObject():
|
|||
assert bpy.context.scene.unit_settings
|
||||
scene_scale: float = bpy.context.scene.unit_settings.scale_length
|
||||
|
||||
if ns := getattr(obj, 'nodeslicer', None):
|
||||
self.object_type = ns.object_type
|
||||
self.extruder = ns.extruder
|
||||
self.modifiers = [{'param_id': m.field, 'param_value': m.value_str} for m in ns.modifiers]
|
||||
|
||||
if obj:
|
||||
if obj.mode == 'EDIT':
|
||||
obj.update_from_editmode()
|
||||
|
|
@ -223,8 +228,6 @@ class SlicingGroup():
|
|||
for obj in selected_objs:
|
||||
family.append(obj)
|
||||
family.extend(get_all_children(obj))
|
||||
# Remove duplicates
|
||||
family = list(set(family))
|
||||
|
||||
filtered_objs = [o for o in family] # if getattr(o, TYPES_NAME).object_type != 'Ignore'
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue