rack_width_inner = 115.86 - 1.0; // between insides of rails
rear_elevation_nominal = 10.04;
-// ^ top of rack to bottom of bracket, at rack cross tube (fam)
-rear_to_front_distance = 230; // rack cross tube (fam) to very front end
+// ^ top of rack to bottom of bracket, at rack cross rail (fam)
+rear_to_front_distance = 230; // rack cross rail (fam) to very front end
rear_to_cross_rail = 35.05; // bolt centre to rail centre, rail to rear
rear_bolt_to_front_bolt = 155.4;
grasp_sz = $strf * 6;
grasp_thin_sz = $strf * 0.5;
beside_strap_sz = $strf * 8;
+main_sz_core_z = $strf * 18;
+
+// "length" in for-aft direction of interaction with rack rail
+min_on_rail_sz_z = $strf * 25;
$fa=10;
$fs=1;
// calculated
-main_sz_z = beside_strap_sz*2 + strap_w;
+main_sz_rhs_z = max(min_on_rail_sz_z, beside_strap_sz*2 + strap_w);
+main_sz_lhs_z = min_on_rail_sz_z;
+
main_sz_x_fam = main_sz_y;
brk_bottom_y = -brk_recess_actual;
}
}
-module MainExtrude(){
- linextr(0, main_sz_z)
+module MainExtrude(z){
+ linextr(0, z)
children();
}
module RackShear(){
difference(){
union(){
- MainExtrude(){
+ MainExtrude(main_sz_lhs_z){
GraspElevation();
}
- RackShear() MainExtrude(){
+ RackShear() MainExtrude(main_sz_rhs_z){
StrapBarrelElevation();
}
translate([ 0,0, brk_block_z/2]) {
difference(){
union(){
- MainExtrude(){
+ MainExtrude(main_sz_core_z){
BlockElevation();
}
- RackShear() MainExtrude(){
+ RackShear() MainExtrude(main_sz_rhs_z){
GraspFixingElevation();
}
}
- translate([0,0, main_sz_z/2]) linextr(-strap_w/2, +strap_w/2) {
+ translate([0,0, main_sz_rhs_z/2]) linextr(-strap_w/2, +strap_w/2) {
translate([ rack_width_inner/2 - strap_th, 0 ])
rectfromto([ 0, -50 ], [ 50, 50 ]);
}
}
}
- RackShear() linextr(-10, main_sz_z+10) {
+ RackShear() linextr(-10, main_sz_lhs_z+main_sz_rhs_z) {
for (mx=[0,1]) {
mirror([mx,0]) {
translate([ rack_rail_x, $rack_rail_y ]){