chiark / gitweb /
knifeblock: add Pegs toplevel
[reprap-play.git] / knifeblock.scad
index 4ca20e79a2012ccfc4c9a04a8a2a641780bf6c3f..4cee4c889426bdcdba0dc41a09407c18fa327228 100644 (file)
@@ -168,9 +168,9 @@ module CoverTemplate(){
   linear_extrude(height=coverthick)
     polygon([[minx, 0],
             [maxx, 0],
-            [maxx, coverlonglen],
-            [maxx - coverside, coverlonglen],
-            [minx, covershortlen]]);
+            [maxx, coverlonglen+0.1],
+            [maxx - coverside, coverlonglen+0.1],
+            [minx, covershortlen+0.1]]);
 }
 
 module CoverSide(len){
@@ -215,9 +215,11 @@ module CoverPegSlot(coverlen){
 }
 
 module HoleRow(){
-  for (i=[0:10]) {
+  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);
+      cylinder(r=holesize/2, h=40, $fn=40);
   }
 }
 
@@ -232,9 +234,11 @@ module HolesScope(){
 }
 
 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])
@@ -281,12 +285,15 @@ module Demo(){ ////toplevel
   color([1,0,0]) AtSides() { DemoPeg(); DemoPeg(); }
 }
 
+module Pegs(){ ////toplevel
+  Peg();
+  translate([-peghead-3, 0,0]) Peg();
+}
+
 module CoverParts(){ ////toplevel
   Cover();
-  translate([0, coverlonglen, pegheight/2]) {
-    Peg();
-    translate([-peghead-3, 0,0]) Peg();
-  }
+  translate([0, coverlonglen, pegheight/2-pegslopv])
+    Pegs();
 }
 
 //Block();
@@ -295,3 +302,6 @@ module CoverParts(){ ////toplevel
 //CoverParts();
 //Peg();
 //Cover();
+//Holes();
+//%CoverTemplate();
+//Pegs();