"spiralize" offset curves for fabrication


I want to modify these curves so I can use them as tool-paths.

The problem is though that due to the specifics of the fabrication process these can not be multiple curves – instead it has to be one continuous, smooth curve.

The idea is to “sprialize” the curves like this:

For curves with multiple inner curves I can’t quite figure it out. Has someone an idea to guide me in the right direction? I am not looking for the solution - but some advice would be awesome ! :bowing_man:

thanks spirialize.gh (1.2 MB)

For the general case … it is highly unlikely that you can do that without code (that if it works is worth gold for several MCAD/M related stuff).

See the best approach published so far:

anoffsetalgorithm.pdf (723.4 KB)


It would be informative to see how you arrived at your “multiple internal curves” input to begin with, because it might pay to perform some “surgery” before you started joining curves. Are you really just looking for a spiral path that traverses that entire region, with fairly evenly spaced paths?

For convex polygon you can use spiralize from my script (from Entagma), see here

When you have the spiral you can then offset it

spiralize test.gh (31.1 KB)


Hi Ethan,

Are you really just looking for a spiral path that traverses that entire region, with fairly evenly spaced paths?

yes - perfect coverage of the surface is also not important. The idea is really to get a similar look to the input curves while only using one curve. Also the robot doesn’t do well with sharp corners so I am trying to avoid them.

the clipper plugin was a great help and i come this far:

the inner and outer “layer” isn’t connected yet, there is some overlap and the corners are still too sharp.
I can upload the file but it is really a mess at this time. :frowning:

cleaned up version:
you will need clipper and anemone
offset_4.gh (46.1 KB)

Here is something specific to your first example and doesn’t quite give full coverage, and has limited applicability, but aside from that, it’s perfect!

spiral path.gh (17.7 KB)


thanks, some nice concepts inside! have to think about some more…
(script in action)

Hi @Konrad.Kobayashi, i recently had to implement this and used clipper and this paper as reference.



Fusion360 will generate tool paths like that (single continuous curve)… for example, pocketing with ‘Morphed Spiral’ option on a part shaped liked yours yields this: (the model is from Rhino)


…not sure if this would be an option for you but if it is, it’s quick to do.


BTW see the inner aspect of things (if you are after code matters):

clipper_ver6.4.2.zip (2.4 MB)

1 Like

Yes! This is the thing I am looking for. Thanks for the link.

some fun stuff…



It is also possible to make a single path using this technique

I cried at the end.


Would it be possible to share the fermat spiral code?:slight_smile:

Hi @Petras_Vestartas, sorry, it is proprietary. What would you use the path for ?


Educational CNC milling:)


My turn to play
@clement what tool do you use to have so low size (kb) GIF ?