[Bug report] Export of names from XDE assemblies to IGES is incorrect

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.


Forum supervisor's picture

Hello Roman,

Thank you for the bug report.
This problem is now registered with reference number OCC21802.

Best regards,
Forum supervisor

Roman Lygin's picture

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.