diff --git a/src/Mod/BIM/nativeifc/ifc_status.py b/src/Mod/BIM/nativeifc/ifc_status.py index 6c3264fe89..4d4dcbbf91 100644 --- a/src/Mod/BIM/nativeifc/ifc_status.py +++ b/src/Mod/BIM/nativeifc/ifc_status.py @@ -481,14 +481,12 @@ def filter_out(objs): nobjs.append(obj) elif obj.isDerivedFrom("Mesh::Feature"): nobjs.append(obj) - elif obj.isDerivedFrom("App::DocumentObjectGroup"): + elif Draft.is_group(obj): if filter_out(obj.Group): # only append groups that contain exportable objects nobjs.append(obj) else: print("DEBUG: Filtering out",obj.Label) - elif obj.isDerivedFrom("Mesh::Feature"): - nobjs.append(obj) elif obj.isDerivedFrom("App::Feature"): if Draft.get_type(obj) in ("Dimension","LinearDimension","Layer","Text","DraftText"): nobjs.append(obj) diff --git a/src/Mod/BIM/nativeifc/ifc_tools.py b/src/Mod/BIM/nativeifc/ifc_tools.py index 675c2a99a1..8bc16126b4 100644 --- a/src/Mod/BIM/nativeifc/ifc_tools.py +++ b/src/Mod/BIM/nativeifc/ifc_tools.py @@ -1598,7 +1598,7 @@ def get_orphan_elements(ifcfile): products = ifcfile.by_type("IfcProduct") products = [p for p in products if not p.Decomposes] - products = [p for p in products if not p.ContainedInStructure] + products = [p for p in products if not getattr(p, "ContainedInStructure", [])] products = [ p for p in products if not hasattr(p, "VoidsElements") or not p.VoidsElements ]