- Ifc: implement IfcIShapeProfileDef entity.
parent
3b30a39fe1
commit
5ac2354da0
|
@ -129,6 +129,27 @@ void ProcessParametrizedProfile(const IfcParameterizedProfileDef& def, TempMesh&
|
|||
|
||||
meshout.vertcnt.push_back(segments);
|
||||
}
|
||||
else if( const IfcIShapeProfileDef* const ishape = def.ToPtr<IfcIShapeProfileDef>()) {
|
||||
// construct simplified IBeam shape
|
||||
const IfcFloat offset = (ishape->OverallWidth - ishape->WebThickness) / 2;
|
||||
const IfcFloat inner_height = ishape->OverallDepth - ishape->FlangeThickness * 2;
|
||||
|
||||
meshout.verts.reserve(12);
|
||||
meshout.verts.push_back(IfcVector3(0,0,0));
|
||||
meshout.verts.push_back(IfcVector3(0,ishape->FlangeThickness,0));
|
||||
meshout.verts.push_back(IfcVector3(offset,ishape->FlangeThickness,0));
|
||||
meshout.verts.push_back(IfcVector3(offset,ishape->FlangeThickness + inner_height,0));
|
||||
meshout.verts.push_back(IfcVector3(0,ishape->FlangeThickness + inner_height,0));
|
||||
meshout.verts.push_back(IfcVector3(0,ishape->OverallDepth,0));
|
||||
meshout.verts.push_back(IfcVector3(ishape->OverallWidth,ishape->OverallDepth,0));
|
||||
meshout.verts.push_back(IfcVector3(ishape->OverallWidth,ishape->FlangeThickness + inner_height,0));
|
||||
meshout.verts.push_back(IfcVector3(offset+ishape->WebThickness,ishape->FlangeThickness + inner_height,0));
|
||||
meshout.verts.push_back(IfcVector3(offset+ishape->WebThickness,ishape->FlangeThickness,0));
|
||||
meshout.verts.push_back(IfcVector3(ishape->OverallWidth,ishape->FlangeThickness,0));
|
||||
meshout.verts.push_back(IfcVector3(ishape->OverallWidth,0,0));
|
||||
|
||||
meshout.vertcnt.push_back(12);
|
||||
}
|
||||
else {
|
||||
IFCImporter::LogWarn("skipping unknown IfcParameterizedProfileDef entity, type is " + def.GetClassName());
|
||||
return;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
7122
code/IFCReaderGen.h
7122
code/IFCReaderGen.h
File diff suppressed because it is too large
Load Diff
|
@ -100,4 +100,4 @@ IfcTrimmedCurve
|
|||
IfcUnit
|
||||
IfcUnitAssignment
|
||||
IfcVector
|
||||
|
||||
IfcIShapeProfileDef
|
||||
|
|
Loading…
Reference in New Issue