API Reference > geometry-core > Bspline > BSplineSurface3d > create create MethodStatic Create a bspline surface. This create variant takes control points in a "flattened" array, with points from succeeding U rows packed together in one array. Use createGrid if the points are in a row-by-row grid structure knotArrayU and knotArrayV are optional -- uniform knots are implied if they are omitted (undefined). When knots are given, two knot count conditions are recognized: If poleArray.length + order == knotArray.length, the first and last are assumed to be the extraneous knots of classic clamping. If poleArray.length + order == knotArray.length + 2, the knots are in modern form that does not have the classic unused first and last knot. create(controlPointArray: Point3d[] | Float64Array, numPolesU: number, orderU: number, knotArrayU: number[] | Float64Array | undefined, numPolesV: number, orderV: number, knotArrayV: number[] | Float64Array | undefined): BSplineSurface3d | undefined Parameter Type Description controlPointArray Point3d[] | Float64Array Array of points, ordered along the U direction. numPolesU number orderU number order for the U direction polynomial (order is one more than the degree. "cubic" polynomial is order 4.) knotArrayU number[] | Float64Array | undefined numPolesV number orderV number order for the V direction polynomial (order is one more than the degree. "cubic" polynomial is order 4.) knotArrayV number[] | Float64Array | undefined Returns - BSplineSurface3d | undefined Defined in core/geometry/src/bspline/BSplineSurface.ts Line 573 Last Updated: 13 June, 2024