diff --git a/src/Mod/FreeCADExchange/DeviceImport.py b/src/Mod/FreeCADExchange/DeviceImport.py index eaa0f97..2239df7 100644 --- a/src/Mod/FreeCADExchange/DeviceImport.py +++ b/src/Mod/FreeCADExchange/DeviceImport.py @@ -67,6 +67,9 @@ def _top_level_imported_objects(imported_objects): imported_by_name = {obj.Name: obj for obj in imported_objects} child_names = set() for obj in imported_objects: + for parent in list(getattr(obj, "InList", []) or []): + if getattr(parent, "Name", None) in imported_by_name: + child_names.add(obj.Name) for child in list(getattr(obj, "Group", []) or []): if getattr(child, "Name", None) in imported_by_name: child_names.add(child.Name) @@ -375,7 +378,7 @@ def _import_cabinet_model(doc, root_group, cabinet, report): doc, cabinet_group, resolved_scene_path, - merge=True, + merge=False, use_link_group=True, ) report["cabinet_imported"] += 1