From: Ian Jackson Date: Wed, 31 Dec 2014 17:47:29 +0000 (+0000) Subject: knifeblock: wip peg recess X-Git-Tag: filamentspool-v2-release~261 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=commitdiff_plain;h=160e4012f4db473ec6fb486b38dd071021c7f2cc knifeblock: wip peg recess --- diff --git a/knifeblock.scad b/knifeblock.scad index 6d7e96a..3c67fc1 100644 --- a/knifeblock.scad +++ b/knifeblock.scad @@ -42,7 +42,14 @@ pegstemheight = 2; pegheight = 9; peglen = 12; -pegslop = 0.5; +recessblockwidth = peghead + pegstem*3; +recessblockheight = peglen + pegstem*1.5; + +pegsloph = 0.5; +pegslopv = 0.5; +pegslopl = 0.5; + +pegdepthproportion = 0.67; // computed side = minsidein + screwcsinkdia + minsideout; @@ -54,6 +61,8 @@ maxkx = locations[nknives-1] + widths[nknives-1]/2; minx = minkx - side; maxx = maxkx + side; +pegrecess = pegdepthproportion*totaldepth - 0.5*peglen; + module ImportTemplate(w,k,t) { fn = str("knifeblock-knives-t",k,t,".dxf"); echo(fn); @@ -140,6 +149,7 @@ module CoverSide(xpos, len){ [len - covertopwing, totaldepth], [len, totaldepth], [len, 0]]); + cube([recessblockwidth, recessblockheight, totaldepth]); } } @@ -157,14 +167,15 @@ module PegTemplate(){ module Peg(){ echo("peg angle slope (must be <1)", (peghead-pegstem)/(pegheight-pegstemheight)); - d = pegslop; + dx = pegsloph; + dy = pegslopv; rotate([90,0,0]) { - linear_extrude(height=peglen) { + linear_extrude(height=peglen-pegslopl) { intersection(){ - translate([-d,-d,0]) PegTemplate(); - translate([-d,+d,0]) PegTemplate(); - translate([+d,+d,0]) PegTemplate(); - translate([+d,-d,0]) PegTemplate(); + translate([-dx,-dy,0]) PegTemplate(); + translate([-dx,+dy,0]) PegTemplate(); + translate([+dx,+dy,0]) PegTemplate(); + translate([+dx,-dy,0]) PegTemplate(); } } }