// -*- C -*-
+// properties of the knives
nknives = 3;
-
widths = [15.5, 15.8, 19.0];
-
handlelenbase = 60;
handlelendelta = [-10, 0, 0];
-
locations = [-35, 0, 40];
-
bladew = 5; // 2.5
+maxhandledepth = 43.5;
+
+// other tuneables
+side = 5;
+front = 5;
+back = 5;
+height = 50;
+// computed
+totaldepth = front + maxhandledepth + back;
module ImportTemplate(w,k,t) {
fn = str("knifeblock-knives-t",k,t,".dxf");
DoKnife(k);
}
-DoKnives();
+module Block(){
+ minkx = locations[0] - widths[0] /2;
+ maxkx = locations[nknives-1] + widths[nknives-1]/2;
+
+ minx = minkx - side;
+ maxx = maxkx + side;
+
+ difference(){
+ translate([minx, -front, 0])
+ mirror([0,0,1])
+ cube([maxx-minx, totaldepth, height]);
+ #DoKnives();
+ }
+}
+
+Block();