X-Git-Url: http://git.hcoop.net/clinton/wilson.git/blobdiff_plain/618f5b83e8e65b0f2fe41e1ff170e67336a6985d..bec2c8277d7492932800047eb43d82f968acf786:/scad/frame-brace-v2.scad diff --git a/scad/frame-brace-v2.scad b/scad/frame-brace-v2.scad dissimilarity index 77% index 6a95fb3..309a9ef 100644 --- a/scad/frame-brace-v2.scad +++ b/scad/frame-brace-v2.scad @@ -1,36 +1,43 @@ -// Y frame brace for Wilson TS -// by sgraber - -beam_size = 20; -smidge = .65; // this is the amount needed for built-in slicing error (needs to be - // about your nozzle width, maybe a little more so they aren't too tight) - -module fillet() { - difference() { - cube(size=[20+8,20,20]); - rotate([0,90,0]) translate([-20,0.5,0]) cylinder(r=10*2, h=30); - } -} - -bracket(); - -module bracket() { - difference() { - union() { - cube(size=[beam_size+8,45,4]); - translate([0,70/2-29/2,0]) cube(size=[beam_size+8,beam_size + 4.7,30]); - translate([0,0.5,4]) fillet(); - //translate([0,69.5,4]) mirror([0,1,0]) fillet(); - } - #translate([-0.25+4,70/2-20.5/2,-1]) cube(size=[beam_size + smidge,beam_size + 2,40]); - translate([10+4,7+8,-5]) cylinder(r=3,h=50); - translate([10+4,7+8,5]) #cylinder(r=5.5,h=50); - translate([10+4,63,-5]) cylinder(r=3,h=50); - translate([10+4,63,4]) cylinder(r=5,h=50); - #cube(size=[40,5,10]); - - translate([10+4,70,10+8]) rotate([90,0,0]) cylinder(r=3,h=70); - translate([10+4,21,10+8]) rotate([90,0,0]) #cylinder(r=5.5,h=70); - translate([10+4,25+70,10+8]) rotate([90,0,0]) cylinder(r=5,h=43); - } -} \ No newline at end of file +// Y frame brace for Wilson TS +// by sgraber +// further parameterized and fiddled with my mjrice + +beam_size = 20; +smidge = .52; // about your nozzle width, maybe a little more so they aren't too tight). +walls = 5; +bracket_w = beam_size + (walls*2); + +module fillet() { + difference() { + cube(size=[bracket_w,beam_size,beam_size]); + rotate([0,90,0]) translate([-beam_size,0.5,0]) cylinder(r=10*2, h=bracket_w+1,$fn=60); + } +} + +bracket(); + +module bracket() { + difference() { + union() { + cube(size=[bracket_w,45,4]); + translate([0,70/2-29/2,0]) cube(size=[bracket_w,beam_size + 4.7,30]); + translate([0,0.5,4]) fillet(); + //translate([0,69.5,4]) mirror([0,1,0]) fillet(); + } + translate([walls-smidge/2,70/2-20.5/2,-1]) cube(size=[beam_size + smidge,beam_size + 2,40]); + translate([beam_size/2+walls,7+8,-5]) cylinder(r=3,h=50); // inner hole + translate([beam_size/2+walls,7+8,5]) cylinder(r=5.5,h=50); // outer inset hole for screw head + //translate([beam_size/2+walls,63,-5]) cylinder(r=3,h=50); + //translate([beam_size/2+walls,63,4]) cylinder(r=5,h=50); + translate([-1,0,0]) cube(size=[bracket_w+2,5,10]); // cuts off the bit on the front + + translate([beam_size/2+walls,70,10+8]) rotate([90,0,0]) cylinder(r=3,h=70); // inner hole + translate([beam_size/2+walls,21,10+8]) rotate([90,0,0]) cylinder(r=5.5,h=70); // outer inset hole for screw head + //translate([beam_size/2+walls,25+70,10+8]) rotate([90,0,0]) cylinder(r=5,h=43); + + // bevels on bottom of the part, so that squashing of the first layer won't impact our fit to the extrusions: + translate([1,70/2-20.5/2,-3]) rotate([0,45,0]) cube(size=[beam_size,beam_size+2,beam_size]); + #translate([25.7,70/2-20.5/2-4,-3]) rotate([0,45,90]) cube(size=[2,beam_size+smidge*2,7]); + + } +} \ No newline at end of file