# Auto locate dowels on multi-strata object

Here’s my take with Khaled’s idea.
It requires a bit of intuition, finding the right values to cluster low points and get 2 points in the end, but the thinking behind it is elegant.

I remember another discussion involving heat distribution which could be relevant here too…

OK. Is that what you said in your first post? I saw no evidence of that. I like to see stuff.

Planar shape intersection _2023Feb24a.gh (88.5 KB)

I think you’ve maybe got something funky in your input there - it’s not internalised though so I can’t check.
I haven’t seen any bug like this in the polylabel library and can’t reproduce it.

Awww Silly me. Sorry.
230224_PROG_Local maximum_Internalized.gh (28.9 KB)

I must misunderstand something, because could you not instead locate your dowels before slicing the object?

Hi JD ! Long time…

The generation of the slicing involves :
-Choice of the material thickness
-choice of starting point.
-Angle of the slicing planes

The later two are done with the guidance of the artist in this case as it is a sculpture.

So if you place the dowels before slicing , I can understand that you could place them as far away from the object’s skin as possible (which would make the challenge 3D instead of 2D !) , it would achieve a good placement, but how would you guarantee that each resulting part has 2 dowels on each side ?

Ah, it looks like the function requires the curves to be oriented correctly.
Making it into a surface and taking the boundary curve is an easy way to ensure this, then it finds the correct point

As a simple way of getting 2 points, you could also split the shape in half with a line through its centroid, then get the poles for these halves

2pts.gh (27.8 KB)

Of course you have a choice for the orientation of this line (and if you have some wild spiral shapes, or something with many holes it would need further changes).

thanks, the global view helps – my naive thought is that once you have the artist’s input, you will define the slicing planes, from which you know the normal direction for the dowels, and can shoot lines through the full object, moving them laterally along each plane until they do not violate the outer shell; beyond that, you could transform each plane with its two neighboring planes to XY to do the moves, constraining only within this three plane set, your two dowels for the current plane. Whether done in 3d or 2d, I guess what seems different about this than what (I gather) I see so far in the thread, is to avoid trying to do each plane in isolation

Well, using long dowels through multiple strata would be an economy of dowels, but would require lots of hammering…
Some small pieces might end up having 0 or only 1 dowel depending on how you array them, right ?

Yay ! It works fine. Thanks Daniel !
There’s just the “unwanted” splitting that comes with these arched shapes, and I end up with 3 points per piece, but that’s no big issue.

by that (“each plane in isolation”), I meant to avoid trying to compute holes that are supposed to line up between different shapes, one shape at at time, in isolation – I am getting that from here, could be misunderstanding still

so if we discard putting dowels through multiple layers, then the suggestion reduces to: use a plane and its two neighbors for finding the locations, instead of just the plane (it is basically the same idea as locating in the whole model before slicing, just we are only considering two layers at a time, locating the two dowels that will join them, and then slicing them)

I should narrow it to just finding 2 pinning points on a 2D shape.
Let’s imagine the shapes are made of paper : where would you place 2 pins so that, if you try to rotate the part around it’s centroid, you get the least chance of tearing the paper.
Pinning far from the edged makes sense, so does placing the 2 pins as far apart as possible (more resisting lever).

1 Like

For each section “N”, I project the section “N+1” and “N-1”, and then find the intersection region.
That intersection is suitable for then locating the 2 dowel points.

It seems you are trying to automate a generalized solution for 2 continuous dowels, but could you also implement a logic to pseudo “splice” or step dowels over the course of multiple sections to allow for more dowels to be used?

Edit: Just re-read your latest post and it sounds like you are already planning to use a unique pair of dowels for each section Ni that extend up to Ni+1 and below to Ni-1. Is that correct? That also means each section will typically have (6) unique holes? Or are you trying to minimize the number of unique holes?

Hi Old Taz !

What I mean by “section” is the 2D region between 2 “slices”.
For each “Section N”, I consider “Section N-1” and “Section N+1”.

A secure area to place dowels for each “Section N” is the intersection of the three.
Then, Daniel’s tool finds the most appropriate location for the dowels in this intersection.
Given the way it works, with certain input regions, it yields 3 points instead of the minimum 2 points.

Since I’m cutting the “Slices” and drilling the holes for the dowels at the same time, I have to drill all the holes foe “Section N” and “Section N+1”.
To be able to distinguish, I drill through holes for “N+1” and blind holes for “N”.

5 Likes

I plan to make the finishing in a similar process as this previous project.

1 Like

I think I get it now, thanks for sharing!

Maybe I’m being dumb today, but your thru holes are the same size as the blind holes? In your nesting screengrab they look like different sizes.

Well they are all 6mm in diameter

2 Likes

Sweet! Looking forward to pics of the next milling ops.