diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i index ea4d637356..fe08541a6f 100644 --- a/src/ifcwrap/IfcGeomWrapper.i +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -213,6 +213,15 @@ std::string taxonomy_item_repr(ifcopenshell::geometry::taxonomy::item::ptr i) { aggregate_of_instance::ptr styles = *ent->get("Styles"); if (styles->size() == 1) { ent = (*styles->begin())->as(); + // < IFC4X3. + if (ent->declaration().name() == "IfcPresentationStyleAssignment") { + aggregate_of_instance::ptr styles = *ent->get("Styles"); + if (styles->size() == 1) { + ent = (*styles->begin())->as(); + } else { + return 0; + } + } } else { return 0; }