algorithmic modeling for Rhino

I adapted some medial axis lines created from an outline and various hole curves to 3D puffing or inflating akin to the Rhino logo or the sort of output Delcam Artcam or RhinoRelief can produce, but it's a bit clunky. I offset the medial axis separately on both sides to create points along them that I then simply found the shortest closest point to any curve and used the distance to raise the points up out of the plane and then created arcs between the two points which I then in turn populated with points and created a mesh with those points. The offset, even a slight one made sure that points really routed to both sides of each medial line regularly, rather than having whole series of medial points preferring one side or the other of the medial line as it wanders a bit off true center. I would like a much more elegant way to do this with good control over my 3D profile shapes rather than just arcs. The point is that it gets steeper as it gets wider, aware of the overall shape of the boundary area around it. Given that Artcam is a multi-thousand dollar program, it would be nice to offer more people this very simple creative tool. It's fairly fast despite the big Grasshopper layout, this three inch wide example taking two seconds to update when the base curves are point edited. I always thought this should be a normal Rhino command or at least a highly controllable Grasshopper element.

Related thread about medial lines:

Views: 5352

Replies to This Discussion

A new plug-in for architects called SmartForm looks promising if I can possibly pin entire edges and still do the puffing:

I tried something like this in the past but the interfaces and instructions were too arcane to even play around with.

Hi Nic,

Here's a simple way of doing this:The definition also includes a meshing step with MeshMachine.

You can also use the GasVolume component if you prefer to control the contained volume directly rather than the pressure.

Here's the definition:


Bingo! I just had to add a 100ms timer and reset button to the SimulationReset input. It works with a hole just fine too. The PressureLevel and Stiffness give a lot of control over it too, just as nice as $800+ ArtCAM can do. Below I turned the Stiffness way down to create an extreme ballooning effect. I understand Kangaroo better now too, thanks!

How do I quickly obtain such an even triangular mesh to start with? MeshMachine is giving me too many artifacts. As an alternative I used the Rhino _Mesh command with the detailed settings for minimum and maximum edge length set to the same value, which forced a regular square mesh.

A more involved alternative was also presented on the SmartForm thread above.

Another way to cap extrusions well is to re-make them by splitting the source curve in two, to result in two single surfaces that then the normal Rhino BlendSurfaces can operate on, with quite a bit of control over the result:

Many commands can be done via Python scripting in Grasshopper to issue native Rhino commands, here using the minus sign as -BlendSrf to rid the dialog box, but the command is requires manual screen selection too so I can't automate it that way and Grasshopper itself doesn't have surface blend.

Another odd capping method is to split the single surface extrusion with an isocurve, via the isocurve option of Split, then just loft the ends with tangency checked in the dialog:

However, this splits it both at your chosen isocurve and then necessarily also at the natural seam in the original single surface, so you don't have full control over where the halves are sliced at.

T-Splines naturally gives rounded caps when you cap a T-Splines extrusion of a curve, but though they include a Grasshopper plugin, the needed commands are missing:

This doesn't matter much though since I'm really only using Grasshopper to add function to Rhino that T-Splines already seems to do just fine manually.

However, T-Splines takes a lot of work if the extrusion is a tube with wall thickness.

The way Geomagic Freeform handles capping is via Inflate, similar to ArtCAM puffing but with a bit less control:

The artifacts are readily smoothed out:

But it won't do Inflate with a hole in it, or dozens of profiles. That's damn $8500 software for you.

At this rate, given how clunky Freeform is for fast modeling, I'm back to Rhino cap and fillet, or sweeping a formed fillet along one rail, or rail revolve, followed by a flat cap.

Added a rollTheBones option (for the brave) and the ultimate challenge (for the very brave).


Removing anchor points is playful.

However, I lately can't get MeshMachine to work at all on multiple 2D meshes that require fixed edge curves to not collapse during remeshing, so your final letters mesh fails:

You left the timer out for Kangaroo so I don't know if you used one for MeshMachine too, but a single run of MeshMachine minus a timer does at least give a starting mesh, with your Iterations input however having no effect:

But not one worth inflating.

I've tried every combination of grafting/flattening/simplifying I can think of for the MeshMachine inputs. All the meshes immediately collapse towards one of the objects and the disappear, more or less, or parts collect in one letter, such as if I graft the geometry input and flatten the anchor curves input:

Do I need some tree structure tricks? It seems like the fixed curves are not associating right with each independent mesh?


Hmm ... this means that the Lord (as "the Lord") beats MM?

To answer this critical (for the mankind) question ... appears that a V2 is required.

more, soon

Hi guys,

Converting the Breps to meshes and joining them into one (disjoint) mesh before input is a way to get around this.

Also, whenever there are feature curves with sharp corners like these letters, it works best if the corners are kept as fixed vertices and the boundary curves are not joined. Otherwise, because the outline is all one curve, vertices can jump across the corners from the segments they belong on, causing the mesh to get twisted and possibly break.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service