Nurb Surfaces, Control points and weights

  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.

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)