309a9efd333cd2a85e2636dbf6737599a1eff01c
[clinton/wilson.git] / scad / frame-brace-v2.scad
1 // Y frame brace for Wilson TS
2 // by sgraber
3 // further parameterized and fiddled with my mjrice
4
5 beam_size = 20;
6 smidge = .52; // about your nozzle width, maybe a little more so they aren't too tight).
7 walls = 5;
8 bracket_w = beam_size + (walls*2);
9
10 module fillet() {
11 difference() {
12 cube(size=[bracket_w,beam_size,beam_size]);
13 rotate([0,90,0]) translate([-beam_size,0.5,0]) cylinder(r=10*2, h=bracket_w+1,$fn=60);
14 }
15 }
16
17 bracket();
18
19 module bracket() {
20 difference() {
21 union() {
22 cube(size=[bracket_w,45,4]);
23 translate([0,70/2-29/2,0]) cube(size=[bracket_w,beam_size + 4.7,30]);
24 translate([0,0.5,4]) fillet();
25 //translate([0,69.5,4]) mirror([0,1,0]) fillet();
26 }
27 translate([walls-smidge/2,70/2-20.5/2,-1]) cube(size=[beam_size + smidge,beam_size + 2,40]);
28 translate([beam_size/2+walls,7+8,-5]) cylinder(r=3,h=50); // inner hole
29 translate([beam_size/2+walls,7+8,5]) cylinder(r=5.5,h=50); // outer inset hole for screw head
30 //translate([beam_size/2+walls,63,-5]) cylinder(r=3,h=50);
31 //translate([beam_size/2+walls,63,4]) cylinder(r=5,h=50);
32 translate([-1,0,0]) cube(size=[bracket_w+2,5,10]); // cuts off the bit on the front
33
34 translate([beam_size/2+walls,70,10+8]) rotate([90,0,0]) cylinder(r=3,h=70); // inner hole
35 translate([beam_size/2+walls,21,10+8]) rotate([90,0,0]) cylinder(r=5.5,h=70); // outer inset hole for screw head
36 //translate([beam_size/2+walls,25+70,10+8]) rotate([90,0,0]) cylinder(r=5,h=43);
37
38 // bevels on bottom of the part, so that squashing of the first layer won't impact our fit to the extrusions:
39 translate([1,70/2-20.5/2,-3]) rotate([0,45,0]) cube(size=[beam_size,beam_size+2,beam_size]);
40 #translate([25.7,70/2-20.5/2-4,-3]) rotate([0,45,90]) cube(size=[2,beam_size+smidge*2,7]);
41
42 }
43 }