Help with BRepOffsetAPI_MakeOffsetShape

Hello everybody,

I am using BRepOffsetAPI_MakeOffsetShape to Offset a given face, as follows:

BRepOffsetAPI_MakeOffsetShape MakeOffsetShape ( face, offset, tolerance, BRepOffset_Skin, Standard_False, Standard_False, GeomAbs_Intersection );
TopoDS_Shape tdsResultShape = MakeOffsetShape.Shape();

It works pretty good for most cases, however for some faces I get the following exception:

>> Geom_RectangularTrimmedSurface::V parameters out of range

Have anyone faced a similar issue before and knows the reason why it happens?

Thank you very much in advance.

Best regards,

Fernando Ghedin's picture


I tried most of the available ShapeFix methods and still could not solve this issue.

Does anyone have an idea on the reasons why this exception rises?

Thanks a lot!

Best regards,

Fernando Ghedin's picture

Hello me,

After spending some time searching for a given Shape Healing algorithm that would fix this issue, I found out that it was happening mainly due to the input parameters of BRepOffsetAPI_MakeOffsetShape. My mistake!

I am now calling it like this:

>> BRepOffsetAPI_MakeOffsetShape myOffsetAlgo(face, offset, Precision::Confusion());

With this set of parameters, I could generate the Offset Shape, however the new geometry is not very good.

The original Shape looks like a Triangle and is composed by 1 Face with 4 Edges (1 Line and 3 B-Splines). As a Result, I get a Shape pretty similar to the original one, but a second Face is also created and at one of the Vertices the adjacent Edges are not well connected - they self-intersect and (because of this, I guess) a long circular curve is created to join their end-points, instead of simply connecting them at their common Vertex.

I coulnd't fix it with ShapeFix_Wire::FixSelfIntersection()... I'm probably doing something wrong and would be really happy with any help coming from you guys.

Thank you very much in advance!

Kind regards,

Gabriel Bauer's picture

Hello everybody,

I have the same problem with the offset of this particular FACE. One of the EGDEs goes to the wrong side of the shape and it creates a strange result.

I attached an image with the wrong result.

Somebody knows how to solve this problem?

Thank you,