been trying to create creased surfaces with addNurbsSurface, in theory a 1 degree parametrization in one direction should create a single surface with a crease. That’s at least how it works in manual modeling. However passing all the required arguments to addNurbsSurface will only create a polysurface instead of a single creased surface. Am I doing something wrong, or is it a bug ? I am building up a lot of geometry and I need single surfaces instead of polys. It is very easy to replicate with code from the help file or build your own.
srftest.3dm (63.9 KB)
import rhinoscriptsyntax as rs obj = rs.GetObject("Pick a surface", rs.filter.surface) if obj: point_count = rs.SurfacePointCount(obj) print point_count points = rs.SurfacePoints(obj) print points knots = rs.SurfaceKnots(obj) print knots degree = rs.SurfaceDegree(obj) print degree if rs.IsSurfaceRational(obj): weights = rs.SurfaceWeights(obj) print weights obj = rs.AddNurbsSurface(point_count, points, knots, knots, degree, weights) else: obj = rs.AddNurbsSurface(point_count, points, knots, knots, degree ) if obj: rs.SelectObject(obj)
Any idea what is going on ? Why is it creating polys instead of a single surface ?
Need to add a bit more info. The example surface to run the example script on, was created using the rebuild surface command on a curved surface, giving it (3,4) control points and (1,3) degree - resulting in a single surface.
If I try to manually create a nurbs surface with the same parametrization as above, using SrfPtGrid, Rhino will again output a Polysurface instead of a single surface with a kink. I presume it is related to a knot vector issue.
Any help appreciated.