Dear Forum Readers,
We've been working on an OCC 6.5.4 based plugin to our system that converts IGES and STEP files to our library format. The plugin works well however we have a problem with a specific STEP file. Our plugin and the other OCC based free apps I checked read it improperly (FreeCAD, exoTKAD, HeeksCAD) but for example CAD Exchanger which is also OCC based, reads it properly. Also checked with two non-OCC based product, Autodesk Inventor Fusion read it properly while Bentley Microstation did not. I'm totally confused. I'm curious if I implemented something wrong in our STEP import or the file is incorrect or ambiguous and CAD Exchanger and Inventor Fusion are able to fix it somehow. Based on the import result it seems that beside the assembly, all parts are read additionally without any local placement. I tried to play with setting read.step.assembly.level or with retrieving the list of elements using the predefined operators (step-placed-items, step-assembly etc.) but if the list was not empty (because there were really no elements that met the operator conditions) then it always contained 95 entities regardless of the way I retrieved the list. I looked into the STEP file and there are 95 products defined. Iím not a STEP expert but did not see any relation or difference of the definition of the products that could make one of the products to be an assembly and the only root element.
So Iím totally confused and also it is interesting that two big CAD market participants also read this file differently.
Since the STEP was too big to attach it, attach the PDF with results in different CAD systems and will send the STEP on demand.
Any help would be highly appreciated,
You have to be logged in to download the attached file
ReadStep DOC "file.step"
Sorry for the late reply, had to work on another project.
Thanks, going to check that ASAP.
It should be
ReadStep DOC "file.step"
tried it out and it worked properly. Since DRAW uses STEPCAFControl_Reader, changed our code as well to use it and it works fine now.
I don not know what happens deep inside in OCC but according to this discovery my original issue description could be translated to the next one:
Why STEPControl_Reader and STEPCAFControl_Reader give different geometry result with certain files? In both ways I just processed the roots.
Honestly I'm happy now with finding a solution to my problem but I think if anyone had any answer on this question above that could be helpful for others as well.