Nurb Surfaces, Control points and weights

I think maybe the OP is not understanding trimmed vs untrimmed surfaces?

what does this mean, exactly? what process are you using to do this?


Incorrect assumption. Negative parameter values are unrelated to shape of a surface.

Is there a different command that will not give a rectangular control point mesh

Hello- please see the Help files and level 1 and level2 training materials here -


1 Like

Figure (a) could represent a 2 x 1 span untrimmed NURBS surface.

Figure (b) could be a 3 x 1 span untrimmed NURBS surface but the upper left corner would be degenerate with stacked control points and likely to cause problems.

Rhino has multiple tools and methods for creating surfaces.

How is it possible that when comparing the nurb properites of these 2 cases

what we get is (after reparametrization) for the square:
Knots U:
Order U:
Knots V:
Order V:

while for the trimmed square
Knots U:
Order U:
Knots V:
Order V:

It is not possible that they have the same knot vectors and same weights.
Something is wrong here.

Hello - trimming a surface to create a trimmed brep face does not change the underlying surface. If you want an untrimmed surface, you’ll need to construct it that way. (Though I do not think there is a way in your example shape.)


Trimmed vs untrimmed surfaces. Look it up. You are comparing the same two base surfaces.

I see

Yeah, I could make one of those, but it took jumping through a couple of hoops. Normally Rhino wants to make a trimmed surface or a polysurface when presented with this type of geometry…

SingleSrf.3dm (58.9 KB)


This is wonderful.
How did you do this? I’m not sure I handle rhino well enough yet to fully understand how this was done.
How would you refine this geometry in the way you did it?

  1. Split the arc in the middle
  2. EdgeSrf with red + magenta
  3. EdgeSrf with cyan + magenta (or mirror across diagonal)
  4. MergeSrf the two adjacent edges Smooth=No
  5. Done.

SingleSrfCrvs.3dm (29.4 KB)

1 Like

That surface has multiknots on the “V” knot line in the middle. That is the only way there can be the sharp corner opposite the arc while being degree 2 in that direction. Move either of the middle control points and a kink will be obvious between the spans. The List command shows a multiplicity of 2 for those knots but RemoveMultiknot reports no multiple knots. Interesting.

The multiknots are not a surprise because MergeSrf usually introduces multiknots if Smooth=No, and sometimes if Smooth=Yes.

@user90 Before you become two excited about this surface you should read about multiknots (multiple knots with the same parameter value) and what this can mean. Sometimes a surface or curve with multiknots can cause problems in other operations.

1 Like

Another method to create an untrimmed surface with a kink in the middle.
MethodDC01.3dm (1.9 MB)

Create a set of curves including a diagonal curve.
EdgeSrf usng the arc, adjacent sides and the diagonal
InsertKink between the arc and diagonal
Move control points on the diagonal side to the apex and middle of the opposite sides.

Note: RemoveMultiKnot does not recognize any multi-knots in the this surface either.

Of course with all these explanations about how to make an untrimmed surface with an arc here…the analysis is supposed to be of a “plate with a hole in it.” No one making a plate with a hole–nevermind 2 holes!–in a CAD system will make that as untrimmed surfaces, it will be a trimmed face.

seems like a nice (academic) challenge…
for stuff like this i like _curve Degree=1 which is different to polyline !!!
(nearly a secret? :alien: :superhero:)

Polyline of straight segments and degree 1 curves as different objects is not obvious. A degree 1 curve can be created using Curve CurveThroughPts and InterpCrv

Yep. Anytime you force NURBS to do stuff that is not ‘smooth’ you will likely get surfaces/curves with internal fully multiple knots (kinks). They might be useful under certain circumstances, the user should simply be aware of what they are doing.

Rhino will actually make stuff like this automatically, for example extruding a rounded rectangle with SplitAtTangents=No. That will make a single surface with internal G1 joints, and if you move the control points at those spots, you will also produce kinks. RemoveMultiKnot doesn’t affect this type of object either (it would radically change the shape).

Since my post above I realized that RemoveMultiKnot does not work with degree 2 curves and surfaces as in this example.

RemoveMultiKnot can cause radical changes of shape when used with degree 3 and higher.

Example: RMKExample.3dm (1.5 MB)