From: Ian Jackson Date: Wed, 10 Oct 2012 20:23:43 +0000 (+0100) Subject: Merge branch 'master' of chiark:/u/ianmdlvl/reprap/play X-Git-Tag: filamentspool-v2-release~752 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=53a30809514a5f7530f2b8d4158da21cec2e6657;hp=2306d7a8081ca9b04c2101be7023a24c70014a9f;p=reprap-play.git Merge branch 'master' of chiark:/u/ianmdlvl/reprap/play --- diff --git a/doveclip.scad b/doveclip.scad index 06db088..a7dc6bd 100644 --- a/doveclip.scad +++ b/doveclip.scad @@ -77,7 +77,8 @@ function DoveClipPairSane_width(count=2) = 2 * (nomrad + jawthick + ((nomrad*2 + jawthick) * (count-1)/2)); module ExtenderPillars(length, width, height, - pillarw=3.5, pillarslope=0.75, webthick=1) { + pillarw=3.5, pillarslope=0.75, webthick=1, + baseweb=false, basewebthick=1) { pillarr=pillarw/2; pilesw = width - pillarw; d = 0.25; @@ -106,6 +107,10 @@ module ExtenderPillars(length, width, height, } } } + if (baseweb) { + translate([0, -pilesw/2, 0]) + cube([length, pilesw, basewebthick]); + } } module DoveClipExtender(length, ha=7, hb=7, counta=2, countb=2, diff --git a/filamenttrestle.scad b/filamenttrestle.scad new file mode 100644 index 0000000..57f52ad --- /dev/null +++ b/filamenttrestle.scad @@ -0,0 +1,101 @@ +// -*- C -*- + +spoolwidth = 80; // fixme needs to be measured +trestleheight = 80; // fixme needs to be checked +trestlebase = 80; // fixme needs to be checked + +include + +spoolwidthgap = 2; +barrady = 5; +barradz = 7; +guidewidth = 3; +guiderad = 20; + +plugl = 12; +plugwmin = 3; +plugh = 10; +plugslope = 0.5; +plugwmax = plugwmin + plugh * plugslope * 2; + +trestlelegw = 10; +trestlebaseh = 10; +trestleplugd = 1; + +topcylthick = 3; +topcylbasedepth = 4; + +module Plug(d=0){ + 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([[-(plugwmin/2 + bdx), 0], + [-(plugwmax/2 + tdx), plugh + tdy], + [+(plugwmax/2 + tdx), plugh + tdy], + [+(plugwmin/2 + bdx), 0]]); + } +} + +module Bar(){ + spoolw = spoolwidth + spoolwidthgap*2; + barz = barradz * 0.5; + biggestw = spoolw + 50; + + intersection(){ + for (mir=[0,1]) { + mirror([mir,0,0]) { + translate([0,0,barz]) { + scale([1,barrady,barradz]) translate([-1,0,0]) + rotate([0,90,0]) cylinder(r=1, h=spoolw/2+2, $fn=30); + translate([spoolw/2,0,0]) + rotate([0,90,0]) cylinder(r=guiderad, h=guidewidth, $fn=60); + } + translate([spoolw/2 + guidewidth, 0, 0]) + Plug(); + } + } + translate([-biggestw/2, -50, 0]) + cube([biggestw, 100, 100]); + } +} + +module Trestle(){ + legang = atan2(trestlebase/2, trestleheight); + eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25); + topcylw = plugwmax + topcylthick*2; + + difference(){ + union(){ + for (mir=[0,1]) { + mirror([mir,0,0]) { + rotate([0,0, -90-legang]) + ExtenderPillars(length=eplen+trestlelegw, + width=trestlelegw, + height=plugl, + baseweb=true); + + translate([-trestlebase/2, -trestleheight, 0]) + cylinder(r=trestlelegw/2*1.2, h=plugl); + } + } + translate([-topcylw/2, -topcylbasedepth, 0]) + cube([topcylw, topcylbasedepth + plugh + topcylthick, plugl]); + + translate([-trestlebase/2, -trestleheight, 0]) + ExtenderPillars(length=trestlebase, width=trestlebaseh*2, height=plugl); + } + translate([-300, -trestleheight-50, -1]) + cube([600, 50, plugl+2]); + + rotate([-90,-90,0]) + Plug(d=trestleplugd); + } +} + +//Bar(); +Trestle(); + +//Plug(d=1); +//ExtenderPillars(80,12,8, baseweb=true); diff --git a/trailerhubcap.scad b/trailerhubcap.scad index 9e96d09..4ae4c7d 100644 --- a/trailerhubcap.scad +++ b/trailerhubcap.scad @@ -9,10 +9,10 @@ poleholerad = 6; mainoverlap = 1.5; -hookbasew = 3.5; -hookfullw = 6; +hookbasew = 5.0; +hookfullw = 7; hookheight = 4.5; -hookwidth = 5; +hookwidth = 8; hookbevelw = 0.75; hookbevelh = 1.5;