diff --git a/src/ifcgeom/mapping/IfcManifoldSolidBrep.cpp b/src/ifcgeom/mapping/IfcManifoldSolidBrep.cpp index a5ea125c07..70e4be50e1 100644 --- a/src/ifcgeom/mapping/IfcManifoldSolidBrep.cpp +++ b/src/ifcgeom/mapping/IfcManifoldSolidBrep.cpp @@ -32,7 +32,12 @@ taxonomy::item* mapping::map_impl(const IfcSchema::IfcManifoldSolidBrep* inst) { } #endif - auto solid = map_to_collection(this, voids); + taxonomy::solid* solid; + if (voids->size()) { + solid = map_to_collection(this, voids); + } else { + solid = new taxonomy::solid; + } solid->children.insert(solid->children.begin(), map(inst->Outer())); return solid;