chiark / gitweb /
topeak-mtx-tortec-expeditionrack-adapter: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 5 Nov 2022 01:45:57 +0000 (01:45 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 5 Nov 2022 01:45:57 +0000 (01:45 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
topeak-mtx-tortec-expeditionrack-adapter.scad

index eb819e14f51036c76e12e8c6eb4b858dbe6d3ed0..dd9a3762da781f1726eba94c9f31e44ac2012992 100644 (file)
@@ -41,6 +41,8 @@ brk_overall_w = 90.07;
 
 fit_slope_len = 5;
 
+foreaftmaint_r_slop = 0.75;
+
 main_sz_y = $strf * 20;
 grasp_sz = $strf * 12;
 beside_strap_sz = $strf * 8;
@@ -175,6 +177,10 @@ module Principal(){
     $rack_rail_y - rack_rail_dia/2
   ];
 
+  $foreaftmaint_rail_z = brk_block_z/2 + $foreaftmaint_dz;
+  $foreaftmaint_rail_y = $rack_rail_y
+    + $foreaftmaint_rail_z * rack_shear_ratio;
+
   difference(){
     union(){
       MainExtrude(){
@@ -218,16 +224,32 @@ module Principal(){
       }
     }
 
+    // Distance from bolt hole, in backwards direction
+    if ($foreaftmaint_dz) {
+      translate([ 0, $foreaftmaint_rail_y, $foreaftmaint_rail_z ]){
+       linextr_x_yz(+rack_rail_x,
+                    -rack_rail_x) {
+         hull(){
+           for (dy=[0,50]) {
+             translate([-dy,0])
+               circle(r= rack_rail_dia/2 + foreaftmaint_r_slop);
+           }
+         }
+       }
+      }
+    }
+
     translate([ 0,0, brk_block_z/2]) BoltHole();
   }
 }
 
 module Front(){ ////toplevel
-  Principal($elevation_nominal=0);
+  Principal($elevation_nominal=0, $foreaftmaint_dz=0);
 }
 
 module Rear(){ ////toplevel
-  Principal($elevation_nominal=rear_elevation_nominal);
+  Principal($elevation_nominal=rear_elevation_nominal,
+           $foreaftmaint_dz= 9.65);
 }
 
 module Demo(){ ////toplevel