Uniformly Wrapping Faceted Texture Along Curved Surface (Grasshopper)

Hi All -

I am having issues with uniformly wrapping a texture along a curved surface. At the curves, the texture is mapped correctly; however, the texture distorts and gets stretched along the planar areas of the surface. See below for reference.

How can I wrap the texture uniformly along all areas of the surface? Appreciate any help!

I’ve attached both my Rhino file with the baked profile curves and the Grasshopper script.

Faceted Voronoi Surface.gh (14.3 KB) Pi Z Box_gh surface.3dm (40.7 KB)

If you’re running R7, there’s the feature named TriRemesh.

Faceted Voronoi Surface_re.gh (19.4 KB)

That looks fantastic. I’m running R6, unfortunately, but this is a big incentive to upgrade. Can this only be done with a trimesh, or can you also define the number of hexagon sides? Also, and an amplitude be defined for the facets? The surface appears to be smooth.

Really appreciate the help!

Then, you could use MeshMachineStatic instead…

Faceted Voronoi Surface_rev2.gh (21.2 KB)


You’ll get dual mesh fr ‘Dual’ output of TriRemesh or you could also use other dual mesh features like ngon or weaverbird plugin.


I gave this a try, but unfortunately Kangaroo 2 (included in R6) does not include MeshMachineStatic, and Kangaroo 1 is no longer available for download. The uneven wrapping issue I’ve been having persists in stripped down version of the tool in Kangaroo 2, Simple Remesh. I’m seeing the same issue after downloading the NGon plugin.

The only way I have figured to “resolve” my issue is to split the surface out into smooth and curved sections.

Check the link in my post above and you can download Kangaroo Physics 0.099 fr Food4Rhino.

Here’s a version just using standard R6 components
FacetedR6.gh (20.6 KB)

Also, your original approach with the regular grid works if you rebuild in the Loft options:

loftoptions.gh (6.6 KB)

Thanks, Daniel. This is perfect - Loft Options seems to be exactly what I needed.

I missed that .099 was also listed. Appreciate that

Daniel, in your FacetedR6 solution using custom mesh settings, is there a way to define the number of sides to the geometry (6) and set all edges to a fixed length?

No - remeshing is a fundamentally different approach. It will always result in some amount of irregularity.

If you want a strictly regular grid in terms of connectivity and edge lengths, then something parametrization based is the way to go (i.e. making use of the u/v directions of the surface).