From 9f03a78652daf03adbd8cfb50f28b4431d503e9b Mon Sep 17 00:00:00 2001 From: Stinkfist0 Date: Wed, 18 Jul 2018 14:28:48 +0300 Subject: [PATCH] ColladaSerializer::differentiateSlabTypes: IfcSlab.PredefinedType is optional so check for its existence. https://github.com/Tridify/IfcOpenShell/commit/c4f426392cfc021b8a9c617f21d258759b289d6a#diff-cca49440331fb4c1363204028192c459 --- src/ifcconvert/ColladaSerializer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ifcconvert/ColladaSerializer.cpp b/src/ifcconvert/ColladaSerializer.cpp index 99004d5e50..1347aa4f5e 100644 --- a/src/ifcconvert/ColladaSerializer.cpp +++ b/src/ifcconvert/ColladaSerializer.cpp @@ -413,8 +413,11 @@ void ColladaSerializer::ColladaExporter::write(const IfcGeom::TriangulationEleme std::string ColladaSerializer::differentiateSlabTypes(const IfcSchema::IfcSlab* slab) { - switch (slab->PredefinedType()) - { + if (!slab->hasPredefinedType()) { + return "_Unknown"; + } + + switch (slab->PredefinedType()) { case IfcSlabTypeEnum::IfcSlabType_FLOOR: return "_Floor"; case IfcSlabTypeEnum::IfcSlabType_ROOF: return "_Roof"; case IfcSlabTypeEnum::IfcSlabType_LANDING: return "_Landing";