Mesh faces with more than 4 vertices

How can I construct a mesh with more than 4 vertices per face? is it even possible or grasshopper doesn’t support it?

I drew a single-faced mesh with 6 edges in rhino, and when I set it in grasshopper this is what I got:

It seems like it has been automatically divided into multiple faces but I can’t see the internal edges.

Display–> Peview Mesh Edges(Ctrl+M)

yes I have it ON but it still doesn’t show (until I explode it)

Ngons(faces with more than 4 sides) in Rhino are actually groupings of triangles in a mesh, which is why Grasshopper shows a higher face count than expected.

I believe there isn’t currently any way in native Grasshopper to create Ngons without scripting or plugins. It doesn’t preview the edges inside a referenced ngon, but I think for all other purposes Grasshopper just sees all meshes as made up of triangles/quads, without a way of accessing or creating the ngon groupings.

Plankton was written before Rhino included Ngon support - it is an alternative data structure and way of navigating meshes and if you want to use it together with Rhino meshes you need to do a conversion.
It was intended mainly for use as a library through scripting, and doesn’t come with many Grasshopper components, though I know there are now some plugins which provide more Grasshopper interface for Plankton functionality.

There is also now the Ngon plugin by Petras, which provides Grasshopper components for the native Rhino Ngons.

You can also create Ngons yourself with simple scripts using the methods from here:


For me the easiest way is to construct polygon meshes from polylines, as you would draw by hand.
You would almost never initialize the mesh by manually writing the triangles face indexing.
If you need a specific case I can add a component.
From construct, deconstruct and other Rhino NGon mesh manipulation can be found in the example files.

You can read Rhino Ngon Mesh using this:

1 Like

Okay this makes sense, thanks a lot for the explanation !!
I have got to improve my scripting…

This plugin is awesome! thanks Petras, I’m already on it

1 Like


The grasshopper in the Rhino7 WIP, just by plugging a SubD component into a mesh component, appears to be able convert SubDs with Ngon faces to meshes that include non-triangulated ngons, even if the ngons are not planar. So if all someone needs to do is import a mesh and keep the ngons, this is a very easy workaround.

If you bake and then subobject select an ngon mesh face that was created this way, the triangulation will be visible. But it will behave as a single face for many mesh commands and for conversion back to SubD. A bunch of native grasshopper components for meshes will break this, though. I feel pretty strongly that grasshopper 2’s mesh components should have boolean inputs to opt for triangulation or not.