From: Ian Jackson Date: Wed, 17 Oct 2012 20:17:33 +0000 (+0100) Subject: filamenttrestle new bar X-Git-Tag: filamentspool-v2-release~724 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=commitdiff_plain;h=dbb40611844ae5274c44a16313b4319aff35475e filamenttrestle new bar --- diff --git a/axlepin.scad b/axlepin.scad index b684f04..818b5a2 100644 --- a/axlepin.scad +++ b/axlepin.scad @@ -15,6 +15,8 @@ module AxlePin(axlerad, pinlen, holerad=2, tabthick=5, slop=0.5){ } } +function Washer_thick() = 1.2; + module Washer(axlerad, washerrad, thick=1.2, slop=0.5){ difference(){ cylinder(h=thick, r=washerrad); diff --git a/filamenttrestle.scad b/filamenttrestle.scad index 8d17cf6..340a6d5 100644 --- a/filamenttrestle.scad +++ b/filamenttrestle.scad @@ -7,9 +7,10 @@ trestlebase = 80; // fixme needs to be checked include include -spoolwidthgap = 2; +spoolinnerslop = 2; + barrad = 7; -barwasherrad = 20; +barwasherrad = 17; legw = 12; plugl = 20; @@ -34,6 +35,10 @@ pindwidth = 0.75; pintaperlen = plugwmax * 0.85; pinstraightlen = 10; +spoolouterpad = AxlePin_holerad()*2 * 1.5; +spoolbarlen = spoolwidth + + 2*(Washer_thick() + AxlePin_holerad() + spoolinnerslop + spoolouterpad); + module Plug(d=0){ dw = d; dh = d; @@ -52,7 +57,7 @@ module Plug(d=0){ } module Bar(){ ////toplevel - spoolw = spoolwidth + spoolwidthgap*2; + spoolw = spoolbarlen; barz = barrad * 0.5; biggestw = spoolw + 50; @@ -65,8 +70,17 @@ module Bar(){ ////toplevel cube([spoolw/2+1.1, 100, 100]); } } - translate([-biggestw/2, -50, 0]) - cube([biggestw, 100, 100]); + difference(){ + translate([-biggestw/2, -50, 0]) + cube([biggestw, 100, 100]); + for (mir=[0,1]) { + mirror([mir,0,0]) + translate([spoolwidth/2 + Washer_thick() + spoolinnerslop + + AxlePin_holerad()*0.5, + 0, -50]) + cylinder(r=AxlePin_holerad(), 100, $fn=15); + } + } translate([0,0,barz]) { translate([-100,0,0]) rotate([0,90,0]) cylinder(r=barrad, h=200, $fn=30); @@ -74,10 +88,14 @@ module Bar(){ ////toplevel } } -module FtAxlePin(){ +module FtAxlePin(){ ////toplevel AxlePin(barrad, (barrad + barwasherrad*2)/3 * 2); } +module AxleWasher(){ ////toplevel + Washer(barrad, barwasherrad); +} + module Trestle(){ ////toplevel legang = atan2(trestlebase/2, trestleheight); eplen = sqrt(trestleheight*trestleheight + trestlebase*trestlebase*0.25); @@ -169,8 +187,9 @@ module TestKit(){ ////toplevel } } -//Bar(); -FtAxlePin(); +Bar(); +//FtAxlePin(); +//AxleWasher(); //Trestle(); //Pin(); //TestKit();