X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=filamentspool.scad;h=f4b47d05ff4769de4089c50c18772da5fef74286;hb=1b2db3ada8e6f1249d2f263dae6f6f9bc2e5ac02;hp=8af96483fd688feec764b8cf682b6d9a70456e72;hpb=c30615536b7e124336c7fb6d15fc7b78b7cb69b6;p=reprap-play.git diff --git a/filamentspool.scad b/filamentspool.scad index 8af9648..f4b47d0 100644 --- a/filamentspool.scad +++ b/filamentspool.scad @@ -465,6 +465,14 @@ 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; @@ -506,6 +514,24 @@ module StorageArmBaseTemplate(){ square([storarm_base_w, storarm_base_h]); } +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 StorageArm(){ ////toplevel shear = storarm_hookheight / (storarm_mainlen/2); @@ -517,12 +543,28 @@ module StorageArm(){ ////toplevel StorageArmDiagPart(storarm_mainlen, storarm_totlen, shear/2, -storarm_hookheight/2); - hull(){ - translate([-storarm_base_d, -storarm_base_off_y, storarm_base_w]) - rotate([0,90,0]) - linear_extrude(height=storarm_base_mind) - StorageArmBaseTemplate(); - StorageArmDiagPart(-1, 0, shear, 0); + difference(){ + union(){ + hull(){ + translate([-storarm_base_d, -storarm_base_off_y, storarm_base_w]) + rotate([0,90,0]) + linear_extrude(height=storarm_base_mind) + 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); + } } }