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

index 2622b1724a47b0d3667473545a90612e8503f935..a66207a09c0b2c716b3bc92931dda7d1ba77d0ff 100644 (file)
@@ -26,8 +26,8 @@ brk_bottom_y = -brk_recess_actual;
 adapt_main_top_y = brk_bottom_y + general_gap_y;
 
 // on LHS, so -ve
-rack_rail_x = -(rack_width_inner + rack_rail_dia/2);
-rack_rail_outer_x = -(rack_width_inner + rack_rail_dia);
+rack_rail_x = -(rack_width_inner/2 + rack_rail_dia/2);
+rack_rail_outer_x = -(rack_width_inner/2 + rack_rail_dia);
 
 grasp_large_r = (rack_rail_dia + grasp_sz)/2;
 grasp_large_x = rack_rail_outer_x + grasp_large_r;
@@ -45,6 +45,11 @@ module GraspElevation(){
   }
 }
 
+module BlockElevation(){
+  rectfromto([ -rack_width_inner/2, adapt_main_top_y ],
+            [ +rack_width_inner/2, adapt_main_top_y - main_sz_y ]);
+}
+
 module Principal(){
   // calculated
   $rack_rail_y = brk_bottom_y - $elevation_nominal
@@ -53,16 +58,22 @@ module Principal(){
   difference(){
     linextr(0, main_sz_z){
       GraspElevation();
+      BlockElevation();
+      mirror([1,0]) GraspElevation();
     }
 
     linextr(-10, main_sz_z+10) {
-      translate([ rack_rail_x, $rack_rail_y ]){
-       hull(){
-         for (dx = [-rack_rail_dia, 0])
-           translate([dx, 0])
-             circle(r= rack_rail_dia/2);
+      for (mx=[0,1]) {
+       mirror([mx,0]) {
+         translate([ rack_rail_x, $rack_rail_y ]){
+           hull(){
+             for (dx = [-rack_rail_dia, 0])
+               translate([dx, 0])
+                 circle(r= rack_rail_dia/2);
+           }
+         }
        }
-      }    
+      }
     }
   }
 }