X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamenttrestle.scad;h=9d9e41f6a54000a16213061ee07c1b10a9804850;hp=57f52ad3f54ec173b26211063d4bf217f3de51c5;hb=47469cebb4ff8384aae1fb2f7ed2154b8ea08405;hpb=4a21d8d71430dfbb98d532b664cbfd948dec6ae2 diff --git a/filamenttrestle.scad b/filamenttrestle.scad index 57f52ad..9d9e41f 100644 --- a/filamenttrestle.scad +++ b/filamenttrestle.scad @@ -22,14 +22,22 @@ trestlelegw = 10; trestlebaseh = 10; trestleplugd = 1; -topcylthick = 3; -topcylbasedepth = 4; +topblockthick = 4; +topblockbasedepth = 4; + +pinbasew = 3; +pinminh = 1.0; +pinmaxh = 3; +pindh = 1.0; +pindwidth = 1.0; module Plug(d=0){ - a = -atan(plugslope); - tdx = d * cos(a); - tdy = d * sin(a); - bdx = d / cos(a); + dw = d; + dh = d; + a = atan(plugslope); + bdx = dw / cos(a); + tdy = dh; + tdx = bdx + dh * plugslope; translate([-d,0,0]) rotate([90,0,90]) linear_extrude(height=plugl+0.1+d*2){ polygon([[-(plugwmin/2 + bdx), 0], [-(plugwmax/2 + tdx), plugh + tdy], @@ -64,7 +72,10 @@ module Bar(){ module Trestle(){ legang = atan2(trestlebase/2, trestleheight); eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25); - topcylw = plugwmax + topcylthick*2; + topblockw = plugwmax + trestleplugd*2 + topblockthick*2; + + pinholebasew = pinbasew + pindwidth; + pinholeh = pinminh + pindh; difference(){ union(){ @@ -80,8 +91,8 @@ module Trestle(){ cylinder(r=trestlelegw/2*1.2, h=plugl); } } - translate([-topcylw/2, -topcylbasedepth, 0]) - cube([topcylw, topcylbasedepth + plugh + topcylthick, plugl]); + translate([-topblockw/2, -topblockbasedepth, 0]) + cube([topblockw, topblockbasedepth + plugh + topblockthick, plugl]); translate([-trestlebase/2, -trestleheight, 0]) ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl); @@ -91,6 +102,20 @@ module Trestle(){ rotate([-90,-90,0]) Plug(d=trestleplugd); + + for (rot=[0,180]) { + translate([0,0,plugl/2]) rotate([0,rot,0]) translate([0,0,-plugl/2]) { + translate([-(topblockw*0.25+1), + plugh + pindh - (pinmaxh - pinminh)/2, + (plugl - pinholebasew*2)/3]) rotate([0,90,0]) { + linear_extrude(height = topblockw*1.0+2) { + polygon([[-1.0 * pinholebasew, -0.01], + [-0.5 * pinholebasew, pinholeh], + [ 0 , -0.01]]); + } + } + } + } } }