13 archoutwards=(pillarthick-archthick)/sqrt(8);
22 include <Libs.scad> // Libs.scad is @ http://www.thingiverse.com/thing:6021
26 frameheight= motorheight + frameextra;
27 slopeheight= totalheight - frameheight;
28 slope = (mw2 + archoutwards - framesplay)/slopeheight;
31 translate([-mw2,-mw2,0]) union(){
34 cylinder(r=pillarthick/2, h=frameheight);
35 translate([0,0,frameheight])
36 sphere(r=pillarthick/2);
39 cube([mw2-1,mw2-1,frameheight+pillarthick+2]);
43 ([ [ 1, 0, slope, -archoutwards ],
44 [ 0, 1, slope, -archoutwards ],
45 [ 0, 0, 1, frameheight ],
47 translate([0,0,-frameextra])
48 cylinder(r=archthick/2,
49 h=slopeheight+frameextra);
51 cylinder(r=pillarthick/2, h=frameheight);
52 translate([-100,-100,frameheight])
60 spacesz = (motorwidth - pillarthick/2*2) / 4;
61 panelheight = spacesz + sidethick;
62 panelbasez = motorheight+pillarthick/4-panelheight;
63 translate([0,-mw2,0]) {
64 translate([-mw2,-sidethick,0])
65 cube([motorwidth,sidethick,sidethick]);
67 translate([-mw2,-sidethick, panelbasez])
68 cube([mw2,sidethick,panelheight]);
69 translate([-mw2+pillarthick/3, -sidethick, panelbasez])
72 cube([spacesz * sqrt(2),
77 for (xz=[[-mw2+pillarthick/3-sidethick, 0,
78 panelbasez+sidethick],
79 [0, 0, panelbasez + sidethick/sqrt(2)]]) {
81 translate([0,-sidethick,0])
83 translate([0,0,-sidethick])
84 cube([100, sidethick, sidethick]);
86 translate([-mw2,-sidethick,0])
87 cube([motorwidth,sidethick,
88 motorheight+pillarthick]);
96 for (angle=[0,90,180,270])
97 rotate([0,0,angle]) corner();
98 for (angle=[0,90,180]) {
99 rotate([0,0,angle]) halfside();
100 rotate([0,0,angle]) mirror([1,0,0]) halfside();
103 multmatrix([[ -1, 0, 0, -mw2 - botleftstand ],
105 [ 1, 0, 1, -100 + botleftgap ],
109 translate([0,0,totalheight])
112 dovetail(height=10.1, male=true);
113 translate([dovebasecutcylz,0,-100])
114 cylinder(r=dovebasecutcylr,h=200);
120 // translate([-100,-100,0]) cube([200,200,32]);