mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-24 19:09:58 +00:00
#1853 don't blindly explode compounds but check whether there are solids inside
This commit is contained in:
@@ -892,7 +892,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcRepresentation* l, IfcRepresen
|
|||||||
} else {
|
} else {
|
||||||
TopoDS_Shape s;
|
TopoDS_Shape s;
|
||||||
if (convert_shape(representation_item, s)) {
|
if (convert_shape(representation_item, s)) {
|
||||||
if (s.ShapeType() == TopAbs_COMPOUND) {
|
if (s.ShapeType() == TopAbs_COMPOUND && TopoDS_Iterator(s).More() && TopoDS_Iterator(s).Value().ShapeType() == TopAbs_SOLID) {
|
||||||
TopoDS_Iterator it(s);
|
TopoDS_Iterator it(s);
|
||||||
for (; it.More(); it.Next()) {
|
for (; it.More(); it.Next()) {
|
||||||
shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), it.Value(), get_style(representation_item)));
|
shapes.push_back(IfcRepresentationShapeItem(representation_item->data().id(), it.Value(), get_style(representation_item)));
|
||||||
|
|||||||
Reference in New Issue
Block a user