X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=doveclip.scad;h=a58859c716f0bf3b7a8bde852a452a190b0a3ab9;hb=6625e2e26d5cb5331751ae82a2304213fea63ef5;hp=5291c4946434292f254c967b6a7dbcdf6c6b5137;hpb=14272f5096d1d5581331c1a85db1505886ddbb6a;p=reprap-play.git diff --git a/doveclip.scad b/doveclip.scad index 5291c49..a58859c 100644 --- a/doveclip.scad +++ b/doveclip.scad @@ -32,6 +32,11 @@ module DoveClipPin(h=height) { } } +function DoveClip_depth() = + basethick + nomrad*2 + toothheight; +function DoveClip_width() = + nomrad*2 + jawthick*2 + toothgap; + module DoveClipEnd(baseextend=1, h=7) { cubex = nomrad*2 + jawthick*2; cube0y = -basethick-nomrad*2-toothheight; @@ -47,19 +52,25 @@ module DoveClipEnd(baseextend=1, h=7) { } module DoveClipPair(baseextend=1, h=7) { - delta = nomrad*2 + jawthick*2 + toothgap; + delta = DoveClip_width(); for (x=[-delta/2,delta/2]) translate([x,0,0]) DoveClipEnd(baseextend=baseextend, h=h); } -module DoveClipPairBase(baseextend=0.1, h=7) { +module DoveClipPairBase(baseextend=0.1, h=7, count=2) { delta = nomrad*2 + jawthick; intrude = nomrad + basethick - basepinclear; - for (x=[-delta/2,delta/2]) { - translate([x,0,0]) + for (i=[0:count-1]) { + translate([(i - (count-1)/2) * delta, 0, 0]) DoveClipEnd(baseextend=baseextend, h=h); } - translate([-delta, -intrude, 0]) - cube([delta*2, intrude+0.1, h]); + translate([-delta * count/2, -intrude, 0]) + cube([delta * count, intrude+0.1, h]); +} + +module DoveClipPairSane(baseextend=0, h=7, count=2) { + rotate([0,0,90]) + translate([0, DoveClip_depth(), 0]) + DoveClipPairBase(baseextend=baseextend, h=h, count=count); }