-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdro_link.scad
More file actions
72 lines (60 loc) · 1.19 KB
/
dro_link.scad
File metadata and controls
72 lines (60 loc) · 1.19 KB
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
dro=[63+4,34+2,116];
bat =[65+5,19+3,25];
shrink=[1.5,1.5,0];
module box(d,b,sh=[0,0,0]){
b1 = [d[0],d[2],1]-sh;
b2 = [b[0],b[2],1]-sh;
echo(b1,b2);
serial_hull(){
translate([0,0,0])cube(b1);
translate([0,0,20])cube(b2);
translate([0,0,40])cube(b2);
}
}
module top(){
translate([0,bat[1]/2,bat[2]/2]){
difference(){
union(){
cube(bat,center=true);
cube([bat[0],bat[1],1],center=true);
}
translate([0,0,1.5]) cube(bat-[3,3,0],center=true);
for(i=[-1:1]){
translate([bat[0]/3*i,0,-bat[2]/2]) cylinder(d=12,h=10,center=true);
}
}
}
}
//top();
module bs(d,h){
b1= [d[0],d[1],1];
translate([0,b1[1]/2,h])
{
cube(b1,center=true);
}
}
difference(){
union(){
top();
difference(){
hull(){
bs(dro,h=-20);
bs(bat,h=0);
}
translate([0,-1.5,.5]){
hull(){
bs(dro-[3,0,-3],h=-21);
bs(bat-[3,0,-3],h=1);
}
}
}
}
for(i=[-1,1]){
translate([20*i,15,12])
rotate([90,0,0])
{
cylinder(r=1.5,h=50,center=true);
cylinder(r=5,h=20,center=true);
}
}
}