
Mon, 06/21/2010 - 21:31
Reproducer in Draw:
Take as1-oc-214.stp from www.cax-if.org
> pload ALL
> NewDoc d XmlXCAF
> ReadStep d as1-oc-214.stp
> WriteIges d as1-oc-214.igs
# IGES file contains no entity names except the assembly root
Root-cause: IGESCAFControl_Writer::WriteNames() iterates over XDE document labels and search for results of their translation into IGES TransferProcess. For assemblies, with nested component structures, each component/subshape has its own location and therefore does not represent a real subshape of an original shape. Therefore it’s not storted in the TransferProcess map and therefore it cannot find its translation result.
For CAD Exchanger I had to work-around using a code similar to CollectStyles applying parent locations along XDE document exploration.
Hope this will be helpful.
Roman
Tue, 06/22/2010 - 12:17
Hello Roman,
Thank you for the bug report.
This problem is now registered with reference number OCC21802.
Best regards,
Forum supervisor
Thu, 06/24/2010 - 00:07
Cool! Thanks, folks.
I currently ended up with adding a code that would produce a map {shape, name} iterating over the document using the algorithm from XCAFPrs::CollectStyleSettings(). This map would contain real subshapes of the root document shapes. Then iterating over the map to find translation results would be straightforward.
Hope this helps.
Roman