/
boxframe.scad
64 lines (58 loc) · 2.18 KB
/
boxframe.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
module pl(x=100,y=100,z=12){
cube([x,y,z]);
}
module screw(depth=20){
color([1,1,0]){
cylinder(r1=4,r2=3.5/2,h=4);
cylinder(r1=3.5/2,r2=3.5/2,h=depth-2);
translate([0,0,depth-2])cylinder(r1=3.5/2,r2=0,h=2);
}
}
module p3bscorner(){
translate([30,-12.5,6])rotate([-90,0,0])screw();
translate([422,-12.5,6])rotate([-90,0,0])screw();
translate([220,-12.5,6])rotate([-90,0,0])screw();
//front board vertical
color([0.5,0.5,0.5,0.8])pl(x=450);
//side board
color([0.5,0.5,0.6,0.8])rotate([90,0,0])pl(x=450);
}
module p3bsgantry(){
//side and front boards
translate([440,-110,25])mirror([0,0,1])screw();
translate([440,110+50,25])mirror([0,0,1])screw();
translate([360,-110,25])mirror([0,0,1])screw();
translate([360,110+50,25])mirror([0,0,1])screw();
translate([360,-180,25])mirror([0,0,1])screw();
translate([360,180+50,25])mirror([0,0,1])screw();
//front board across
color([0.5,0.5,0.6,0.9])translate([450,-200,12])rotate([0,0,90])pl(x=450);
translate([0,-200,0])color([0,0,0,0.3])p3bscorner();
translate([0,250,0])color([0,0,0,0.3])mirror([0,1,0])p3bscorner();
}
module boxframe(top=false){
translate([285,-212.5,6])rotate([-90,0,0])screw();
translate([220,-212.5,6])rotate([-90,0,0])screw();
translate([285,262.5,6])rotate([90,0,0])screw();
translate([220,262.5,6])rotate([90,0,0])screw();
translate([312.5,-180,6])rotate([90,0,-90])screw();
translate([312.5,-110,6])rotate([90,0,-90])screw();
translate([312.5,240,6])rotate([90,0,-90])screw();
translate([312.5,160,6])rotate([90,0,-90])screw();
translate([300,-180,0])rotate([0,0,90])color([1,0,0,0.35])pl(x=400,z=3);
//bottom board
translate([300,-200,3])rotate([0,0,90])color([0,0,1,0.55])pl(x=450);
translate([312,0])rotate([0,-90,0])color([0,0,0,0.4])p3bsgantry();
if(top){
translate([220,-206,463])mirror([0,0,1])screw();
translate([220,256,463])mirror([0,0,1])screw();
translate([280,-206,463])mirror([0,0,1])screw();
translate([280,256,463])mirror([0,0,1])screw();
translate([306,-156,463])mirror([0,0,1])screw();
translate([306,206,463])mirror([0,0,1])screw();
//top board
translate([312,-212,450])rotate([0,0,90])color([0,0,1,0.55])pl(x=475);
}
}
color([0,0,0,0.4])boxframe(true);
color([0.8,0.8,0.2,0.35])translate([100,0,-100])cube([800,800,200],true);