"spiralize" offset curves for fabrication

I implemented similar method, but would not advice to use such tool path for robotic cutting, since it is much slower than regular zigzag patterns. For sure it is the shortest (but not necessary fastest) for complex shapes, 2d CNC and 3d printers, but slow for 5 axis which I learned hard way…

Thanks Petras, I am working with a 2d case, regular zig zag patterns are certainly much faster (and much easier to make)
I am following the paper ‘connected fermat spirals’ by Zhao et al. the approach is to come up with curves sets for each region, treat each region as a node, then connect the curves in sequence from each region. were you able to successfully connect the curves from each ‘node’? that is where I got stuck last year.

You can offset polygons with clipper. To track the grouping you just need to check when offset becomes multiple curves after offset.

Thanks Petras, I like the idea of checking when an offset becomes multiple curves. Now, to try implementing it

hey everyone, i am rolling up this topic, as i really need to get this working and understand the defintion for a project, …we have individual shapes/panels which we wanna draw a path on, to calculate a heat wire placement…must have a with a specific start and endpoint, the distance to each path needs to be adjustable, as well as distance to the boarder, …i also cant get kangoroos, “delete duplicate lines” to work, i found a script which i used to replace it, …but my shortest walk in Laurents definition seems to not work properly, maybe its a graft/flaten issue…i attched the files, hopefully someone can guide me into the right direction, thank you…

Heizdraht 1.3dm (2.5 MB)
test path Laurent Delrieu.gh (50.3 KB)

okey i actually managed to get the shortest walk working now, but still some strange error at the end…see picture…but i need to do some adjustments also, like set specific start and endpoint, but also pottenzially set a maximum line lenght, thank you communicty for the help, much appreciated


test path 2.gh (42.7 KB)

@laurent_delrieu , i guess my picture above is a graft flaten issue…?? also, would you know where to set a fixed distance from 10 to 20 mm , of the final path to the outside region curve…? thank you…

Some problems
first there was an error to transform 200 to an int, I added int component

Radius for the circle is here, it is multiplied by 0.5
image

You need to flatten the curve in offset component and also set a tolerance that is OK with the scale

That’s all
test path 2 _LD.gh (46.4 KB)

@laurent_delrieu , thank you , you are such a legend!!, i figured a few thing while going slowly thru the definition…so i wonder if there is a way of solving the corner issue so the final line retains a certain offset always to its base region…
Unbenannt

As it is due to circle placement, if you want some sort of clear region you should change the inner corner or have a tool that does circle constrain on their center and not their perimeter.
From that
image

to a frontier like that, surely not good for kangaroo
image

Or suppress circles whose center is outside some offseted curve of the perimeter.

Surely @DanielPiker has better idea on this subject.

thanks again for the time, i will definitely do more deeper research on this entire topic

Would this approach work for you?

Adaptive_Circle_Filler_tree.gh (56.9 KB)
It avoids creating edges that cut across concave corners by taking the Delaunay mesh and only using the interior edges to pass to the shortest walk part.
(this probably won’t work if the circles get small enough that some concave corners are clipped by multiple edges - for that it might need something to explicitly get rid of edges that are not fully within the offset boundary)

(uses the same goal previously posted here)

thank you @DanielPiker for taking your time to look at this, …its monday here and i only saw your reply, i check out your definiton immediatly…in the mean while i had restructured @laurent_delrieu s definition into a new format, and it already is very close to my needs, and i am very gratfull for the support here…


The Last Wire Bender 2.gh (67.5 KB)

@DanielPiker hey , good morning guys…and thank you daniel for that last example definition you posted, …so i am now trying to weave in your “adaptive circle” definition in my latest , “last wire bender 2” def, i post here new… …i think this maybe interesting for the community, and i wanted to share the file, so everyone sees my challange… first of all i am no were near being a pro in grasshopper hence i need the help here please… and unfortunately my understanding of scripting is at level 2 of 100…i feel

in the file , i added a calculation , see picture, i need to calculate heat wire to stitch into a fabric what gets inlayed into a tile , this fabric is machine produced and the output path is the stitch path for the heat wire…now one criteria is a minimum radius of 5 mm, hence the fillet in the defintion, this is so there is no heat traps between wire distance,… another criteria is… that the distance between the wires can not be less then 10 mm and not be more then 20 mm, plus i need to fill as much area as possible to optimize the heat disipation… so i had to find a way calculating the optimum points to add into the region to get to a certain value, i ended up with a tausend of the tile squarmeter, …now here my question to @DanielPiker …is there a possibility, for the circles in your sript not contract to the same size, …rather give him a range of circle sizes available, so the initial region gets filled more optimal, and the final shortest walk path potentialy as well reaches some areas better…

i hope this makes sense, thank you. looking forwards where this is going…

The Last Wire Bender 2.gh (112.6 KB)

i managed the combine those two files…here is the start up messy file… still i am working on the constrains i mentioned in my reply ealier , circle radius can not exceed 20mm not under 10mm … my best idea i still have, is the adaptive circle range for the kangaroo solver or maybe a set of circles rather then a range, due to calculation difficulties maybe, not sure

The Last Wire Bender 4.gh (108.6 KB)

HERE WE GO !!! Here my latest !!! Totaly new approach and concept, pls check it out…works like a charme!!

May this help anyone who needs it in future,
The Last Wire Bender.gh (29.7 KB)

This Link has expired,
Here is a currently working link to the paper: