-
Notifications
You must be signed in to change notification settings - Fork 0
/
z mount.scad
45 lines (41 loc) · 1.49 KB
/
z mount.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
//TronxyX5S Z motor, guide rail mount, extra rigid version
use <BOSL/transforms.scad>;
use <BOSL/shapes.scad>;
use <BOSL/nema_steppers.scad>;
$fs = 0.05;
motor_size = 17;
slop =0.1;
plinth_diam = nema_motor_plinth_diam(motor_size)+slop;
screw_spacing = nema_motor_screw_spacing(motor_size);
screw_size = nema_motor_screw_size(motor_size)+slop;
l=0;
depth=30;
difference(){
//cube for the motor mount, make it a bit bigger than stock for bracing.
union() {
rrect([52,42,4.5],r=2,center=false);
rrect([54+54+42,20,4.5],r=5);
place_copies([[-21,15,14.5],[21,15,14.5]]) thinning_brace(h=20, l=11, thick=5, ang=40, strut=3, wall=3);
translate([0,11,4.5])rrect([47,4,20]);
translate([-20,7,12.25])rcube([40,5,5],center=false,r=2);
translate([-20,-12,12.25])rcube([40,5,5],center=false,r=2);
translate([0,-11,4.5])rrect([47,4,20]);
rotate([0,0,180])place_copies([[-21,15,14.5],[21,15,14.5]]) thinning_brace(h=20, l=11, thick=5, ang=40, strut=3, wall=3);
}
union() {
xspread(screw_spacing) {
yspread(screw_spacing) {
if (l>0) {
union() {
yspread(l) cylinder(h=depth, d=screw_size, center=true, $fn=max(8,segs(screw_size/2)));
cube([screw_size, l, depth], center=true);
}
} else {
cylinder(h=depth, d=screw_size, center=true, $fn=max(8,segs(screw_size/2)));
}
}
}
}
place_copies([[45,0,-1],[-45,0,-1]])cylinder(h=10,r=2+slop/2);
place_copies([[61,0,-1],[-61,0,-1]])cylinder(h=10,r=4+slop/2);
}