}
-//----- filament guide clip spacer clip -----
+//----- filament guide spacer -----
-guideclip_armdia = 15.0 + 0.5;
-guideclip_armwidth = 10.2 + 0.5;
-guideclip_armspacelen = 15.3 - 0.25;
+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.25;
+
+// 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 FilamentGuideClipSpacerClipInnerTemplate(){
- FilamentGuideClipArmTemplate();
- translate([0, -guideclip_armdia/2])
- square(center=true, [guideclip_armwidth - guideclip_prongprotrude,
- guideclip_armdia]);
+module FilamentGuideSpacerInnerTemplate(){
+ FilamentGuideArmTemplate();
+ translate([0, -guide_armdia/2])
+ square(center=true, [guide_armwidth - guidespacer_prongprotrude,
+ guide_armdia]);
}
-module FilamentGuideClipSpacerClip(){ ////toplevel
+module FilamentGuideSpacer(){ ////toplevel
difference(){
union(){
- linear_extrude(height= guideclip_armspacelen)
- 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, -guidespacer_wingheight]])
+ translate([0,0, t[0] + 0.5])
+ cube([guidespacer_thick,
+ guide_armdia + guidespacer_thick*2
+ + t[1]*2,
+ 1],
+ center=true);
+ }
+ }
+ }
+ }
+ }
}
translate([0,0,-1])
- linear_extrude(height= guideclip_armspacelen+2)
- FilamentGuideClipSpacerClipInnerTemplate();
+ linear_extrude(height= guidespacer_len+5)
+ FilamentGuideSpacerInnerTemplate();
}
}