GeomFill_BSplineCurves problems

HI:
I creat two BSplineCurve ,then want to use GeomFill_BSplineCurves creat Geom_BSplineSurface ,but catch a Standard_ConstructionError,meaning the curves are not contiguous. the two BSplineCurve has two same point ,this not meaning the curves are contiguous? what I can do ,next is the code

gp_Pnt aPnt1(1840. , 80. , 0);
gp_Pnt aPnt2(1900. , 0 , 0);
gp_Pnt aPnt3(1840. , -80. , 0);
gp_Pnt aPnt4(1000. , -250. , 0);
gp_Pnt aPnt5(870. , -200. , 0);
gp_Pnt aPnt6(500. , -160. , 20.);
gp_Pnt aPnt7(250. , -170. , 20.);
gp_Pnt aPnt8(0 , 0. , 20);
gp_Pnt aPnt9(250. , 170. , 20.);
gp_Pnt aPnt10(500. , 180. , 20.);
gp_Pnt aPnt11(870, 220. , 0);
gp_Pnt aPnt12(1000 , 250. , 0);

const Handle(TColgp_HArray1OfPnt) Points1 = new TColgp_HArray1OfPnt (1,7);
Points1->SetValue(1,aPnt11);
Points1->SetValue(2,aPnt12);
Points1->SetValue(3,aPnt1);
Points1->SetValue(4,aPnt2);
Points1->SetValue(5,aPnt3);
Points1->SetValue(6,aPnt4);
Points1->SetValue(7,aPnt5);

const Handle(TColgp_HArray1OfPnt) Points2 = new TColgp_HArray1OfPnt (1,7 );
Points2->SetValue(1,aPnt5);
Points2->SetValue(2,aPnt6);
Points2->SetValue(3,aPnt7);
Points2->SetValue(4,aPnt8);
Points2->SetValue(5,aPnt9);
Points2->SetValue(6,aPnt10);
Points2->SetValue(7,aPnt11);

GeomAPI_Interpolate b1=GeomAPI_Interpolate( Points1,Standard_False,0.001);
b1.Perform();
Handle(Geom_BSplineCurve) acurve1=b1.Curve() ;
acurve1->IncreaseDegree(3);

GeomAPI_Interpolate b2=GeomAPI_Interpolate( Points2,Standard_False,0.001);
b2.Perform();
Handle(Geom_BSplineCurve) acurve2=b2.Curve() ;
acurve2->IncreaseDegree(3);

GeomFill_BSplineCurves fill;
try{
fill.Init(acurve2,acurve1,GeomFill_CurvedStyle);
}
catch(Standard_ConstructionError e)

Forum supervisor's picture

Dear repeat4,
The exception is not reproduced on OCCT6.5.3 (Windows7 32bit platform).
Result is built, although probably for 'CurvedStyle'
it looks strange (see the attached picture Capture2).
For 'CoonsStyle' it looks more realistic (see Capture1).
Regards

Attachments: 
P G's picture

What I have observed is that the constructor of TWO curves does not throw any
exception if the curve ends are not contiguous. Create two parallel splines
and the constructor build's a surface !!!
- PG