problem with making surface with BRepOffsetAPI_MakePipeShell

I am having lots of trouble making a surface using BRepOffsetAPI_MakePipeShell. It crashes 50% of the time and even a try/catch block will not catch it. I have attached a picture of a typical X section wires and the spine that I would use (note that the X section wire can be make of 3-4 edges, not always a single edge). I am not using any auxiliary spines or any other options. Simply initialize with the spine and then add the 2 X sections that are at the two ends of the spine which are already orthogonal to the spine.
Can you please help on this or is there any other function that I can use? I need to be able to specify 2 X sections and the spine.

sergey zaritchny's picture

Hi Chanaka,
Could you provide additional information to reproduce a crash:
- spine (kept in brep format)
- profiles (kept in brep format)
- all set modes

- platform (win, linux,...)
- architecture (32, 64)
- OCCT build mode (debug, release)
- used compiler

jelle's picture

(( Sergey, its great to see OCC team members so active on this forum, that is just great and stimulating for all! thank you for that! ))

Chanaka Mallikarachchi's picture

I have attached the 3 Brep files (start and end profiles and the spine).

This is the code,

BRepOffsetAPI_MakePipeShell exitPipeShell2(exitTransSpineWires[1]);
exitPipeShell2.Add(exitTranSectWires[1],Standard_False,Standard_False) ;
exitPipeShell2.Add(exitTranSectWires[2],Standard_False,Standard_False) ;

exitPipeShell2.Build(); <- this line crashes the code.

If I do not add the 2nd profile it does not crash.
This is in Windows 7, compiled in Microsoft visual studio 2008.

Both the debug and release builds behave in the same way.

Thank you very much for any help.

Chanaka Mallikarachchi's picture

Hi sergey, I have attached the requested files. Thanks for help in advance.

sergey zaritchny's picture

Hi Chanaka,
I would like to inform you that the posted problem is reproduced.
The corresponding issue with ID = OCC22073 has been registered.
Later you can know if the issue is resolved by checking references to the specified ID in OCCT Release Notes. The analysis of the issue will take some time depending on our technical capability and availability of resources.
If you can't wait and the problem is urgent for you, you may contact us via Contact Form
We will try to find a solution/workaround acceptable for you.
As well as any technical support is at your disposal -