problem with Geom_BSplineSurface

hello there,

i'm trying to make a Geom_BSplineSurface with the sandart constructor. here is what i got so far:
Handle (Geom_BSplineSurface) hFace = new Geom_BSplineSurface(CP_OCC, Gewichte_OCC, uKnots_OCC, vKnots_OCC, uMulti_OCC, vMulti_OCC, NurbsDaten.uGrad, NurbsDaten.vGrad);
myFace = BRepBuilderAPI_MakeFace(hFace);
TopoDS_Shape aShape = myFace;
i can compile it. but when i'm running my application it fails on the new Geom_BSplineSurface constructor.

documentation says:

UKnots(i) 1

On a non uperiodic surface the first and last
umultiplicities may be UDegree+1 (this is even
recommanded if you want the curve to start and finish on
the first and last pole).

Don't this two statements disagree??

e.g. udegree is 3 and uknot is then 00001111 so the second condition is ok but u knot

any sugesstions how i can create Geom_BSplineSurface sucessfully????

thanks a lot


m-aronsson's picture

Debug it and find out where it gives up in the constructor and you will find the problem.

Just to make everything clear, I assume that you have set the knot vector to [0,1] and the multiplicity vector to [4,4] you cannot set the knot vector itself to 0,0,0,0,1,1,1,1.

And I also assume you have the correct number of knots for the specified number of control points (you did not say how many control points you have).