chiark / gitweb /
scaffold-clamp: wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 5 Nov 2020 18:44:01 +0000 (18:44 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 5 Nov 2020 18:44:06 +0000 (18:44 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
scaffold-clamp.scad

index d0e76681df1d0fb3695dcccc7f2abd2d49ce2e08..19c86ef6af133ee3a30fc001dff2e69ca6f75faf 100644 (file)
@@ -8,7 +8,7 @@ th = 7;
 
 pin_gap = 1.5; // around
 
-smooth_r = 10;
+smooth_r = 15;
 
 bolt_dia = 5 + 0.75;
 bolt_flat = 10 + 1;
@@ -29,7 +29,7 @@ hinge_gap = pin_gap;
 hinge_o_r = 0.5 * hole_dia + th;
 
 hinge_x = -0.5 * tube_dia - hinge_o_r;
-bolt_x = 0.5 * tube_dia + bolt_flat * 0.5;
+bolt_x = 0.5 * tube_dia + th + bolt_flat * 0.5;
 max_x = bolt_x + max(0.5 + bolt_dia + th, 0.5 * bolt_flat/2);
 
 flats_y = open_gap/2 + th;
@@ -85,12 +85,24 @@ module MainPlanB(flatten){
   }
 }
 
-module HalfClampX(flatten){
-  translate([0,0, -total_z/2]) {
-    linextr(0, total_z) mirror([0,1]) MainPlanB();
-    for (i=[0 : hinge_units-1]) {
-      translate([0,0, stride_z*i])
-       linextr(0, hinge_unit) MainPlanA(flatten);
+module HalfClampX(flatten=false){
+  difference(){
+    translate([0,0, -total_z/2]) {
+      linextr(0, total_z) mirror([0,1]) MainPlanB();
+      for (i=[0 : hinge_units-1]) {
+       translate([0,0, stride_z*i])
+         linextr(0, hinge_unit) MainPlanA(flatten);
+      }
+    }
+    for (dz=[-1,+1]) {
+      translate([ bolt_x, 0, dz * total_z/4 ]) {
+       translate([0, -tube_dia/2, 0])
+         rotate([-90,0,0])
+         cylinder(r= bolt_dia/2, h= tube_dia);
+       translate([0, -flats_y, 0])
+         rotate([90,0,0])
+         cylinder(r= bolt_flat/2, h= tube_dia/2);
+      }
     }
   }
 }
@@ -110,6 +122,14 @@ module PlanDemo(){ ////toplevel
 //  translate([max_x - hinge_x + 20, 0]) color("blue") MainPlanA();
 }
 
+module GeneralB(){ ////toplevel
+  HalfClampX(true);
+}
+
+module DummyB(){ ////toplevel
+  HalfClampX();
+}
+
 module Demo(){ ////toplevel
   color("red") HalfClampA();
   color("blue") HalfClampB();