Commit | Line | Data |
---|---|---|
b519f1bc KY |
1 | module pl(x=100,y=100,z=12){ |
2 | cube([x,y,z]); | |
3 | } | |
4 | module screw(depth=20){ | |
5 | color([1,1,0]){ | |
6 | cylinder(r1=4,r2=3.5/2,h=4); | |
7 | cylinder(r1=3.5/2,r2=3.5/2,h=depth-2); | |
8 | translate([0,0,depth-2])cylinder(r1=3.5/2,r2=0,h=2); | |
9 | ||
10 | } | |
11 | ||
12 | } | |
13 | module p3bscorner(){ | |
14 | translate([30,-12.5,6])rotate([-90,0,0])screw(); | |
15 | translate([422,-12.5,6])rotate([-90,0,0])screw(); | |
16 | translate([220,-12.5,6])rotate([-90,0,0])screw(); | |
17 | color([0.5,0.5,0.5,0.8])pl(x=450); | |
18 | color([0.5,0.5,0.6,0.8])rotate([90,0,0])pl(x=450); | |
19 | } | |
20 | module p3bsgantry(){ | |
21 | translate([440,-110,25])mirror([0,0,1])screw(); | |
22 | translate([440,110+50,25])mirror([0,0,1])screw(); | |
23 | translate([360,-110,25])mirror([0,0,1])screw(); | |
24 | translate([360,110+50,25])mirror([0,0,1])screw(); | |
25 | translate([360,-180,25])mirror([0,0,1])screw(); | |
26 | translate([360,180+50,25])mirror([0,0,1])screw(); | |
27 | color([0.5,0.5,0.6,0.9])translate([450,-200,12])rotate([0,0,90])pl(x=450); | |
28 | translate([0,-200,0])color([0,0,0,0.3])p3bscorner(); | |
29 | translate([0,250,0])color([0,0,0,0.3])mirror([0,1,0])p3bscorner(); | |
30 | } | |
31 | module boxframe(top=false){ | |
32 | translate([285,-212.5,6])rotate([-90,0,0])screw(); | |
33 | translate([220,-212.5,6])rotate([-90,0,0])screw(); | |
34 | translate([285,262.5,6])rotate([90,0,0])screw(); | |
35 | translate([220,262.5,6])rotate([90,0,0])screw(); | |
36 | translate([312.5,-180,6])rotate([90,0,-90])screw(); | |
37 | translate([312.5,-110,6])rotate([90,0,-90])screw(); | |
38 | translate([312.5,240,6])rotate([90,0,-90])screw(); | |
39 | translate([312.5,160,6])rotate([90,0,-90])screw(); | |
40 | ||
41 | translate([300,-180,0])rotate([0,0,90])color([1,0,0,0.35])pl(x=400,z=3); | |
42 | translate([300,-200,3])rotate([0,0,90])color([0,0,1,0.55])pl(x=450); | |
43 | translate([312,0])rotate([0,-90,0])color([0,0,0,0.4])p3bsgantry(); | |
44 | if(top){ | |
45 | translate([220,-206,463])mirror([0,0,1])screw(); | |
46 | translate([220,256,463])mirror([0,0,1])screw(); | |
47 | translate([280,-206,463])mirror([0,0,1])screw(); | |
48 | translate([280,256,463])mirror([0,0,1])screw(); | |
49 | translate([306,-156,463])mirror([0,0,1])screw(); | |
50 | translate([306,206,463])mirror([0,0,1])screw(); | |
51 | translate([312,-212,450])rotate([0,0,90])color([0,0,1,0.55])pl(x=475); | |
52 | ||
53 | } | |
54 | } | |
55 | ||
56 | color([0,0,0,0.4])boxframe(true); | |
57 | ||
58 | color([0.8,0.8,0.2,0.35])translate([100,0,-100])cube([800,800,200],true); |