BRepAlgoAPI_Cut: Can not obtain ShrunkRange

I have two TopoDS_Solid which should be Cut. Using TopoDS_Shape S = BRepAlgoAPI_Cut(S1, S2) I got the message:

Can not obtain ShrunkRange for Edge 29

and exception "StdFail_NotDone: BRep_API: command not done" was thrown. (Volume S1=1989.69, volume S2=322.789).

Has anyone experience with this message? What's going wrong?

Steven Diehl's picture

Hi Volker,

At least now you know that your are not the only one with this error message. I am getting the same message after using a similar BRepAlgoAPI_Cut command. I was wondering if you ever solved this problem successfully. Or can anyone else explain what this cryptic error message means?

Thanks,
Steven

Evgeny Lodyzhehsky's picture

the mesage
Can not obtain ShrunkRange for Edge 29
means
that the arguments of BRepAlgoAPI_Cut contain the edge that can not be treated by the algorithm due to big values of the tolerances of its vertices.
The big values of the tolerances of the vertices of the edge lead to self-interference and can not be treated by the algorithm.

So, check your data.
Btw

You can do it using DRAWEXE commands:
> bop b1 b2 # where b1=S1, b2=S2
> bopds -e # explode datastructure on edges
> donly z_29 # show only edge 29