I have a simple STEP based on OCC, it works great with parts, but when I started reciving some assemblies, I noticed that it only takes in consideration the original geometry and does not retrieve the instances in the assembly.
I based my code on STEPCAFControl_Reader STEPReader;
So I use the code the following code to read the file and to get the roots
step_doc = new TDocStd_Document("STEP");
CSimLabOpenCascadeTools::xde_doc = step_doc;
IFSelect_ReturnStatus status = STEPReader.ReadFile(Standard_CString((const char*)filename));
Handle(XCAFDoc_ShapeTool) root = XCAFDoc_DocumentTool::ShapeTool( step_doc->Main());
SimLab::CSimLabTransformNode* parent = SimLab::CSimLabTransformNode::Create();
unsigned int nRoots = labels.Length();
In my file I get 1 root, when traversing for solids it gets 2 solids, while it should get 3 as one objects has 2 instances.
Your help is appreciated.