Hi all,
I'm designing an auger for pumping honey, but I'm not getting the results
out of linear_extrude() that I need:
I'd like to make the "fins" thicker, but making fin_slice_size wider
doesn't work above shaft_r+wt)*2, as we get a flat area where the fin meets
the shaft. I could duplicate the fin and translate it along the shaft by
the current edge thickness in order to double it, but I feel there should
be a more elegant way.
Cheers,
tjhowse.
On 12/30/2021 7:13 PM, tjhowse wrote:
Hi all,
I'm designing an auger for pumping honey, but I'm not getting the
results out of linear_extrude() that I need:
I'd like to make the "fins" thicker, but making fin_slice_size wider
doesn't work above shaft_r+wt)*2, as we get a flat area where the fin
meets the shaft. I could duplicate the fin and translate it along the
shaft by the current edge thickness in order to double it, but I feel
there should be a more elegant way.
The geometry always makes my head hurt, but it turns out that
linear_extrude twisting is not a good way to make screw threads. I
think the fundamental problem is that it operates by taking a flat
horizontal shape and moving that up and around the object, where what
you really want is more of a rotational extrusion, extruding the
cross-section of the thread rotationally and vertically.
I'm sure that the guys who do thread design (notably the BOSL2 guys) can
give more information. They will probably give you a single BOSL2 call
that will give you the screw shape that you want.
However, here's a few other tidbits for you:
Thanks for the notes Jordan. I gave up on using linear_extrude and did a
bit of poking around in various libraries. I found a great one by
"wtgibson" that does nearly exactly what I need:
https://www.thingiverse.com/thing:96462
On Fri, 31 Dec 2021 at 16:59, Jordan Brown openscad@jordan.maileater.net
wrote:
On 12/30/2021 7:13 PM, tjhowse wrote:
Hi all,
I'm designing an auger for pumping honey, but I'm not getting the results
out of linear_extrude() that I need:
I'd like to make the "fins" thicker, but making fin_slice_size wider
doesn't work above shaft_r+wt)*2, as we get a flat area where the fin meets
the shaft. I could duplicate the fin and translate it along the shaft by
the current edge thickness in order to double it, but I feel there should
be a more elegant way.
The geometry always makes my head hurt, but it turns out that
linear_extrude twisting is not a good way to make screw threads. I think
the fundamental problem is that it operates by taking a flat horizontal
shape and moving that up and around the object, where what you really want
is more of a rotational extrusion, extruding the cross-section of the
thread rotationally and vertically.
I'm sure that the guys who do thread design (notably the BOSL2 guys) can
give more information. They will probably give you a single BOSL2 call
that will give you the screw shape that you want.
However, here's a few other tidbits for you:
- You need to set "convexity" on that linear_extrude call.
Theoretically you need it as big as the number of times the thread goes
around, but for most purposes setting it to five or ten should be fine.
Not setting it is why you get rendering artifacts in preview.
- You have way, way more slices than you need. You have a 40mm tall
object, and you're slicing it into 3000 segments. Each segment is
0.013mm. That's nearly ten times finer than the finest Z layering on my
printer. 400 segments would give you 0.1mm layers, which is still probably
way finer than you need. This really hurts your preview performance.
- Preview doesn't like it when the camera is inside an object used for
an intersection or difference. With the intersection to clip the auger in
half, expect to have rendering artifacts if the camera is inside that
100x100x100 cube. Put a # in front of the "translate" to see where that
cube is.