MorphToMesh: Missing/skipped hexagonal faces after TriRemesh

Subject: MorphToMesh Issue: Why are some hexagonal cells skipped/missing even after TriRemesh (Dual Mesh)?

Hi everyone,

I am working with the MorphToMesh component in Grasshopper to populate extruded hexagonal geometries onto mesh faces (both planar/freeform and spherical dual meshes generated using TriRemesh).

Even though the base mesh is properly dual-meshed into hexagonal/polygonal cells with TriRemesh (and dual connectivity), not all cells receive the morphed geometry. As seen in the attached preview, there are scattered missing/skipped cells (or valence irregularities) across the mesh surface where the geometry fails to populate or morph properly.

Could someone please explain:

  1. Why does MorphToMesh skip certain cells even when the remeshing looks uniform?
  2. Is this related to face valence anomalies (e.g., pentagons/heptagons in dual meshes) or face vertex indexing/ordering?
  3. What is the best practice/workaround to ensure 100% full cell coverage when morphing onto remeshed dual meshes?

Any insights, explanations, or recommended workflows would be greatly appreciated!

Thanks in advance.

MorphToMesh.gh (1.5 MB)

?

Your meshes contain not only pentagons, but hexagons and foursided figures. You only define source geometries for the pentagons. Why would the hexagons or quadrilaterals be populated?

Also septagon and octogons! :grin: … Just skip over the List Item component and plug the initial MorphToMesh into Extrude directly.

That’s correct, my initial selection was pentagons; however, even now with the hexagon selected as the base module, some hexagonal cells are still not being populated!

Those aren’t hexagons! Count the number of sides!

Is there any way for TriRemeshComponent to generate a purely hexagonal output?

That I don’t know. I am weak on meshes. Maybe someone else knows.

Maybe take a hexgon tiling and distort it with attractors?

Your answer was correct; however, a 9-sided polygon (nonagon) that was missing from the MorphToMesh Reference Polygons list was not populated. Even after manually feeding a 9-sided polygon into the input, it still fails to morph. Perhaps @DanielPiker could take a look and help resolve this issue

morphmeshg2.gh (238.9 KB)

That is an unfortunate limitation of MorphToMesh You can only define geometry for 3 through 8 sided faces.

@TAB In the meantime, you can look at the Polyhedra plug-in to find other tilings of a sphere that do not produce 9 sided faces.

Interesting! I have never used MorphToMesh and feel too ignorant about it, but it seems that it’s a pre-programmed thing to not morph beyond whatever it says? Definitely Daniel would be the one to provide more insight.

On the other hand, @TAB,

Just curious why aren’t you just extruding off the mesh itself? Is it because it takes more time? I’d assume so. For that matter I’d overkill it like this:
morphmeshg2.gh (274.1 KB)


Note:
The extrude+cap combo can definitely be simpler/shorter, but it will be slower.

As I was writing over on this thread, I’ve realised the MorphToMesh component is too constraining and awkward to use - in many cases the better option is to use its internal prism morphing method, but set the target polygons yourself (and this is not limited in side count).

Here’s an example for your geometry:
morph_ngons.gh (232.9 KB)

(I’m assuming here that the extrusion here is maybe a placeholder for something more complicated, because as René points out above, for this simple geometry it can also be done without any need for morphing)

Also - re meshing with only hexagons - TriRemesh will not do this, and in general it is not geometrically possible. For an infinite plane you can have a tiling of all hexagons, but for something like a sphere, you need some pentagons to allow it to close up.