chiark / gitweb /
sewing-table: FitTest_EndEnd: trim a bit
[reprap-play.git] / topeak-seatstay-lock.scad
index b85632423826e7a53df0fec072114bbf059828b6..072a55769e298641432b12df9db8d3a6781d0fc5 100644 (file)
@@ -22,6 +22,9 @@ lock_manouvre_len_smaller = 13;
 body_depth_each = 5;
 clatter_gap = 0.5;
 
+roof_extent = 7;
+roof_thick = 2;
+
 // fudgeish
 
 cut_rotation = 2;
@@ -29,6 +32,7 @@ holes_rotation = 9;
 pin_y_offset = 5.5;
 pin_x_offset = 0.5;
 ridge_rotation = 8.5;
+lock_hang_ratio = 7;
 
 // computed
 
@@ -65,11 +69,21 @@ module BodyPlan(){
 }
 
 module Body(){
-  translate([0,0,-body_depth/2])
+  translate([0,0,body_depth/2])mirror([0,0,1]){
     linear_extrude(height=body_depth){
-    difference(){
-      BodyPlan();
-      Holes();
+      difference(){
+       BodyPlan();
+       Holes();
+      }
+    }
+    linear_extrude(height=roof_thick){
+      difference(){
+       hull(){
+         BodyPlan();
+         translate([0,-roof_extent,0]) BodyPlan();
+       }
+       Holes();
+      }
     }
   }
 }
@@ -82,16 +96,13 @@ module Pin(){
       translate([-pin_width/2, -100]) square([pin_width, 101]);
     }
     hull() for (d=[0,10]) {
-      translate([d*2,-d,0])
+      translate([d*lock_hang_ratio,-d,0])
        translate([-lock_manouvre_thick/2,
                   -pin_workdepth-100,
                   -lock_manouvre_len_smaller])
        cube([lock_manouvre_thick, 100,
              lock_manouvre_len + lock_manouvre_len_smaller]);
     }
-    translate([-lock_manouvre_thick/2, -pin_workdepth-50,
-              -lock_hang_width/2])
-      cube([50, 50, lock_hang_width]);
   }
 }
 
@@ -112,14 +123,13 @@ module Piece(pc,interval){
 }
 
 module PiecePrint(pc){
-  rotate([0,180,0])
+  rotate([0,0,90]) rotate([0,180,0])
     Piece(pc,4);
 }
 
-module PiecesPrint(pcs=[0,1]){
-  for (pc=pcs){
-    PiecePrint();
-  }
+module PiecesPrint(){
+  PiecePrint(0);
+  PiecePrint(1);
 }
 
 module Demo(){
@@ -133,3 +143,5 @@ module Demo(){
 //Pin();
 //Pieces();
 PiecesPrint();
+//PiecePrint(0);
+//PiecePrint(1);