forked from revarbat/snappy-reprap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlifter_rod_coupler_parts.scad
77 lines (67 loc) · 1.69 KB
/
lifter_rod_coupler_parts.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
include <config.scad>
use <GDMUtils.scad>
use <acme_screw.scad>
$fa = 2;
$fs = 2;
module lifter_rod_coupler()
{
diam = 30;
height = 30;
color("SpringGreen")
difference () {
cylinder(h=height, d=diam, center=true);
down(height/4) {
difference() {
cylinder(h=height/2+0.1, d=motor_shaft_size, center=true, $fn=24);
if (motor_shaft_flatted) {
left(motor_shaft_size-0.5) {
cube(size=[motor_shaft_size, motor_shaft_size, height/2], center=true);
}
}
}
}
up(height/2-2/2) {
cylinder(h=2+0.05, d1=lifter_rod_diam-lifter_rod_pitch/4, d2=lifter_rod_diam+2, center=true);
}
down(height/2-2/2) {
cylinder(h=2+0.05, d1=motor_shaft_size+2, d2=motor_shaft_size, center=true);
}
up(height/4) {
acme_threaded_rod(
d=lifter_rod_diam+2*printer_slop,
l=height/2+0.1,
pitch=lifter_rod_pitch,
thread_depth=lifter_rod_pitch/4,
$fn=32
);
}
right(diam/4)
cube(size=[diam/2+0.1, 2, height+0.1], center=true);
right((diam+lifter_rod_diam)/2/2-1) {
mirror_copy([0,0,1]) {
up(height/2-set_screw_size-2) {
xrot(90) cylinder(h=diam+0.1, d=set_screw_size*1.1, center=true, $fn=24);
fwd(diam/4+4)
xrot(90) cylinder(d=set_screw_size*2, h=diam/2, center=true, $fn=24);
translate([0, 6, height/8]) {
hull() {
zspread(height/4) {
xrot(90) zrot(90) {
scale([1.05,1.05,1.05]) {
metric_nut(size=set_screw_size, hole=false);
}
}
}
}
}
}
}
}
}
}
//!lifter_rod_coupler();
module lifter_rod_coupler_parts() { // make me
yspread(50) up(30/2) lifter_rod_coupler();
}
lifter_rod_coupler_parts();
// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap