-
Notifications
You must be signed in to change notification settings - Fork 4
/
x-carriage-mendel.scad
60 lines (51 loc) · 1.31 KB
/
x-carriage-mendel.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
x_rod_spacing = 50;
two_extruders=false;
difference(){
union(){
if (!two_extruders)
translate([0,0,1])
cube([x_rod_spacing+22, 35,5],center=true);
if (two_extruders)
translate([0,15,1])
cube([x_rod_spacing+22, 65,5],center=true);
for (x=[-1,1])
for (y=[-1,1]){
if (!two_extruders)
translate([x_rod_spacing/2*x,12*y,0]) grip();
if (two_extruders)
translate([x_rod_spacing/2*x,12*y+15*(y+1),0]) grip();
}
translate([(x_rod_spacing+22)/2,0,1]) {
if (!two_extruders) difference(){
cube([20,20,5],center=true);
cube([16,15,6],center=true);
}
if (two_extruders) translate([0,15,0])
difference(){
cube([20,20,5],center=true);
cube([16,15,6],center=true);
}
}
}
for (x=[-1,1]) union(){
translate([50/2*x,-1,0]) cylinder(r=5/2,h=20,center=true);
translate([50/2*x,-1,2]) cylinder(r=8.3/2,h=3,center=true,$fn=6);
}
cube([27,20,10],center=true);
if(two_extruders) translate([0,31,0]){
for (x=[-1,1]) union(){
translate([50/2*x,0,0]) cylinder(r=5/2,h=20,center=true);
translate([50/2*x,0,2]) cylinder(r=8.3/2,h=3,center=true,$fn=6);
}
cube([27,20,10],center=true);
}
}
module grip(){
render() {
translate([0,0,1])
cube([20,11,2],center=true);
for (x=[-1,1]) translate([10*x,0,5]) {
cube([2,11,10], center=true);
}
}
}