From 393433331138b38ee2e1826ba9d63f10a354e2d0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 1 Jan 2015 23:53:19 +0000 Subject: [PATCH] knifeblock: Holes refactor: break out HexGrid (nfc) --- knifeblock.scad | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/knifeblock.scad b/knifeblock.scad index b1a4052..4742458 100644 --- a/knifeblock.scad +++ b/knifeblock.scad @@ -224,6 +224,20 @@ module HolesScope(){ } } +module HexGrid(imin,imax,jmin,jmax) { + for (i=[imin:imax]) { + for (j=[jmin:jmax]) { + translate([j * sqrt(3) * holepitch, + (i+0.5)*holepitch, + 0]) { + child(); + translate([sqrt(3)/2 * holepitch, -0.5 * holepitch, 0]) + child(); + } + } + } +} + module Hole(){ cylinder(r=holesize/2, h=40, $fn=40); } @@ -234,18 +248,9 @@ module Holes(){ jmin = ceil((maxx-minx)/(sqrt(3)*holepitch)); echo("Holes X count 2 x", jmin); intersection(){ - translate([holeoffx * holepitch, holeoffy * holepitch, 0]) { - for (i=[0:imax]) { - translate([0, (i+0.5)*holepitch, -20]) - for (j=[-jmin:2]) { - translate([j * sqrt(3) * holepitch, 0, 0]) { - Hole(); - translate([sqrt(3)/2 * holepitch, -0.5 * holepitch, 0]) - Hole(); - } - } - } - } + translate([holeoffx * holepitch, holeoffy * holepitch, -20]) + HexGrid(0,imax,-jmin,2) + Hole(); HolesScope(); } } -- 2.30.2