X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=33ccba1a20a47ce0fea0b1739ad713772979378c;hp=637a72ad4311208d2913a17f11dedbdd31f79f23;hb=7514706b5766963cd0eb1e0f695120be8c84e288;hpb=8a589b3697c7ee86ccc94b2d7753919dea31b427 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(); }