mountscrew_dia = 4 + 0.5;
clipbolt_dia = 5 + 0.6;
+mountscrew_washer = 10;
+
backflange_th = 4.5;
$fn=50;
tube_or = tube_dia/2 + tube_th;
back_ohw = back_gap/2 + backflange_th;
-backflange_ymin = tube_or+backflange_d;
+backflange_ymin = tube_dia/2 + backflange_d;
lock_0y = tube_dia/2 + lock_d/2 + midweb_d;
lock_0x = lock_w/2 - lock_d/2;
children(0);
}
-module ThroughHole(r, y, z) {
- translate([-50, y, z])
+module ThroughHole(r, y, z, x=-50) {
+ translate([x, y, z])
rotate([0, 90, 0])
cylinder(r=r, h=100, $fn=20);
}
-module ThroughHoles(){
+module MountingHoleCylinders(r, x=-50){
for (z=[ 1/4, 3/4 ]) {
- ThroughHole( mountscrew_dia/2,
- -tube_or -0.5*backflange_d,
- total_h * z );
+ rotate([0,0, backflange_angle])
+ ThroughHole( r,
+ -tube_dia/2 -0.5*backflange_d,
+ total_h * z,
+ x);
}
+}
+
+module ThroughHoles(){
+ MountingHoleCylinders(mountscrew_dia/2);
ThroughHole( clipbolt_dia/2,
lock_0y + lock_d/2 + clip_d/2 + front_th/2,
}
}
-module Bracket(){ //// toplevel
+module Bracket(){ ////toplevel
difference(){
MainPositive();
ThroughHoles();
}
}
-module TestTopEdge(){ //// toplevel
+module TestTopEdge(){ ////toplevel
intersection(){
translate([0,0, -total_h])
translate([0,0, 4])
}
}
-module TestClipBoltHole(){ //// toplevel
+module TestClipBoltHole(){ ////toplevel
intersection(){
union(){
translate([0, 0, -5])
}
}
+module Demo(){ ////toplevel
+ Bracket();
+ color("blue") MountingHoleCylinders(mountscrew_dia/2 - 0.1);
+ color("black") MountingHoleCylinders(mountscrew_washer/2,
+ back_ohw + 0.25);
+}
+
//MainPlan();
//ClipElevationPositive();
//ClipElevation();
//TestClipBoltHole();
//DividePlan();
-Bracket();
+//Bracket();