How to split wires with shared edges

Hello everyone,

I have a wire showed on the attached picture (wires). How can I create 3 closed wires from it ? When I tried to make 

  ShapeAnalysis_FreeBounds::SplitWires(wires, GLOBAL_TOLERANCE, true, closedWires, openWires);
I've got 1 closed wire and 2 opened wires (as shown at pic2)

Thank you.

Qr Qr's picture


The solution is Boolean operation (General Fuse: and then proper iterating your fused wires (e.g. with left-turn rule). Not sure if left turn is available in OpenCascade (there is something similar at BRepFeat_SplitShape and also in shape healing), but this is something you can develop from scratch.

Rudy Morin's picture

Hi Anton !

Have you found any proper solution to achieve your goal ?