13 archoutwards=(pillarthick-archthick)/sqrt(8);
19 include <Libs.scad> // Libs.scad is @ http://www.thingiverse.com/thing:6021
23 frameheight= motorheight + frameextra;
24 slopeheight= totalheight - frameheight;
25 slope = (mw2 + archoutwards - framesplay)/slopeheight;
28 translate([-mw2,-mw2,0]) union(){
31 cylinder(r=pillarthick/2, h=frameheight);
32 translate([0,0,frameheight])
33 sphere(r=pillarthick/2);
36 cube([mw2-1,mw2-1,frameheight+pillarthick+2]);
40 ([ [ 1, 0, slope, -archoutwards ],
41 [ 0, 1, slope, -archoutwards ],
42 [ 0, 0, 1, frameheight ],
44 translate([0,0,-frameextra])
45 cylinder(r=archthick/2,
46 h=slopeheight+frameextra);
48 cylinder(r=pillarthick/2, h=frameheight);
49 translate([-100,-100,frameheight])
57 spacesz = (motorwidth - pillarthick/2*2) / 4;
58 panelheight = spacesz + sidethick;
59 panelbasez = motorheight+pillarthick/4-panelheight;
60 translate([0,-mw2,0]) {
61 translate([-mw2,-sidethick,0])
62 cube([motorwidth,sidethick,sidethick]);
64 translate([-mw2,-sidethick, panelbasez])
65 cube([mw2,sidethick,panelheight]);
66 translate([-mw2+pillarthick/3, -sidethick, panelbasez])
69 cube([spacesz * sqrt(2),
74 for (xz=[[-mw2+pillarthick/3-sidethick, 0,
75 panelbasez+sidethick],
76 [0, 0, panelbasez + sidethick/sqrt(2)]]) {
78 translate([0,-sidethick,0])
80 translate([0,0,-sidethick])
81 cube([100, sidethick, sidethick]);
83 translate([-mw2,-sidethick,0])
84 cube([motorwidth,sidethick,
85 motorheight+pillarthick]);
93 for (angle=[0,90,180,270])
94 rotate([0,0,angle]) corner();
95 for (angle=[0,90,180]) {
96 rotate([0,0,angle]) halfside();
97 rotate([0,0,angle]) mirror([1,0,0]) halfside();
100 multmatrix([[ -1, 0, 0, -mw2 - botleftstand ],
102 [ 1, 0, 1, -100 + botleftgap ],
106 translate([0,0,totalheight])
108 dovetail(height=10.1, male=true);
113 // translate([-100,-100,0]) cube([200,200,32]);