What rhino commands do you use on a regular basis and think others don't know about?

Lasso as a nestable command has been handy as hell today…

Building a nice G1 or G2 blend surface between two input surfaces that don’t intersect together is very easy by using curves drawn on those surfaces, then building a “Loft surface” between the two curves, followed by “Match surface” with the “CurveNearSurface=On” option. Here is a short turotial:

Loft plus Match surface.3dm (4.4 MB)

6,5 MB video:
Loft plus Match surface.rar (6.1 MB)


nice technique,
is there an advantage in doing this in comparison to
split at isocurve and then blendsurface?

in many cases blendsurface creates way too many control points.

1 Like

As Ivelin Peychev already mentioned, sometimes “Blend surface” tends to create an excessive number of control points that in essence are not necessary to achieve the desired result. Also, “Blend surface” may create uneven distribution of control points that causes messy flow and broken reflections.

Another advantage of the “Match surface” technique with aligning to curve on a surface is that you can control the shape of the resulting blend surface. Also, it lets you edit the shape at any time when History is activated, ether by editing the curve (dragging points, dragging the entire curve, changing the degree or number of control points of the curve) or by direct manipulation of the surface control points.

Here is the same set of surfaces, but split with isocurve and connected by “Blend surface” with the default weight of 1 for G2 on both ends. Not only it created more control points, it also has a wrong control point flow that’s easy to notice when turning the Zebra analysis on.

Loft plus Match surface.3dm (7.4 MB)


My experience with BlendSrf is the number of control points In the direction from one surface to the other surface) is the minimum number need to satisfy the requested continuity conditions (excluding degenerate situation such as a blend between to coplanar surfaces). For example G2 continuity to both surfaces needs 3 + 3 + 6 control points. Any examples where it is greater than that number?

Also, if you Loft and MatchSrf to extracted isocurves on the surface (CurveNearSurface=On) and use History, you can MoveExtractedIsocurve and slide the blend around to get the shape right. Unfortunately this (History on MatchSrf) only works on one side at a time.



Just checked in v6 and the number of control points matches that of the surfs-to-be-connected.

My claim for blendsurf is based on Rhino5 and before. Afterwards I had barely used it.
Maybe they have improved the command meanwhile.

Going back to the original question I would nominate ‘help’. I use it a lot but suspect from some of the posts on discourse that some people don’t!


I feel stupid right now… after several years I discovered Print Display… I was looking for that option inside Display Modes and maybe it is a good idea to put it also in here? Command is fine but as my defense I must write that It seems to me perfectly reasonable to look for that kind of option under Crv display settings in Display Modes.

So, from now on, I think I will use Print Display on regular basis.

Not sure if I have mentioned this before, but I will write it just in case.
Extracting the surfaces (especially if they are trimmed) and applying “Rebuld edges” before using “Match surface” gives you far cleaner result most of the time.

“RemoveMultiKnot” also helps most in most situations, followed by “Match surface”.

Can you post an example?


One other thing I can add now that it comes to mind - I use subobject selection a lot. In V6, it can be applied to polycurves and polylines to select individual segments within the curve. I now use this regularly when working with polylines, especially the ability to sub-select one or more segments and move them a precise distance via Gumball or simply hit the Delete button to create openings.


I can’t reproduce such scenario now, but it happens quite often in my workflow. And “Rebuild edges” is the only solution that makes the eventual “Blend surface” or “Match surface” simpler.

However, in rare occasions “Rebuild edges” does the reverse effect and here is one example where “Blend surface” gets over-saturated with control points if you apply “Rebuild edges” to the trimmed vertical surface. “Remove multi knots” will make it a bit simpler.

Rebuild edges 1.3dm (123.0 KB)

Thank you for teaching us about ContextMenu. It is very useful.

If you don’t mind, would you tell us about your SemiSmartPopUp Macro and share it with us ?

It sounds great to me but I couldn’t find it in docs-mcneel, mcneel wiki and discourse-mcneel.

Hello - ‘SemiSmartPopUp’ is a scripted tool I made a long time ago to try to pop up context sensitive menus… depending on the current selection. It only partly worked… 8^)



I understand.
Thank you for your quick answer.

3 posts were split to a new topic: CurveBoolean vs Intersect and Split

Absolutely true! Subselection :+1::+1::clinking_glasses::clinking_glasses::champagne::champagne:

MarkSurfaceDiscontinuities, which looks for internal discontinuities of surface.
I’m very grateful to pascal for this great plugin.

The image below is the result when I run
_MarkSurfaceDiscontinuities _Details=Yes _MarkAllFullyMultipleKnots=Yes _KnotColor=255,0,0 _G0Color=0,0,255 _G1Color=255,0,255 _Samples=32 .