Edge on a Solid after offsetting

I have a solid X. I offest the solid X by a constant using BRepOffsetAPI_MakeOffsetShape. The I fuse this solid X with other solid Y (both solid overlap each other) using BRepAlgoAPI_Fuse. After fusing I am finding additional new edges in fused solid Z. Now I need to transform back these edges on the fused solid Z to original solid X. That is I want to get an edge on one of the surfaces of the solid X which represents the corresponding edge on fused solid Z. Any idea how can I do this, or is this possible at all?
Regards,
Harmish.

Roman Lygin's picture

Hi Harmish,

You could have a look at history management methods in BRepBuilderAPI_MakeShape: Generated(), Modified(), IsDeleted().
I don't know details on how split (or unchanged) edges are managed in boolean operations (note that BRepAlgoAPI_* inherit BRepAlgoAPI_BooleanOperation which redefines some of those methods and add some more). And they provide one way (from source to result) mapping, though you need the opposite. But you could do it yourself reconstructing this reverse maps.

Hope this helps. If you find some other way, please share.
Good luck.
Roman
---
opencascade.blogspot.com - blog on Open CASCADE
Join the Open CASCADE Group at LinkedIn