chiark / gitweb /
topeak-mtx-tortec-expeditionrack-adapter: multiple z sz
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 5 Nov 2022 12:48:22 +0000 (12:48 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 5 Nov 2022 12:48:22 +0000 (12:48 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
topeak-mtx-tortec-expeditionrack-adapter.scad

index 788145357c778d011ebc7a0abe90a3429fa98666..feb680516969304a2dde8fa70fa905b467c98e68 100644 (file)
@@ -16,8 +16,8 @@ rack_rail_dia = 10.40 + 0.30;
 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;
 
@@ -52,13 +52,19 @@ main_sz_y = $strf * 18;
 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;
@@ -126,8 +132,8 @@ module BlockElevation(){
   }
 }
 
-module MainExtrude(){
-  linextr(0, main_sz_z)
+module MainExtrude(z){
+  linextr(0, z)
     children();
 }
 module RackShear(){
@@ -223,10 +229,10 @@ module Principal(){
 
   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]) {
@@ -235,15 +241,15 @@ module Principal(){
 
       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 ]);
        }
@@ -276,7 +282,7 @@ module Principal(){
       }
     }
 
-    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 ]){