9 archoutwards=(pillarthick-archthick)/sqrt(8);
13 include <Libs.scad> // Libs.scad is @ http://www.thingiverse.com/thing:6021
17 slopeheight= totalheight - motorheight;
18 slope = (mw2 + archoutwards)/slopeheight;
19 translate([-mw2,-mw2,0]) union(){
20 difference(){ union(){
21 cylinder(r=pillarthick/2, h=motorheight);
22 translate([0,0,motorheight]) sphere(r=pillarthick/2);
25 cube([mw2,mw2,motorheight+pillarthick+2]);
27 multmatrix([ [ 1, 0, slope, -archoutwards ],
28 [ 0, 1, slope, -archoutwards ],
29 [ 0, 0, 1, motorheight ],
31 cylinder(r=archthick/2, h=slopeheight);
36 spacesz = (motorwidth - pillarthick/2*2) / 4;
37 panelheight = spacesz + sidethick;
38 panelbasez = motorheight+pillarthick/4-panelheight;
39 translate([0,-mw2,0]) {
40 translate([-mw2,-sidethick,0])
41 cube([motorwidth,sidethick,sidethick]);
43 translate([-mw2,-sidethick, panelbasez])
44 cube([mw2,sidethick,panelheight]);
45 translate([-mw2+pillarthick/3, -sidethick, panelbasez])
48 cube([spacesz * sqrt(2),
53 for (xz=[[-mw2+pillarthick/3, 0, panelbasez],
54 [0, 0, panelbasez + sidethick/sqrt(2)]]) {
56 translate([0,-sidethick,0])
58 translate([0,0,-sidethick])
59 cube([100, sidethick, sidethick]);
61 translate([-mw2,-sidethick,0])
62 cube([motorwidth,sidethick,
63 motorheight+pillarthick]);
71 for (angle=[0,90,180,270])
72 rotate([0,0,angle]) corner();
73 for (angle=[0,90,180]) {
74 rotate([0,0,angle]) halfside();
75 rotate([0,0,angle]) mirror([1,0,0]) halfside();
78 //translate([-mw2,-mw2,-1])
79 // cube([motorwidth,motorwidth,motorheight]);
81 translate([0,0,totalheight])
83 dovetail(height=10.1, male=true);