Shoe laces in Grasshopper

Hi All,

So I’ve been meddling with this idea for a while but I’m needing to develop a laces algorithm for grasshopper, usually threading through a few eyelets but occasionally a combination of eyelets and webbing which is where things get tricky.

Currently the manual way of doing this is drawing lines between the centre points of each eyelets, extruding those lines normal to the tongue surface and then hand drawing the path of the laces on. Then flowing each lace segment along that curve, and doing any fine editing with cage edit afterwards.

This works great when the ends disappear into eyelets and you cant see them but if the laces are going between little webbing loops or those hooks you get on boots suddenly you can’t do them in segments and flowing as one continuous curve rarely gets the pinching and detail that you get at the corners.

At this point I’m just searching for more ideas on how to do it, and have it repeatable for a large range of shoes with different numbers of eyelets & hardware. regular pipes or lofts so far haven’t given the realism I was hunting for.

Go crazy, I’m up for learning any plugin or obscure method you all have.

Thanks in advance

1 Like

Did you search the forum? I posted this here a while ago: Shoe laces - Gallery - McNeel Forum

I used a combination of scanning, reverse engineering and Kangaroo simulations to create knots in ropes and flat webbing. It’s a complicated process and I’m not going to share my exact workflow.

Kangaroo has tools to calculate collisions, control bend force and volume. Super useful for shoe laces.

1 Like

I actually have this open in another tab currently, we use the Artec scanner as well, kangaroo is at the top of my list to experiment with. I’ve never used it before so it’ll be a bit of a learning process.

The animation you have with the 2 laces between two rings is the closest to what I’m trying to achieve.

Any tips and tricks you learnt in your process, I’ve read through your thread so have most of the idea as to how you did it.


Great to know you’re also using Artec scanners. You can scan larger than real life so for example scan a climbing rope for topology. And you’ll have to learn Kangaroo.

1 Like

Just to add an update on to this, managed to get it mostly running using flexhopper in the end, however the number of collisions required was killing my computer and proving to be just as long as doing them by hand, I’ve since gone about it using the geometry cache function to create editable “Handles” (curve frames baked and then a surface drawn from the edges) on the curves, making it still manual but a lot quicker, all the flowing is done by grasshopper, you can select a few different lace types then just manually tweak the handles into position, it also behaves a lot better than when doing it in Rhino. People are bound to be able to get a better result than I did with simulations anyway. Thanks for the replies, hopefully anyone else searching for how to do this can build off that. Unfortunately can’t share the code as it’s for work but that’s the gist.