chiark / gitweb /
Revert "topeak-seatstay-lock: cylindrical hook to make lock hang at angle, BAD"
[reprap-play.git] / topeak-seatstay-lock.scad
index a8b2bd18a551d0c6dad7c5aa1b77f3a49bf3ba96..ba066669963419249ff2b3207edca001dc3d0ebd 100644 (file)
@@ -7,8 +7,7 @@ pump_seatstay_gap = 12.3;
 pump_seatstay_delta = 0.1;
 pump_ridge_width = 8 + 2.0;
 
-body_thick_x = 5;
-body_thick_y = 5;
+body_thick = 5;
 
 pin_workdepth = 16 - 1.0;
 pin_width = 11 + 1.0;
@@ -27,7 +26,8 @@ clatter_gap = 0.5;
 
 cut_rotation = 2;
 holes_rotation = 9;
-pin_offset = 6;
+pin_y_offset = 5.5;
+pin_x_offset = 0.5;
 ridge_rotation = 8.5;
 
 // computed
@@ -43,24 +43,24 @@ module Holes(forbody=false){
        rotate(-ridge_rotation + holes_rotation)
          translate([-50, -pump_ridge_width/2])
          square([50, pump_ridge_width]);
-      circle(r=pump_dia/2);
+      circle(r=pump_dia/2, $fn=80);
     }
     translate([+(pump_seatstay_gap/2 + seatstay_mindia/2),
               pump_dia/2 -seatstay_maxdia/2 -pump_seatstay_delta]) {
       hull(){
        for (ud=[-1,1])
          translate([0, ud * (seatstay_maxdia-seatstay_mindia)/2])
-           circle(r=seatstay_mindia/2);
+           circle(r=seatstay_mindia/2, $fn=50);
       }
     }
   }
 }
 
 module BodyPlan(){
-  hull(){
-    for(x=[-1,1]) for(y=[-1,1])
-      translate([x*body_thick_x, y*body_thick_y])
-       Holes(true);
+   minkowski(){
+    circle(body_thick);
+    hull()
+      Holes(true);
   }
 }
 
@@ -75,7 +75,7 @@ module Body(){
 }
 
 module Pin(){
-  translate([0, pin_offset, 0]) rotate([0,90,0]){
+  translate([pin_x_offset, pin_y_offset, 0]) rotate([0,90,0]){
     translate([0, 0, -pin_thick/2])
       linear_extrude(height=pin_thick){
       translate([-pin_base/2, 0]) square([pin_base, 50]);
@@ -111,11 +111,14 @@ module Piece(pc,interval){
   }
 }
 
-module PiecesPrint(){
+module PiecePrint(pc){
   rotate([0,180,0])
-    for (pc=[0,1]){
-      Piece(pc,4);
-    }
+    Piece(pc,4);
+}
+
+module PiecesPrint(){
+  PiecePrint(0);
+  PiecePrint(1);
 }
 
 module Demo(){
@@ -129,3 +132,5 @@ module Demo(){
 //Pin();
 //Pieces();
 PiecesPrint();
+//PiecePrint(0);
+//PiecePrint(1);