Nautilus plugin

Following these discussions and for a future release (0.8)

I made an implementation in my Nautilus plugin of stable positions of a list of objects. In order to work it needs some geometries that are closed (volume and centroid calculation). Using Pack it is possible to see all the stables positions.

Cow is funny, 9 stable positions

I also added a 3d convex hull, not a lot of news except that it accept many type of geometries (point, curve, brep, surface …). This rely on Grasshopper SDK tool GH_convert.ToMesh( …)

As Easter is approaching I added some eggs

Also I add coloring if multiple meshes are outputted


This looks more like it’s Christmas every week with all those new tools to discover !..

Most of the tools are old ones that I made to answer some questions.
I have also

  • YANG Nodes.
  • From Mesh To DualMesh Transition.
  • Image knitting.
  • MacroWindow(Morpheus).
  • Wire bundling
  • blur line
  • Geodesic wave front
  • Roof generator (medial axis)
  • Medial axis for shapes with holes
  • Growing circles/anemone
  • Curve suppress prockets (for tools like CNC)
  • Manhattan voronoi
  • Some patterns ( Hybycozo style)
  • Image thinner
  • Interlocked spiral
  • and surely some others

And I keep some just for me and some need a licence to work well.


Version 0.8 published
I added my version of Curve Divide Distances (work with linear search), thanks for the interface (wrap), I also implemented yours but it stays on my PC but you could surely make a plugin. Just an advise, separate gha from the tools, so make a library.

Mesh Cage morph, useful to use @DanielPiker MeshCageMoprh2

Quad Mesh groove

Mesh Quad strip (for also for triangles but not good)


Nice work!
Also - in Rhino 8, as an alternative to MeshCageMorph you could use MorphToMesh to map geometry to the hexagons from your HexagonOnSurface component (75.0 KB)


I am working on some new components. It is like the Region Slit from Grasshopper but I tried to add some new features, engulfed curves and non perpendicular planes. It is intended to output shapes that could be done with a 2D cutter(a saw, cnc). It works quite well but it has some limitations as it is not using 3D boolean, just 2D boolean (could be not assembled, if the end of a curve is too near from another curve …)
Here an example very simple.

I get that

Grasshopper slits

It seems to give a sort of puzzle


Version 0.9 was added with some new components
Loxodrome, Loxodrome Piped

Color Mesh Weights

Mesh Remove Color : a component that removes all the colors on vertices for a mesh.

Spiral4D : related to this discussion

Smoothing Weights on Mesh 1: Laplacian Smoothing of weights associated to vertices of a mesh, this algorithm uses Rodolphe Vaillant and Daniel Piker tools Diffusing / smoothing weight map over a triangular mesh. - Rodolphe Vaillant's homepage Discrete Laplacian - #21 by DanielPiker
Smoothing Weights on Mesh 2 : Laplacian smoothing of weights associated to vertice of a mesh, this algorithm uses @DanielPiker tool published Discrete Laplacian - #21 by DanielPiker

Region Slits Ext & Extrude sheets : see previous presentation

Mesh Reaction Diffusion Extended

Gilbert Tesselation fans

Subdivide Mesh and Weights : A tool that subdivide mesh using Catmull & Clark method and it is doing the same to the weights associated to vertices (see result on the middle donut)


Having hens I can confirm the egg shapes are on point :grin: :chicken:
Really great work you are doing here, thank you for sharing it with us!

1 Like

I added Nautilus to the Package Manager

Some news

Spiral from Polyline


I updated Nautilus and added 3 components
Curve Region Offset
This component take a list of curves as input and put polylines in a datatree, first polyline in each branch is the contour and if other polylines are holes

This component output also the offsets
Positive offset for contour and negative offset for holes

Negative offset for contour and positive offset for holes

Group Curves by Region
The same as before without the offset

Spirals From Curve
Generate spirals that fills a closed planar curve. Not very good when curves are too irregular.


Applicazioni pratiche di Nautilus


ho postato Nautilus nel forum italiano in un mio topic aperto, posterò i progressi successivi.


Dear Laurent, can you give me a hint how the mesh puzzling and clustering can be done with Nautilus?

Hello Christian,
“complex” puzzling is not in standard Nautilus version (free or paid). Just that

Thank you for the clarification. Are the also no plans to add this in the future?

All the features are in the library (with limitations if licence is not Level 3) but the Grasshopper components just exist in a personal set of tools that I use for my specific designs (Nautilus Purple).
For example here holes are cutted on a 2D shape (using Fern Spores) then “ReRolled” on 3D.


Hello every one,
I would like to ask two questions, according to nautilus plugin. In my work, i want to create groups of cubes with uniformly distribution of points, which will be a voronoi’s centers. I occured two problems and i cant solve it.

  1. I want to create cubes with specific porosity (for example 30%). When i am doing it by ‘cubic distribution’ and set for example 500 points i get 62% porosity, but when i increase number of point even a little for example to 510 i get over 70% porosity (i cant set anything between). What is the problem? Can i solve it in some way?
    First example:

Second example:

  1. I want to create cubes with hexagonal distibution of points, and i have to set the box with dimension: 30x30x30 [mm]. When i pick hexagonal from ‘populate box uniformly’ Rhino crushes and i cant do anything (even when i was waiting 1 hour)? Do you know what the problem is?

Here is my .gh file: (14.9 KB)

Do you see any option of help? If yes i will be very grateful!

1 Like

In the version I added
Planks in Region
This tool generate planks in region defined by planar curves. It works for region with or without holes. It outputs the polyline of the plank, the plane of the plank and the length of the plank (used for 1D nesting for example)

Image Thinner 1 and Image Thinner 2

Draw a 1 pixel wide skeleton of an image while retaining the shape and structure of the full image. It uses the Zhang-Suen Thinning Algorithm from second and third method of

Difference between Rhino Vectorize and Image Thinner

Smooth output using Smooth Polyline

I added a Mesh Map component that is similar to the @DanielPiker Kangaroo component but I added Height. So if you want to Map a 3d object From a Mesh To another


Cistercian Notation

Outputs curves representing an integer with Cistercian notation, if integer is bigger than 9999 integer will be divided by group of 4 integers

It could be used to number pieces with single font short character

Equal Area Cells generates equal area cells along a tween curve that is generated using the ribs (quasi parallel lines)

It is not always same area if others options are choosen

Explode Positions explodes positions of a list geometries. It is similar to ScalePositions command in Rhino.

Two others components are used to change objects in Rhino, especially the size of circles. I used it to adapt circles size depending on the kerf of laser cutter.


I improved the time of calculation of Reaction Diffusion and it is less slow to use reaction diffusion guided with bitmap (licence needed)

We Can Do It — Wikipédia!


Laurent, you’re amazing, the details are stunning.

You do amazing filters that photographers, publishers and offset printers would love to get their hands on! :wink:

I saw this science news article about patterns in diffusion and this might give some ideas!

Related wiki
Diffusiophoresis and diffusioosmosis - Wikipedia.