For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings


Need to speed up your development?
Have a look at our:

Samples & Tools


Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

[BUG?] GeomPlate_BuildPlateSurface::Perform() fails to project edge on initial surface

Timo Roth's picture

When I try to create a surface A bounded by 4 edges using BRepOffsetAPI_MakeFilling, I get an exception in Plate_SequenceOfPinpointConstraint::Value. The reason seems to be that GeomPlate_BuildPlateSurface::Perform() fails to project one edge on the initial surface. This edge is taken from another surface B which was also created using BRepOffsetAPI_MakeFilling. My aim is actually to create surface A tangential to surface B, but even without tangency it fails. If I use the original spline, which was used to create surface B, instead of the mentioned edge of B, it works.

In order to reproduce the problem, you can use the following Draw-commands:
restore Basis.brep b
explode b
filling r 4 0 0 b_5 b_1 0 b_2 0 b_3 0 b_4 0

When you use the spline instead of b_4, it works:
restore Basis_spline.brep s
filling r 4 0 0 b_5 b_1 0 b_2 0 b_3 0 s 0

Is it a bug or is there a problem with edge b_4?

Stack trace:
TKGeomAlgo.dll!Plate_SequenceOfPinpointConstraint::Value(const int Index) Zeile 109 + 0xc Bytes
TKGeomAlgo.dll!Plate_Plate::UVBox(double & UMin, double & UMax, double & VMin, double & VMax) Zeile 1530 + 0x10 Bytes
TKGeomAlgo.dll!GeomPlate_Surface::RealBounds(double & U1, double & U2, double & V1, double & V2) Zeile 382
TKGeomAlgo.dll!GeomPlate_MakeApprox::GeomPlate_MakeApprox(const Handle_GeomPlate_Surface & SurfPlate, const double Tol3d, const int Nbmax, const int dgmax, const double dmax, const int CritOrder, GeomAbs_Shape Continuity, const double EnlargeCoeff) Zeile 330
TKGeomAlgo.dll!GeomPlate_BuildPlateSurface::Perform() Zeile 529 + 0x53 Bytes
TKBool.dll!BRepFill_Filling::Build() Zeile 546
TKOffset.dll!BRepOffsetAPI_MakeFilling::Build() Zeile 89


Forum supervisor's picture

Dear Timo,
In fact your post already contains the answer.
Just make the next step: compare underlying curves.

Timo Roth's picture

Thanks for the reply, but could you please be more specific what might be the problem.

I dumped the curves in Draw.

b_4 is:
Degree 11, 42 Poles, 5 Knots

s is:
Degree 2, 3 Poles, 2 Knots

Is the degree of b_4 too high? But if I set maxDegree of filling higher it still fails.


Contact us

Attention: DO NOT use this form for all kind of request for the removal of your personal data. Please follow this link for such cases.