X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=filamentspool.scad;h=755916f2ffa721c369a69b0c6ca6e4289ca672fb;hp=5b68cb21e3bfa5abd058cbf3bc0fe98a33307e96;hb=7f35f108c8a9f7d69d147f1c8b2d8d91cf207cbb;hpb=b6727bd8da6e5d6b74bf2d0e3afb86b42f679b5e diff --git a/filamentspool.scad b/filamentspool.scad index 5b68cb2..755916f 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -1,7 +1,8 @@ // -*- C -*- -fdia=2.85; -lightduty=false; +fdia=2.85; // or 1.75 +lightduty=false; // or true + slop=0.5; bigslop=slop*2; @@ -465,10 +466,19 @@ storarm_base_mind = 2; storarm_cope_hubaxle_mk1 = true; +storarm_screw_hole = 4; +storarm_screw_hole_slop = 0.5; +storarm_besides_hole = 4; + +storarm_under_hole = 5; +storarm_screw_hole_head = 8.8; +storarm_screw_hole_head_slop = 1.5; + // calculated storarm_axlerad = hubaxlerad - storarm_axleslop; -storarm_mainlen = hubaxlelen + (storarm_cope_hubaxle_mk1 ? 10 : 0); +storarm_mainlen = hubaxlelen*2 + storarm_axleslop + + (storarm_cope_hubaxle_mk1 ? 10 : 0); storarm_totlen = storarm_mainlen + storarm_hooklen; storarm_mid_off_y = storarm_axlerad; @@ -506,7 +516,25 @@ module StorageArmBaseTemplate(){ square([storarm_base_w, storarm_base_h]); } -module StorageArm(){ ////toplevel +module StorageArmAtMountingHoles(){ + bes = storarm_besides_hole + storarm_screw_hole; + + x0 = bes; + x1 = storarm_base_w-bes; + y1 = storarm_base_h - bes; + y0 = bes; + + for (pos=[ [x0, y1], + [x1, y1], + [x1, y0] ]) { + rotate([0,90,0]) + translate([pos[0] - storarm_base_w, + pos[1] - storarm_base_off_y, -storarm_base_d]) + children(); + } +} + +module StorageArmRight(){ ////toplevel shear = storarm_hookheight / (storarm_mainlen/2); StorageArmDiagPart(-1, storarm_mainlen/2+1, shear, 0); @@ -526,7 +554,32 @@ module StorageArm(){ ////toplevel StorageArmBaseTemplate(); StorageArmDiagPart(-1, 0, shear, 0); } + StorageArmAtMountingHoles(){ + cylinder(r= storarm_screw_hole_head/2, + h=10); + } } + StorageArmAtMountingHoles(){ + translate([0,0,-1]) + cylinder(r= (storarm_screw_hole + storarm_screw_hole_slop)/2 , + h=20); + translate([0,0,storarm_under_hole]) + cylinder(r= (storarm_screw_hole_head + storarm_screw_hole_head_slop)/2, + h=20); + } + } +} + +module StorageArmLeft(){ ////toplevel + mirror([1,0,0]) StorageArmRight(); +} + +module StorArmHoleTest(){ ////toplevel + sz = storarm_screw_hole_head + storarm_besides_hole*2; + intersection(){ + StorageArmRight(); + translate([-50, -storarm_base_off_y, -1]) + cube([100, sz, sz+1]); } } @@ -547,5 +600,6 @@ module Demo(){ //AxleWasher(); //AxlePin(); //AxleFrictionWasher(); -StorageArm(); +//StorageArmLeft(); +//StorArmHoleTest(); //Demo();