chiark / gitweb /
topeak-mtx-tortec-expeditionrack-adapter: demo wip
[reprap-play.git] / topeak-mtx-tortec-expeditionrack-adapter.scad
index 5ed42a4d9487a4b92c5fce1d0950f6590c7db642..607a367e9680a623fc2f28402b582f1879dbdbd1 100644 (file)
@@ -387,26 +387,35 @@ module Principal(){
   }
 }
 
-module RackForDemo(){ ////toplevel
+module ForRackForDemo(){
   elevation = elevation_of_bolt_for(rear_to_cross_rail);
   rack_rail_y = rack_rail_y_of_elevation(elevation);
 
   rotate([-atan(rack_shear_ratio), 0,0])
-    translate([0, rack_rail_y, brk_block_z/2 + rack_rail_y*rack_shear_ratio]) {
-      for (m=[0]) mirror([m,0,0]) {
-        linextr(-(50 + cross_rail_distance), 50 + rear_to_cross_rail)
-         translate([rack_rail_x, 0])
-         circle(r= rack_rail_dia/2);
-       }
-
-      translate([0,0, rear_to_cross_rail])
-       linextr_x_yz(rack_rail_x, -rack_rail_x)
-       circle(r= rack_rail_dia/2);
+    translate([0, rack_rail_y, brk_block_z/2 + rack_rail_y*rack_shear_ratio])
+    children();
+}
 
-      translate([0,0, rear_to_cross_rail - cross_rail_distance])
-       linextr_x_yz(rack_rail_x, -rack_rail_x)
+module RackForDemoRails(){
+  ForRackForDemo() {
+    for (m=[0]) mirror([m,0,0]) {
+      linextr(-(50 + cross_rail_distance), 50 + rear_to_cross_rail)
+       translate([rack_rail_x, 0])
        circle(r= rack_rail_dia/2);
     }
+  }
+}
+
+module RackForDemoCrosses(){
+  ForRackForDemo() {
+    translate([0,0, rear_to_cross_rail])
+      linextr_x_yz(rack_rail_x, -rack_rail_x)
+      circle(r= rack_rail_dia/2);
+
+    translate([0,0, rear_to_cross_rail - cross_rail_distance])
+      linextr_x_yz(rack_rail_x, -rack_rail_x)
+      circle(r= rack_rail_dia/2);
+  }
 }
 
 module Front(){ ////toplevel
@@ -451,6 +460,7 @@ module RearRackDemo(){ ////toplevel
     Rear();
     translate([0, 0, -rear_bolt_to_front_bolt])
       Front();
-    %RackForDemo();
+    %RackForDemoRails();
+    %RackForDemoCrosses();
   }
 }