IfcSurfaceStyleShading对应的是 basecolor, 对应 #320, 而#322=IFCSURFACESTYLEWITHTEXTURES((#323));,还没有实现。
#318=IFCSTYLEDITEM(#37,(#319,#324),$);
#319=IFCSURFACESTYLE($,.BOTH.,(#320));
#320=IFCSURFACESTYLESHADING(#321,$);
#321=IFCCOLOURRGB($,0.68,0.67,0.65);
#322=IFCSURFACESTYLEWITHTEXTURES((#323));
#323=IFCIMAGETEXTURE(.T.,.T.,'TEXTURE',#29,$,'images\SC_Concrete.jpg');
#324=IFCSURFACESTYLE($,.BOTH.,(#322));
#325=IFCSHAPEREPRESENTATION(#19,'Body','Tessellation',(#37));
I checked the code and found the function below only parse pure color material.
taxonomy::ptr mapping::map_impl(const IfcSchema::IfcStyledItem* inst) {
auto style_pair = get_surface_style<ifcschema::IfcSurfaceStyleShading>(inst);
IfcSchema::IfcSurfaceStyle* style = style_pair.first;
IfcSchema::IfcSurfaceStyleShading* shading = style_pair.second;
if (style == nullptr) {
// E.g. IfcCurveStyle is skipped as unsupported.
Logger::Warning("Only IfcSurfaceStyle is supported, couldn't find it in IfcStyledItem: ", inst);
failed_on_purpose_.insert(inst);
return nullptr;
}
// map and not map_impl otherwise no caching
return map(style);
}
Feature Description
I checked the code and found the function below only parse pure color material.