NURBS from triangulation using GeomPlate

Hi,

I'm trying to obtain a NURBS from triangulation of a surface using GeomPlate.

My idea was to create a NURBS for every triangle using triangle edges but I'm having an error.

First I've read documentation and tried example on official documentation in "Modeling Algorithms User's Guide" (page 36).

Then I have tried to change constraint as reported in the code below but application crash in a free() function during GeomPlate_BuildPlateSurface::Perform().

If I use the three points P1(0., 0., 0.), P2(0., 10., 0.), P3(0., 10., 10.) to build the wire the code works well.

I have tried the same code with OpenCascade 6.5.1 and OpenCascade 6.5.2 on VS2005.

What could be the problem? Have I used wrong parameters?

Thanks in advance,
Francesco Argese

-------------------------------------------------------------

gp_Pnt P1(0.00042938189, 0.12546401, 0.0013751500);
gp_Pnt P2(0.0014842700, 0.124916, 0.013828100);
gp_Pnt P3(0.0014683700, 0.124881, 0.0139044);
BRepBuilderAPI_MakePolygon W;
W.Add(P1);
W.Add(P2);
W.Add(P3);
W.Add(P1);

// Initialize a BuildPlateSurface
GeomPlate_BuildPlateSurface BPSurf(3, 15, 2);

// Create the curve constraints
BRepTools_WireExplorer anExp;
for(anExp.Init(W.Wire()); anExp.More(); anExp.Next())
{
TopoDS_Edge E = anExp.Current();
Handle(BRepAdaptor_HCurve) C = new BRepAdaptor_HCurve;
C->ChangeCurve().Initialize(E);
Handle(BRepFill_CurveConstraint) Cont = new BRepFill_CurveConstraint(C, 0);
BPSurf.Add(Cont);
}

// Compute the plate surface
BPSurf.Perform();

// Approximate plate surface...

Forum supervisor's picture

Dear Francesco,

I would like to draw your attention to our Surface from Scattered Points component that is aimed to solve this kind of tasks, providing better robustness and performance compared to open source algorithms. You may find some more information about this component at http://www.opencascade.org/support/products/ssp/.
If you will find it interesting you may contact us via the Contact Form http://www.opencascade.org/about/contacts/.

Best regards,
Forum supervisor