Spiral hole gauge (improve my design challenge)

laukejas
Posts: 133
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 34
x 84

Spiral hole gauge (improve my design challenge)

Unread post by laukejas »

Hey guys,

I spent far too much time designing a hole gauge that I intend to 3D-print, for the purpose of serving as a test piece for various bolts and screws to determine exactly what size hole I need to use in actual CAD models of other 3D printed parts to get the right clearances and the right amount of screwing force required for a given application. I printed a few gauges like this one before, and they are incredibly useful, but now I wanted a fancy one.

My design requirements were:
1. Holes must range from 1mm to 12mm, with an increment of 0.1mm (111 holes)
2. Neighboring holes must have a constant clearance between them (1mm, to provide exactly 2 perimeter lines in between)
3. Needs to be compact - as little wasted space between holes as possible
4. Needs to have markings (text) for hole sizes - not necessarily for each hole, but at least every 10 holes
5. Fully parametric, of course. Markings included.
7. Has to be a spiral, just because!
image.png
I would like to share how I did it (it is far more complicated than it looks!), and perhaps you'll want to try and improve on this design. Maybe for your own hole gauge, maybe just for a fancy drill holder.

The main issue here is that hole spacing must increase as holes increase in size, to preserve equal spacing. Curve Driven Pattern on Spiral won't work, because it doesn't support Instances to Vary. So it has to be a Circular Pattern, incrementing how far each hole is from the center axis, therefore creating a spiral.

1. Since it is difficult to predict the final shape, first I extruded oversized base plate, enough to experiment on.
2. Then I defined some global variables to reference later on. Pretty much self-explanatory. "Spiral Increment" is how much each hole offsets further away from the center compared to the previous hole. This could have been expressed as a spiral pitch, but I'm not that good with spiral math.
image.png
3. Then, a plan sketch that establishes how the spiral begins, getting two important figures - the pattern angle, and how far the first hole must be from the center in order to maintain sufficient hole clearance.
image.png
4. First hole is created (Hole Wizard), and then the rest of the holes are created with Circular Pattern, incrementing both the hole size, and the offset increment. This required some manual tinkering with the Spiral Increment to make sure the largest holes don't overlap. And this is also the main issue of this approach - with constant pitch of the spiral, this pitch must be set high enough so that the largest holes get their clearance, but for the small holes it is too large, resulting in wasted space at the middle of the part. Ideally, the spiral should have variable pitch to keep hole clearances more consistent between the different "laps" of the spiral. I have no idea how to do it, though. Unfortunately Circular Pattern Instances to Vary does not allow dynamic equations to modify offset increment with each new instance. Tried incrementing pattern angle - doesn't work, it only ruins the equal clearances between holes.
image.png
5. Holes are now complete. Now, the really crazy part - parametric markings. They need to be built with Sketch Text, this text has to be patterned, and each marking must be right next to it's corresponding hole with more or less consistent clearance. There is a clever trick to do patterned text - have it reference a dimension, and then modify that dimension with Instances to Vary (learned it from here: https://www.beacon-india.com/incrementa ... olidworks/). So basically there has to be a dimension inside the text sketch that has the hole size.
Now here's the bummer... Turns out, when feature with a sketch is patterned, equations inside that sketch are not updated for each instance. Basically you can only reference some static values from outside the sketch, and that's it. This means that the equation that turns text offset distance into a hole number, must be solved geometrically. Enter Descartes geometric division/multiplication triangles.
image.png
This thing took me ages to get right. Lines on top of lines on top of lines and a mess of relations, all to get a simple number of the hole. Unfortunately, I had to start at the second hole marking, because geometric solving won't work for the first one - some lines become zero-length. First hole marking had to be done in a separate feature, which is fully referencing this one. Sketch positioning had to be also solved with geometric equations, to offset that text as the hole size increases.

