11 archoutwards=(pillarthick-archthick)/sqrt(8);
15 include <Libs.scad> // Libs.scad is @ http://www.thingiverse.com/thing:6021
19 frameheight= motorheight + frameextra;
20 slopeheight= totalheight - frameheight;
21 slope = (mw2 + archoutwards - framesplay)/slopeheight;
24 translate([-mw2,-mw2,0]) union(){
25 difference(){ union(){
26 cylinder(r=pillarthick/2, h=frameheight);
27 translate([0,0,frameheight]) sphere(r=pillarthick/2);
30 cube([mw2,mw2,frameheight+pillarthick+2]);
34 ([ [ 1, 0, slope, -archoutwards ],
35 [ 0, 1, slope, -archoutwards ],
36 [ 0, 0, 1, frameheight ],
38 translate([0,0,-frameextra])
39 cylinder(r=archthick/2,
40 h=slopeheight+frameextra);
42 cylinder(r=pillarthick/2, h=frameheight);
43 translate([-100,-100,frameheight])
51 spacesz = (motorwidth - pillarthick/2*2) / 4;
52 panelheight = spacesz + sidethick;
53 panelbasez = motorheight+pillarthick/4-panelheight;
54 translate([0,-mw2,0]) {
55 translate([-mw2,-sidethick,0])
56 cube([motorwidth,sidethick,sidethick]);
58 translate([-mw2,-sidethick, panelbasez])
59 cube([mw2,sidethick,panelheight]);
60 translate([-mw2+pillarthick/3, -sidethick, panelbasez])
63 cube([spacesz * sqrt(2),
68 for (xz=[[-mw2+pillarthick/3, 0, panelbasez],
69 [0, 0, panelbasez + sidethick/sqrt(2)]]) {
71 translate([0,-sidethick,0])
73 translate([0,0,-sidethick])
74 cube([100, sidethick, sidethick]);
76 translate([-mw2,-sidethick,0])
77 cube([motorwidth,sidethick,
78 motorheight+pillarthick]);
86 for (angle=[0,90,180,270])
87 rotate([0,0,angle]) corner();
88 for (angle=[0,90,180]) {
89 rotate([0,0,angle]) halfside();
90 rotate([0,0,angle]) mirror([1,0,0]) halfside();
93 //translate([-mw2,-mw2,-1])
94 // cube([motorwidth,motorwidth,motorheight]);
96 translate([0,0,totalheight])
98 dovetail(height=10.1, male=true);