You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you open the IFC file with XBimExplorer (compiling the master branch) you will notice that the walls are not being displayed:
I doubt this is the proper solution, but it might give a hint as to what might be wrong.
But if the code changes listed are applied, then the walls do display:
Btw, XbimXplorer version 4 does display the walls. So this is some sort of regression.
Let me know how to proceed. If this should be the proper solution, I can make a pull request, otherwise please give me some hints as to where the problem might be. I spent a lot of time, trying to figure this out, so any help/advice is appreciated.
This is in XbimGeometryCreator.cpp. Just added code to support XBimSolidSets.
voidXbimGeometryCreator::WriteTriangulation(BinaryWriter^ bw, IXbimGeometryObject^ shape, doubletolerance, doubledeflection, doubleangle)
{
XbimOccShape^ xShape=dynamic_cast<XbimOccShape^>(shape);
if (xShape!=nullptr)
{
xShape->WriteTriangulation(bw, tolerance, deflection, angle);
return;
}
/// START/// NEW CODE -> workaround for the problem of the walls not being displayedXbimSolidSet^ xSolidSet=dynamic_cast<XbimSolidSet^>(shape);
if (xSolidSet!=nullptr)
{
// create an XBimCompound out of the XBimSolidSetTopoDS_Compoundcompound;
BRep_Builderb;
b.MakeCompound(compound);
foreach (IXbimSolid^ solidinxSolidSet)
{
if (!solid->IsValid)
{
continue;
}
XbimSolid^ solid2=dynamic_cast<XbimSolid^>(solid);
if (solid2!=nullptr) {
b.Add(compound, solid2);
//GC::KeepAlive(solid);XbimCompound^ compound2=gcnewXbimCompound(compound, true, tolerance);
compound2->WriteTriangulation(bw, tolerance, deflection, angle);
}
}
}
/// END/// NEW CODE
}
If you open the IFC file with XBimExplorer (compiling the master branch) you will notice that the walls are not being displayed:
I doubt this is the proper solution, but it might give a hint as to what might be wrong.
But if the code changes listed are applied, then the walls do display:
Btw, XbimXplorer version 4 does display the walls. So this is some sort of regression.
Let me know how to proceed. If this should be the proper solution, I can make a pull request, otherwise please give me some hints as to where the problem might be. I spent a lot of time, trying to figure this out, so any help/advice is appreciated.
This is in XbimGeometryCreator.cpp. Just added code to support XBimSolidSets.
Thank you!
xBim-Issue.zip
The text was updated successfully, but these errors were encountered: