A suggestion: For those transitioning from Alias, ICEM, or Catia, it would be good if Rhino would offer a Knots display, not only a Greville points display (Edit Points), because one could see directly how many spans a curve has, and how these are distributed along the length of a curve, and one could also understand other issues better, for example where internal G3 discontinuities originate from, or where a surface’s spans originate. Right now, one has to (ab)use the InsertKnot command on a curve to see its Knots. Also, the surface Isocurve Density should be 0 by default, so only “real” surface isovcurves are shown. Rhino has all that information “under the hood”, so why not offer to display it?
I support the request for a DisplayKnots command, and would like it to work on surfaces as well as curves. For surfaces it should display the “knot curves” (isocurves with parameter values equal to the parameter values of the knots).
Options > Advanced > General > Default surface isocurve density and set to 0.
All isocurves are “real”. An isocurve/isoparm/iso-parametric-curve is simply the locus (collection) of all points on a surface with the same value of the u or v parameter, ie iso parameter. If the parameter value of an isocurve equals the parameter value of an interior knot then that isocurve corresponds to the division between spans of a surface. I refer to such isocurves as “knots” or “knot curves” but that terminology is not universal.
Methods to find/see knots:
Use the Knot Osnap when selecting a location with the cursor.
For surfaces if isocurve density is 0 then only knots are displayed. If the isocurve density is 1 then only knots are displayed except that if surface is single span in u, v or both an intermediate isocurve is also displayed.
CurvatureGraph with Density = 0 there are comb legs only at knots. Of curse this is not useful where curves are straight and surfaces are planar.
A similar request I made five years ago: Request - DisplayKnots
IIRC, InsertKnot and RemoveKnot show the knot locations, but of course it’s not persistent outside of the command.
I also would like to be able to display that information. The legend icons in the post above are a great example.
Ability to see edit points (square) along the control points (round) was requested so many times during the years…
meanwhile for a quicky to display the knots in a curve this macro should work. without preselect it prompts during the convert command, when preselected nothing prompts.
ConvertToBeziers Pause N Enter None Sellast -group temp enter Intersect None -selgroup temp enter delete
edit: actually it also works on surfaces
Great work!
Much appreciated! At last we can see what we want to see when NURBS surface modelling. Goodbye Greville points. On a curve, the interior knots are shown with points. On a surface the real isocurves generate curves. Two things:
-
How to switch points/curves off with a right click on the same button that switches them on?
-
Also, the interior knots (curve) and the curves (surface) are not persistent, when the curve/surface is reshaped by moving the CPs.
Made a button for Knots on…
I do like the default density, especially in wireframe view where I can select the surface not clicking on the edge but by clicking on the isoparm (even if it’s not the ‘real isoparm’)
Great, that’s the spirit, that would be ever so useful!
Looks good and much appreciated but there is a bug. Knots are shown on only one surface of a polysurface even when all surfaces are selected.
TestShowKnots Bug DC01.3dm (195.8 KB)
@davidcockey yes I saw that, that’s an easy thing to fix
I wonder about the usefulness of showing the points and the isocurves at the borders. Pascal mentioned me he would rather not see those (and not show any knot-isocurves that are outside of the surface trim. I might opt for a switch to toggle between
a) show the underlying surface and border isos
b) show only the knots that are within the surface’s trimmed boundary
@Gijs I’d prefer the toggle between showing only the knot isocurves on the trimmed portion are desired, and showing the knot isocurves of the entire surface. I envision uses for both.
Shwing the knots for the entire underlying surface is an easy way to see the extent, and shape of the underlying surface.
Perhaps another toggle to show border knot isocurves. A quick way to see exactly where a surface has been trimmed would be to show only the knots on the trimmed portion, and look for where the edges do not show knot isocurves.
Why the dots at the ends of the knot isocurves?
Perhaps TestShowEdges needs it’s own thread.
That’s the business! Would be great to have this in V8 already ; )
Showing the entire Us and Vs also for split/trimmed surfaces is great; very often users wonder why “the surface is bigger”, not seeing it by showing its CPs.
Now we need proper history, where a curve/surface (child) aligned to two other curves/surfaces updates on changes to both (parents) : )








