Stitching on complex surfaces

Hi everyone, I’ve just started self learning grasshopper yesterday so I am completely new to this community.

I have been trying to mimic stitching on soft goods using the geometry in the first image by arraying them on curves projected on complex surfaces.

I have been able build the stitching geometry but have not been able to array it on the curves.
To be honest I have no idea how to proceed. I would like to be able to place them normal to the surface, tangent with the line at the point. I would also like to control the amount of the geometry arrayed.

The surface in the file is just an example I made for me to test. Ideally, I would like to be able to array the stitching on various curves projected on various surfaces.

It would be greatly appreciated if I could get some help and advise.


My goal

stitches.3dm (61.2 KB) (14.7 KB) (30.6 KB)



I’m an accessories designer and I’m also looking into this… This would be great for al sorts of accessories or fashion for that matter.

1 Like

Hello guys !
I want to make the stitch geometry follow the direction of the curve without reference to the plane, it is important for me that the stitch goes along the axis in the direction of movement, because I have stitches in several planes. How can I achieve this and what should I do to remove the field from the curved surface from this project.Other than that i have a problem with rotation like in the picture

Parallel transport (Wikipedia) is one way to solve such an issue.
Entagma has a nice video on that, which explains it in detail and implements it in Houdini, though a lot of that should be transferable to Grasshopper as well: TD Essentials: Parallel Transport on Vimeo

1 Like

Thanks for the answer ! Realy interesting approach.
But for me this is a rather complicated path, I would like to find a solution in the Grasshopper environment.

You’ll still likely want to use a plane orientation to control this. There are cases where a single vector is sufficient to generate oriented geometry but in this case you have a a 3D object populating across a 3D curve across a 3D surface. Planes will be your friend.

I would get the Tangent at the evaluated curve stitch locations, construct a plane from the tangent vector, and then add the stitch geometry at these plane locations so that they follow your curve direction consistently.

1 Like

Yes, of course I understand you, the surface certainly helps accurate modeling, but I have a task to build a lot of stitches and I want to find a solution where I don’t have to build sets of auxiliary surfaces.

Alternatively keep it simple. In a render with rougher material it’ll look very close to stitching.

1 Like

Set the Pipes to “Round” End Caps and it’ll look even better

1 Like

Definitely a good idea, thanks. I will test this option.

Looks better! Thank you

1 Like