motorheight=36.5;
totalheight=65;
-pillarthick=8;
+pillarthick=9;
sidethick=3;
-archthick=6;
+archthick=8;
+frameextra=3.5;
+framesplay=1;
archoutwards=(pillarthick-archthick)/sqrt(8);
mw2=motorwidth/2;
module corner() {
$fn=30;
- slopeheight= totalheight - motorheight;
- slope = (mw2 + archoutwards)/slopeheight;
+ frameheight= motorheight + frameextra;
+ slopeheight= totalheight - frameheight;
+ slope = (mw2 + archoutwards - framesplay)/slopeheight;
+ echo(sqrt(2)*slope);
+
translate([-mw2,-mw2,0]) union(){
difference(){ union(){
- cylinder(r=pillarthick/2, h=motorheight);
- translate([0,0,motorheight]) sphere(r=pillarthick/2);
+ cylinder(r=pillarthick/2, h=frameheight);
+ translate([0,0,frameheight]) sphere(r=pillarthick/2);
}
translate([0,0,-1])
- cube([mw2,mw2,motorheight+pillarthick+2]);
+ cube([mw2,mw2,frameheight+pillarthick+2]);
}
- multmatrix([ [ 1, 0, slope, -archoutwards ],
+ intersection(){
+ multmatrix
+ ([ [ 1, 0, slope, -archoutwards ],
[ 0, 1, slope, -archoutwards ],
- [ 0, 0, 1, motorheight ],
+ [ 0, 0, 1, frameheight ],
[ 0, 0, 0, 1 ]])
- cylinder(r=archthick/2, h=slopeheight);
+ translate([0,0,-frameextra])
+ cylinder(r=archthick/2,
+ h=slopeheight+frameextra);
+ union() {
+ cylinder(r=pillarthick/2, h=frameheight);
+ translate([-100,-100,frameheight])
+ cube([200,200,100]);
+ }
+ }
}
}