X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=98819b24cb0ef3d4647ac16bc77282dfbe37a53a;hb=59c46629d0aab88ec2703ff484c01db1718472c7;hp=c32061ec2bcd4f5870ef71df3d35820d499beee5;hpb=d7dd17a652d2f3dfcb2269ec95af9910fcc10601;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index c32061e..98819b2 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -676,37 +676,64 @@ module StorArmHoleTest(){ ////toplevel } -//----- filament guide clip spacer clip ----- +//----- filament guide spacer ----- -guideclip_armdia = 15.0 + 0.5; -guideclip_armwidth = 10.2 + 0.5; +guide_armdia = 15.0 + 0.75; +guide_armwidth = 10.2 + 0.75; -guideclip_prongprotrude = 4; -guideclip_thick = 1.6; +guidefilclip_outerdia = 22.8; -module FilamentGuideClipArmTemplate(extra=0){ +guidespacer_prongprotrude = 4; +guidespacer_thick = 1.6; +guidespacer_len = 15.3 + 0.75; + +// calculated + +guidespacer_wingheight = (guidefilclip_outerdia - guide_armdia)/2; + +module FilamentGuideArmTemplate(extra=0){ intersection(){ - circle(r= (guideclip_armdia/2) + extra); - square(center=true, [guideclip_armwidth+extra*2, - guideclip_armdia + extra*2 + 10]); + circle(r= (guide_armdia/2) + extra); + square(center=true, [guide_armwidth+extra*2, + guide_armdia + extra*2 + 10]); } } -module FilamentGuideClipSpacerClipTemplate(){ +module FilamentGuideSpacerInnerTemplate(){ + FilamentGuideArmTemplate(); + translate([0, -guide_armdia/2]) + square(center=true, [guide_armwidth - guidespacer_prongprotrude, + guide_armdia]); +} + +module FilamentGuideSpacer(){ ////toplevel difference(){ union(){ - FilamentGuideClipArmTemplate(extra= guideclip_thick); + linear_extrude(height= guidespacer_len) + FilamentGuideArmTemplate(extra= guidespacer_thick); + for (angle=[26, 60]) { + for (m=[0,1]) { + mirror([m,0,0]) { + rotate([0,0,angle]) { + hull(){ + for (t=[[0, guidespacer_wingheight], + [guidespacer_len-1, -guidespacer_wingheight]]) + translate([0,0, t[0] + 0.5]) + cube([guidespacer_thick, guide_armdia + t[1]*2, + 1], + center=true); + } + } + } + } + } } - FilamentGuideClipArmTemplate(); - translate([0, -guideclip_armdia/2]) - square(center=true, [guideclip_armwidth - guideclip_prongprotrude, - guideclip_armdia]); + translate([0,0,-1]) + linear_extrude(height= guidespacer_len+5) + FilamentGuideSpacerInnerTemplate(); } } -module FilamentGuideClipSpacerClip(){ ////toplevel -} - module Demo(){ translate([-hubeffrad-30,50,0]) Hub();