13 archoutwards=(pillarthick-archthick)/sqrt(8);
17 include <Libs.scad> // Libs.scad is @ http://www.thingiverse.com/thing:6021
21 frameheight= motorheight + frameextra;
22 slopeheight= totalheight - frameheight;
23 slope = (mw2 + archoutwards - framesplay)/slopeheight;
26 translate([-mw2,-mw2,0]) union(){
27 difference(){ union(){
28 cylinder(r=pillarthick/2, h=frameheight);
29 translate([0,0,frameheight]) sphere(r=pillarthick/2);
32 cube([mw2,mw2,frameheight+pillarthick+2]);
36 ([ [ 1, 0, slope, -archoutwards ],
37 [ 0, 1, slope, -archoutwards ],
38 [ 0, 0, 1, frameheight ],
40 translate([0,0,-frameextra])
41 cylinder(r=archthick/2,
42 h=slopeheight+frameextra);
44 cylinder(r=pillarthick/2, h=frameheight);
45 translate([-100,-100,frameheight])
53 spacesz = (motorwidth - pillarthick/2*2) / 4;
54 panelheight = spacesz + sidethick;
55 panelbasez = motorheight+pillarthick/4-panelheight;
56 translate([0,-mw2,0]) {
57 translate([-mw2,-sidethick,0])
58 cube([motorwidth,sidethick,sidethick]);
60 translate([-mw2,-sidethick, panelbasez])
61 cube([mw2,sidethick,panelheight]);
62 translate([-mw2+pillarthick/3, -sidethick, panelbasez])
65 cube([spacesz * sqrt(2),
70 for (xz=[[-mw2+pillarthick/3-sidethick, 0,
71 panelbasez+sidethick],
72 [0, 0, panelbasez + sidethick/sqrt(2)]]) {
74 translate([0,-sidethick,0])
76 translate([0,0,-sidethick])
77 cube([100, sidethick, sidethick]);
79 translate([-mw2,-sidethick,0])
80 cube([motorwidth,sidethick,
81 motorheight+pillarthick]);
89 for (angle=[0,90,180,270])
90 rotate([0,0,angle]) corner();
91 for (angle=[0,90,180]) {
92 rotate([0,0,angle]) halfside();
93 rotate([0,0,angle]) mirror([1,0,0]) halfside();
96 multmatrix([[ -1, 0, 0, -mw2 - botleftstand ],
98 [ 1, 0, 1, -100 + botleftgap ],
102 translate([0,0,totalheight])
104 dovetail(height=10.1, male=true);
109 // translate([-100,-100,0]) cube([200,200,32]);