Adding basic ThingDoc entries for printed parts
[clinton/prusa3.git] / box_frame / doc / boxframe.scad
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 //front board vertical
18 color([0.5,0.5,0.5,0.8])pl(x=450);
19 //side board
20 color([0.5,0.5,0.6,0.8])rotate([90,0,0])pl(x=450);
21 }
22 module p3bsgantry(){
23 //side and front boards
24 translate([440,-110,25])mirror([0,0,1])screw();
25 translate([440,110+50,25])mirror([0,0,1])screw();
26 translate([360,-110,25])mirror([0,0,1])screw();
27 translate([360,110+50,25])mirror([0,0,1])screw();
28 translate([360,-180,25])mirror([0,0,1])screw();
29 translate([360,180+50,25])mirror([0,0,1])screw();
30 //front board across
31 color([0.5,0.5,0.6,0.9])translate([450,-200,12])rotate([0,0,90])pl(x=450);
32 translate([0,-200,0])color([0,0,0,0.3])p3bscorner();
33 translate([0,250,0])color([0,0,0,0.3])mirror([0,1,0])p3bscorner();
34 }
35 module boxframe(top=false){
36 translate([285,-212.5,6])rotate([-90,0,0])screw();
37 translate([220,-212.5,6])rotate([-90,0,0])screw();
38 translate([285,262.5,6])rotate([90,0,0])screw();
39 translate([220,262.5,6])rotate([90,0,0])screw();
40 translate([312.5,-180,6])rotate([90,0,-90])screw();
41 translate([312.5,-110,6])rotate([90,0,-90])screw();
42 translate([312.5,240,6])rotate([90,0,-90])screw();
43 translate([312.5,160,6])rotate([90,0,-90])screw();
44
45 translate([300,-180,0])rotate([0,0,90])color([1,0,0,0.35])pl(x=400,z=3);
46 //bottom board
47 translate([300,-200,3])rotate([0,0,90])color([0,0,1,0.55])pl(x=450);
48 translate([312,0])rotate([0,-90,0])color([0,0,0,0.4])p3bsgantry();
49 if(top){
50 translate([220,-206,463])mirror([0,0,1])screw();
51 translate([220,256,463])mirror([0,0,1])screw();
52 translate([280,-206,463])mirror([0,0,1])screw();
53 translate([280,256,463])mirror([0,0,1])screw();
54 translate([306,-156,463])mirror([0,0,1])screw();
55 translate([306,206,463])mirror([0,0,1])screw();
56 //top board
57 translate([312,-212,450])rotate([0,0,90])color([0,0,1,0.55])pl(x=475);
58
59 }
60 }
61
62 color([0,0,0,0.4])boxframe(true);
63
64 color([0.8,0.8,0.2,0.35])translate([100,0,-100])cube([800,800,200],true);