The Grid. The most kicked about lost child of Rhino

I think it should be possible to write custom grids with RhinoCommon.

@stevebaer @dale how would that look with python or c#?

How do you think a custom grid would be defined?
Are they always planar?

customly? :smiley:
i´ve seen grids only with points at the intersections without lines, that looked useful.
maybe this along with the ability to make the main lines thinner.

sounds like a 3d grid? would be useful i believe with points which significantly in- or decrease their size depending on their relative distance to the camera including a perspective shading for example.

maybe also polar grids?

not sure anymore about the windows version but the mac version has the option to color the grid accordingly.

You might want to check out Grasshopper:


Come for the grids, stay for the poetics of order :wink:

1 Like

The grid

  1. is a visual reference (lines, points…)
  2. has coordinates to snap to (function or list)
  3. has a “geometrical shape” like plane, sphere, cylinder, torus, spiral, helix…
  4. may have multiple (ortho) directions. For example a hexagonal grid.

For an initial example simply planar would be fine :wink:

Being able to define different grid sizes and snap spacings for X, Y and Z would be very useful.

1 Like

And certainly join us for Grasshopper 2 for zoom-aware dynamic grids:


Are the desired grid options for illustrative purposes or to assist in modeling?

Some of the suggestions for grid options such as non-planar grids and hexagonal grids would break the association between the grid and the viewport C-plane coordinate system. Also making the grid non-planar would move the grid off of the CPlane.

An important question, as these are two pretty distinct purposes each requiring their own unique feature set.

I can see that for illustration or display purposes that an almost limitless number of features could be suggested.

For modeling purposes I think the most important features are:

A) the ability to place the grid anywhere in the modeling space through custom setting the edge locations, which includes

B) more control over the line styles and colors

C) the ability to easily toggle the grid on and off per viewport.

For me, this is very important, It could be implemented by another button next to the viewport title. or another approach could be to make grid visibility a display mode property so that the user could create a grid off and grid on version of certain modes.

That’s what it is all about. Why not having a cylindrical or spherical grid with platonic snaps? Would be a pleasure for SDS modeling. But there are also technical modeling challenges where more fancy shapes would be very useful.
Project might work towards the grid shape’s normal or closest point.

Another useful thing would be to be able to specify the grid sizes in a dynamic way using a set of commands:
SetGridSizeX, SetGridSizeY, SetGridSizeZ, and then input a number or a dimension using the mouse.
I also find useful to scale the grid up and down. I have a script assigned to Ctrl+2 to double the current grid size, and Ctrl+1 to divide the current grid size.

Funny to see different wishes and modeling styles. Since over 15 years i always turn off the grid.

I only use it to quickly locate the origin.

Given how small or far away the grid can be from whatever location I’m looking at, I find that the easiest way to find the origin is to run the Line command, click in the middle of the viewport and then type 0 Enter.


Oh, I meant visually if I’m modelling close to origin.
For quickly zooming to the origin I have an alias with a macro:
_Rectangle 0,0 100 100 _Sellast _ZoomSelected _Delete

1 Like

I want to thank those who replied.


Funny… same here!

me too, only I type 0 and then just hoover the mouse and or zoom and hit esc when satisfied.

1 Like

Grids could be easily defined by a small program created in script languages such as RhinoScript or Python. The created grids can be placed in different layers and assigned different colors automatically. They can be created for any construction plane at any location. They could be points, lines, or circles. When done with a grid, simply delete the layer that they are placed on. The scripting languages are very powerful and easily programmed so you don’t have to wait on McNeal for features. That is why they provided powerful scripting languages. You wouldn’t believe some of the creations I have designed in RhinoScript and quickly changed just by altering parameters. My latest is BoltGen created in RhinoScript and transferred to Python. The language is Basic-like and easily programmed with all the Rhino functions available.
Here are a couple of automatic creations by program control.

1 Like

Hi Steve,
Please read my suggestions in this thread for some simple ways to add grid customization: