Simplified sheet metal in grasshopper / moving parts back together

I’m looking for a solution to make thin sheet metal objects a bit easier, especially the preparation of flattened drawings.
For thin 1mm aluminum sheet bending, it is a safe approximation to use a bend factor of 0, which means that the inner surface of the model is leading, the outer surfaces are stretched, no compression on the inner surfaces.
If you have bends in only one direction, things are simple, the inner surfaces stay connected, but when you have an up and down bend, one of the bends needs to have a fillet. My idea is therefore to unfold and then remove the fillet parts like in this file: (55.9 KB)

I’m looking for a reliable and automated way, after removing the fillets, to move the loose parts back to each other forming one sheet again. This will then be the flat production file. In the attached file this is the object called wanted_result

this is super interesting!

the first thing that comes to my mind is to isolate the unrolled fillets, and create vector from the middle points of their longest edges, in such a way we “kind of know” what vector we need to apply

now, to understand which part needs to move by which vector, the first abstract thing that comes to my mind is graphing it down, in such a way each time a node contains one of the “culprit fillets” all its children gets moved by the corresponding vector

for instance, once you get to node 4 (culprit fillet) it moves node 5 and 6 (all children of 4) by vector of node#4

and reiterating it, when you’ll get to node 9 it will move the whole right part, and so on…

maybe this idea embeds too much “will to suffer” :smiley:

thanks @inno this is a good suggestion. One thing I can do to simplify is joining the parts as much as possible after the removal of the fillets. In this example case it then leaves 6 separate parts. Do you have a suggestion on how to create such graph map?

As for the vectors, choosing the middles of the two edges will work in this case, but if the fillet has non straight ends it can lead to unwanted results. So I was thinking to take one middle and then choose the closest point to the opposite edge instead.

What might even be more simple is to remove only one fillet at a time, find the vector, join the remaining parts, then do the move operation and repeat until all fillets are removed.

quick and dirty solution using anemone to loop: (59.3 KB)

ohhh this is super nice!!!

well, it’s a start :slight_smile:
Now I will need to make it more robust. Not sure yet that the fillet removal code is reliable. Furthermore I prefer to have a solution without anemone (for easier distribution), so a little python programming ahead…

@inno I’ve made a ghplayer file that so far seems to work well. I’ve posted it in this thread

1 Like