X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamenttrestle.scad;h=4532c79867aef2be1c27adc1a9e4bebf67089e2e;hb=41ada164bf149e5e19488caf25527800fd3fc78c;hp=5b5e724ff301a21cade82b5f3de6c0d667157ec0;hpb=7afa43a18342d0af7d2714302d3ba2c8a50d3be0;p=reprap-play.git diff --git a/filamenttrestle.scad b/filamenttrestle.scad index 5b5e724..4532c79 100644 --- a/filamenttrestle.scad +++ b/filamenttrestle.scad @@ -13,7 +13,7 @@ guidewidth = 3; guiderad = 20; plugl = 12; -plugwmin = min(8, DoveClipPairSane_width(2)); +plugwmin = 3; plugh = 10; plugslope = 0.5; plugwmax = plugwmin + plugh * plugslope * 2; @@ -23,21 +23,25 @@ trestlebaseh = 10; trestleplugd = 1; topcylthick = 3; -topcylbasedepth = 7; +topcylbasedepth = 4; + +pinbasew = 3; +pinminh = 1.0; +pinmaxh = 3; +pindh = 1.0; +pindwidth = 1.0; module Plug(d=0){ - a = atan(plugslope); + a = -atan(plugslope); tdx = d * cos(a); tdy = d * sin(a); bdx = d / cos(a); translate([-d,0,0]) rotate([90,0,90]) linear_extrude(height=plugl+0.1+d*2){ - polygon([[-(plugwmax/2 + bdx), 0], - [-(plugwmin/2 + tdx), plugh + tdy], - [+(plugwmin/2 + tdx), plugh + tdy], - [+(plugwmax/2 + bdx), 0]]); + polygon([[-(plugwmin/2 + bdx), 0], + [-(plugwmax/2 + tdx), plugh + tdy], + [+(plugwmax/2 + tdx), plugh + tdy], + [+(plugwmin/2 + bdx), 0]]); } - translate([plugl + DoveClip_depth()*0.7 + d, 0, 0]) - DoveClipPairSane(count=1, h=plugh-0.1); } module Bar(){ @@ -66,10 +70,10 @@ module Bar(){ module Trestle(){ legang = atan2(trestlebase/2, trestleheight); eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25); - topcylr = max(plugwmax/2, - trestlelegw/2, - sqrt(plugwmin*2/4 + plugh*plugh) - ) + topcylthick + trestleplugd; + topcylw = plugwmax + topcylthick*2; + + pinholebasew = pinbasew + pindwidth; + pinholeh = pinminh + pindh; difference(){ union(){ @@ -78,17 +82,15 @@ module Trestle(){ rotate([0,0, -90-legang]) ExtenderPillars(length=eplen+trestlelegw, width=trestlelegw, - height=plugl); + height=plugl, + baseweb=true); translate([-trestlebase/2, -trestleheight, 0]) cylinder(r=trestlelegw/2*1.2, h=plugl); } } - intersection(){ - cylinder(r=topcylr, h=plugl); - translate([-50, -topcylbasedepth, -1]) - cube([100, 50, plugl+2]); - } + translate([-topcylw/2, -topcylbasedepth, 0]) + cube([topcylw, topcylbasedepth + plugh + topcylthick, plugl]); translate([-trestlebase/2, -trestleheight, 0]) ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl); @@ -98,9 +100,25 @@ 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([-(topcylw*0.25+1), + plugh, + (plugl - pinholebasew*2)/3]) rotate([0,90,0]) { + linear_extrude(height = topcylw*1.0+2) { + polygon([[-1.0 * pinholebasew, -0.01], + [-0.5 * pinholebasew, pinholeh], + [ 0 , -0.01]]); + } + } + } + } } } //Bar(); -//Plug(d=1); Trestle(); + +//Plug(d=1); +//ExtenderPillars(80,12,8, baseweb=true);