diff --git a/src/ifcconvert/XmlSerializer.cpp b/src/ifcconvert/XmlSerializer.cpp index a5082d23ff..dc0f142d45 100644 --- a/src/ifcconvert/XmlSerializer.cpp +++ b/src/ifcconvert/XmlSerializer.cpp @@ -423,6 +423,12 @@ void XmlSerializer::finalize() { } format_entity_instance(*jt, subnode, node); } + } else if (mat->as()) { + IfcMaterial::list::ptr mats = mat->as()->Materials(); + for (IfcMaterial::list::it jt = mats->begin(); jt != mats->end(); ++jt) { + ptree subnode; + format_entity_instance(*jt, subnode, node); + } } format_entity_instance((IfcUtil::IfcBaseEntity*) mat, node, materials); }