// -*- C -*- nknives = 3; widths = [15.5, 15.8, 19.0]; handlelenbase = 60; handlelendelta = [-10, 0, 0]; locations = [-35, 0, 40]; bladew = 5; // 2.5 module ImportTemplate(w,k,t) { fn = str("knifeblock-knives-t",k,t,".dxf"); echo(fn); translate([0,0, -w/2]) linear_extrude(height=w) import(file=fn, convexity=100); } module Knife(k){ ImportTemplate(bladew, k,"bl"); hull(){ ImportTemplate(widths[k], k,"hl"); translate([-100,0,0]) ImportTemplate(widths[k], k,"hl"); } } module DoKnife(k){ translate([locations[k],0,0]){ rotate([0,90,0]) translate([-(handlelenbase + handlelendelta[k]),0,0]) Knife(k); } } module DoKnives(){ for (k=[0:nknives-1]) DoKnife(k); } DoKnives();