Added lifter lock nuts. Tweaked acme threaded rod thread profile.

This commit is contained in:
Revar Desmera
2015-07-10 11:32:13 -07:00
parent 9edb61f9b2
commit 2097f24188
28 changed files with 118703 additions and 92391 deletions

View File

@@ -7,23 +7,25 @@ use <GDMUtils.scad>
module acme_threaded_rod(
d=10.5,
l=100,
threading=3.175,
thread_depth=1
pitch=3.175,
thread_depth=1,
thread_angle=29
) {
astep = 360/segs(d/2);
asteps = ceil(360/astep);
threads = ceil(l/threading)+2;
threads = ceil(l/pitch)+2;
pa_delta = (thread_depth*1.25)*sin(thread_angle)/2;
poly_points = [
for (
thread = [0 : threads-1],
astep = [0 : asteps-1],
i = [0 : 3]
) let (
r = max(0, d/2 - ((i==1||i==2)? 0 : (thread_depth+1))),
r = max(0, d/2 - ((i==1||i==2)? 0 : (thread_depth*1.25))),
a = astep / asteps,
rx = r * cos(360 * a),
ry = r * sin(360 * a),
tz = (thread + a - threads/2 + (i<2? -0.25 : 0.25)) * threading
tz = (thread + a - threads/2 + (i<2? -0.25 : 0.25)) * pitch + (i%2==0? -pa_delta : pa_delta)
) [rx, ry, tz]
];
point_count = len(poly_points);
@@ -52,26 +54,26 @@ module acme_threaded_rod(
intersection() {
union() {
polyhedron(points=poly_points, faces=poly_faces, convexity=10);
cylinder(h=(threads+0.5)*threading, d=d-2*thread_depth, center=true);
cylinder(h=(threads+0.5)*pitch, d=d-2*thread_depth, center=true);
}
cube([d+1, d+1, l], center=true);
}
}
//!acme_threaded_rod(d=20, l=20, threading=10, thread_depth=5);
//!acme_threaded_rod(d=3/8*25.4, l=20, pitch=1/8*25.4, thread_depth=1.3, thread_angle=29, $fn=32);
module acme_threaded_nut(
od=17.4,
id=10.5,
h=10,
threading=3.175,
pitch=3.175,
thread_depth=1,
slop=printer_slop
) {
difference() {
cylinder(r=od/2/cos(30), h=h, center=true, $fn=6);
zspread(slop) {
acme_threaded_rod(d=id+2*slop, l=h+1, threading=threading, thread_depth=thread_depth);
acme_threaded_rod(d=id+2*slop, l=h+1, pitch=pitch, thread_depth=thread_depth);
}
}
}