From 7514706b5766963cd0eb1e0f695120be8c84e288 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 24 Jan 2016 15:43:54 +0000 Subject: [PATCH] filamentspool: FilamentGuideArm: wip --- filamentspool.scad | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) diff --git a/filamentspool.scad b/filamentspool.scad index 637a72a..33ccba1 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -751,17 +751,30 @@ guidearm_hookprotr = 4; guidearm_hookprotrflat = 1; guidearm_hookslope = 0.3; +guidearm_totallen = 60; + +guidearm_screwplatesz = 12; +guidearm_screwplateth = 4; +guidearm_screwhole = 4 + 0.5; + +guidearm_bendlen = 50; + // calculated guidearm_armdia = guide_armdia - guidearm_armslop; guidearm_armwidth = guide_armwidth - guidearm_armslop; guidearm_armcorelen = guide_armcorelen + guidearm_armlenslop; +guidearm_base_z0 = -(guidearm_totallen - guidearm_armcorelen); + +guidearm_realbendlen = max(guidearm_bendlen, + guidearm_totallen - guidearm_screwplateth - 0.1); + module FilamentGuideArmShaftPositive(){ r = guidearm_armdia/2; - translate([0,0,-1]) - cylinder(r=r, h= guidearm_armcorelen+2); + translate([0,0, guidearm_base_z0+1]) + cylinder(r=r, h= guidearm_totallen); translate([0,0, guidearm_armcorelen]){ hull(){ for (ts=[-1,+1]) { @@ -774,8 +787,33 @@ module FilamentGuideArmShaftPositive(){ } } +module FilamentGuideArmBase(){ + translate([0,0, guidearm_base_z0]){ + difference(){ + translate([0,0, guidearm_screwplateth/2]) + cube(center=true, + [guidearm_armdia + guidearm_screwplatesz*2, + guidearm_armwidth, + guidearm_screwplateth]); + for (ts=[-1,+1]) { + translate([ts * (guidearm_armdia/2 + guidearm_screwplatesz/2), + 0, + -20]) + cylinder(r= guidearm_screwhole/2, h=40); + } + } + } +} + module FilamentGuideArm(){ ///toplevel - FilamentGuideArmShaftPositive(); + intersection(){ + FilamentGuideArmShaftPositive(); + cube(center=true, + [guidearm_armdia*2, + guidearm_armwidth, + guidearm_totallen*3]); + } + FilamentGuideArmBase(); } -- 2.30.2