X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=a0381de00f2037b798b6fd4238507461a37701de;hb=8b5b84f1d0510020f9656e979c84f4c834536404;hp=66d998791df99017c34d0fba36229e70bc4c5752;hpb=9e4c5e3b752d751db00b3b4dc87b86aa5b7df5b0;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index 66d9987..a0381de 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -14,6 +14,9 @@ hublthick = 10; hubaxlelen = 25; hubaxlerad = 5; totalheightfromtower = 240; +axletowerfudgebend = 0; +axleaxlefudgebend = 3; +axlepadlen = 1.0; prongthick=5; prongwidth=5; @@ -53,7 +56,7 @@ armendwallthick=2.5; armendbasethick=1.2; axlehorizoffset = 12.5; -axlevertheight = 80; +axlevertheight = 100; towercliph = 16; towerclipcount = 3; towerpillarw = 5; @@ -259,7 +262,9 @@ module Axle(){ ////toplevel pillarswidth = DoveClipPairSane_width(towerclipcount); if(0) + rotate([0,0, -( axleaxlefudgebend + atan(slop/hubaxlelen) ) ]) translate([-axlehorizoffset, -axlevertheight, 0]) { + rotate([0,0,-axletowerfudgebend]) rotate([0,0,-90]) DoveClipPairSane(h=towercliph, count=towerclipcount, baseextend=3); translate([0, DoveClip_depth(), 0]) @@ -269,7 +274,7 @@ if(0) pillarw=towerpillarw); } - axleclearlen = hubaxlelen + slop*3 + washerthick*2; + axleclearlen = hubaxlelen + slop*4 + washerthick*2 + axlepadlen; axlerad = hubaxlerad-slop; bump = axlerad * 0.2; shift = axlerad-bump; @@ -281,21 +286,25 @@ if(0) union(){ translate([-1, 0, 0]) rotate([0,90,0]) - cylinder(r = axlerad, h = 1 + axleclearlen + 3 + 2); + cylinder($fn=60, + r = axlerad, + h = 1 + axleclearlen + axlepinrad*2 + 2); mirror([1,0,0]) rotate([0,90,0]) - cylinder(r = washerrad, h = 3); -if(0) + cylinder(r = axlerad*1.75, h = 3); intersection(){ - mirror([1,0,0]) rotate([0,90,0]) - cylinder(r = towercliph - shift, - h = pillarswidth/2 + axlehorizoffset); + mirror([1,0,0]) + translate([axlehorizoffset - pillarswidth/2, 0, 0]) + rotate([0,90,0]) + cylinder($fn=60, + r = towercliph - shift, + h = pillarswidth * 0.5); // fixme 0.5 is bogus translate([-50, -joinbelowallow, -50]) cube([100, joinbelowallow+50, 100]); } } rotate([90,0,0]) translate([axleclearlen + axlepinrad/2, 0, -25]) - cylinder(r=axlepinrad, h=50); + cylinder(r = axlepinrad + slop, h=50); } } translate([-50,-50,0]) cube([100,100,100]);