chiark / gitweb /
knifeblock: Fewer holes
[reprap-play.git] / knifeblock.scad
index f57808da24865152854f6027ab0dc87e3b6af864..7ea6079d580a4221ad95a69e589f6909b885a4ac 100644 (file)
@@ -5,7 +5,7 @@ nknives = 3;
 widths = [15.5, 15.8, 19.0];
 handlelenbase = 75;
 handlelendelta = [-15, 0, 10];
-locations = [-35, 0, 40];
+locations = [-35, 0, 37];
 bladew = 5; // 2.5
 maxhandledepth = 45;
 
@@ -23,7 +23,7 @@ minsideout = 4;
 
 frontbackslop = 0.25;
 
-knifewidthslop = 1.6;
+knifewidthslop = 2.0;
 
 screwbackdepth = 6.0 - 1.0;
 screwdia =       4.0 + 0.5;
@@ -42,8 +42,8 @@ holesize = 12.5;
 holestrut = 7;
 holeedge = 4;
 
-holeoffx = 0.45;
-holeoffy = 0.25;
+holeoffx = 0.33;
+holeoffy = 0.23;
 
 pegstem = 3.5;
 peghead = 10;
@@ -215,26 +215,30 @@ module CoverPegSlot(coverlen){
 }
 
 module HoleRow(){
-  for (i=[0:10]) {
-    translate([0, (i+0.5)*holepitch, -1])
-      cylinder(r=holesize/2, h=coverthick+2, $fn=20);
+  imax = ceil(coverlonglen / holepitch);
+  echo("Holes Y count ", imax);
+  for (i=[0:imax]) {
+    translate([0, (i+0.5)*holepitch, -20])
+      cylinder(r=holesize/2, h=40, $fn=20);
   }
 }
 
 module HolesScope(){
   intersection_for (dx=[-1,+1]) {
     intersection_for (dy=[-1,+1]) {
-      translate([dx * holeedge, dy * holeedge, -1])
-       scale([1,1,2])
+      translate([dx * holeedge, dy * holeedge, -5])
+       scale([1,1,10])
        CoverTemplate();
     }
   }
 }
 
 module Holes(){
+  imin = ceil((maxx-minx)/(sqrt(3)*holepitch));
+  echo("Holes X count 2 x", imin);
   intersection(){
     translate([holeoffx * holepitch, holeoffy * holepitch, 0]) {
-      for (i=[-10:10]) {
+      for (i=[-imin:2]) {
        translate([i * sqrt(3) * holepitch, 0, 0]) {
          HoleRow();
          translate([sqrt(3)/2 * holepitch, -0.5 * holepitch, 0])