6. And then pattern with some more equations, incrementing text offset from the axis just like for the holes to make that sketch work it's magic.
image.png
7. Finally, the trim for the base plate with a nice spiral following the contour of the holes. Unfortunately, I had to guesstimate spiral pitch, as well as the start and end locations. Not parametric at all :( There is probably some smart way to mathematically work out where the final hole will end up, but due to the way I built this spiral, I just have no idea. Another place for improvement.
image.png
And, that's it. A few more rounds, chamfers, and it's done.

Kind of posting this to show off, but I am also very interested to know if there is a way to build a spiral hole pattern with variable pitch - that would keep similar clearances not only between neighboring holes, but also between holes in different "laps" of the spiral. That would save some space and make this gauge more compact, and probably better looking :D

Attaching the part, saved in SW 2021, and also a Parasolid for the pre-2021 folks.
Attachments
Hole gauge.x_t
(534.65 KiB) Downloaded 25 times
Hole gauge.SLDPRT
(797.99 KiB) Downloaded 31 times
User avatar
josh
Posts: 263
Joined: Thu Mar 11, 2021 1:05 pm
Answers: 11
x 19
x 456

Re: Spiral hole gauge (improve my design challenge)

Unread post by josh »

image.png
You can vary the pitch increment of your spiral by defining its radius (or some portion thereof) as the opposite side of an angle. Then vary the angle in the pattern. In the pic below, my radius is defined as the opposite side of a 45 degree right triangle whose adjacent leg is 30mm. I’m only varying the angle by a very small amount, but results in the variable increment pitch shown. If you really wanted to take this to an extreme, you’d need to figure out the amount of pitch variation you need between the circles and actually find a portion of the tangent curve that comes closest to that variation and only vary your angle between those values. Also, your gap between holes is currently maintained by incrementing the spiral radius. If you vary your radius increment to create a tighter spiral, the distance between adjacent holes will be too small with a constant angular pattern. You will need to also vary the angular pattern by some amount.
laukejas
Posts: 133
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 34
x 84

Re: Spiral hole gauge (improve my design challenge)

Unread post by laukejas »

josh wrote: Tue Nov 22, 2022 10:05 am image.png

You can vary the pitch increment of your spiral by defining its radius (or some portion thereof) as the opposite side of an angle. Then vary the angle in the pattern. In the pic below, my radius is defined as the opposite side of a 45 degree right triangle whose adjacent leg is 30mm. I’m only varying the angle by a very small amount, but results in the variable increment pitch shown. If you really wanted to take this to an extreme, you’d need to figure out the amount of pitch variation you need between the circles and actually find a portion of the tangent curve that comes closest to that variation and only vary your angle between those values. Also, your gap between holes is currently maintained by incrementing the spiral radius. If you vary your radius increment to create a tighter spiral, the distance between adjacent holes will be too small with a constant angular pattern. You will need to also vary the angular pattern by some amount.
Thank you, Josh, the angle increment sounds like a great idea. I am trying to do what you did, but somehow I can't arrive at a similar result. Would you mind uploading this example you used for a screenshot so I can look how you set it up?
User avatar
josh
Posts: 263
Joined: Thu Mar 11, 2021 1:05 pm
Answers: 11
x 19
x 456

Re: Spiral hole gauge (improve my design challenge)

Unread post by josh »

2022
laukejas
Posts: 133
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 34
x 84

Re: Spiral hole gauge (improve my design challenge)

Unread post by laukejas »

josh wrote: Tue Nov 22, 2022 12:25 pm2022
That's ok, I have 2022 on another PC
User avatar
josh
Posts: 263
Joined: Thu Mar 11, 2021 1:05 pm
Answers: 11
x 19
x 456

Re: Spiral hole gauge (improve my design challenge)

Unread post by josh »

Here’s something for you to play with.

As I mentioned before, the way that you set up your original pattern basically maintained spacing between your adjacent circles by putting each one further from the center. The fact that your spiral is not compact is what allows your holes not to run into one another. Compacting the spiral (as attached) can bring them closer together, but then you start having to vary the interval between adjacent circles. They start out not touching one another, but as they get bigger without getting further out or further apart in angle they join together.
Attachments
SpiralHoles.SLDPRT
(474.21 KiB) Downloaded 40 times
laukejas
Posts: 133
Joined: Sun Sep 05, 2021 8:27 am
Answers: 0
x 34
x 84

Re: Spiral hole gauge (improve my design challenge)

Unread post by laukejas »

josh wrote: Tue Nov 22, 2022 2:52 pm Here’s something for you to play with.

As I mentioned before, the way that you set up your original pattern basically maintained spacing between your adjacent circles by putting each one further from the center. The fact that your spiral is not compact is what allows your holes not to run into one another. Compacting the spiral (as attached) can bring them closer together, but then you start having to vary the interval between adjacent circles. They start out not touching one another, but as they get bigger without getting further out or further apart in angle they join together.
Thank you! It is really interesting how you set up that offset increment. Adjusting angle rather than distance, the actual offset increment becomes non-linear.

Basically there seems to be 2 main goal values:
1. Clearance between adjacent holes - must be kept constant;
2. Pitch - must increase so that the clearance between holes in adjacent circles (full turn) is also constant.

And the variables we are working with are:
1. Offset increment of each adjacent hole;
2. Increment of the pattern angle.

It seems to me that there should be some equation here that would put these two variables at a perfect ratio, but I can't seem to find it. I can get close by trial-and-error by playing with your example, but I can't seem to make the clearance between adjacent holes perfectly constant. It has to be constant for manufacturing. With my first method it was, but the spiral was not compact at all.

About the pitch - if holes were the same size, pitch would be increasing linearly. But hole size is also increasing linearly. That implies that the pitch must follow a cubic increment. And then somehow the holes have to be spaced on top of it in a linearly increasing distance between each pair. My head can't handle this :D
Post Reply