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