X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=osstest-arm-net-bracket.scad;h=54e7d3b3653bed79fb681515225a3fc6b285e841;hp=6e88ffcd838e35fac0c51848b615fdcad07a8226;hb=d1f9fc4c0e7a12e00138ebb6b899a6a120be3864;hpb=08d58c92fa517c6a62ed31af40182cc135c9c6db diff --git a/osstest-arm-net-bracket.scad b/osstest-arm-net-bracket.scad index 6e88ffc..54e7d3b 100644 --- a/osstest-arm-net-bracket.scad +++ b/osstest-arm-net-bracket.scad @@ -2,35 +2,92 @@ holedist = 64; tonguewidth = 10; +tongue2width = 15; totaldepth = 26; -thick = 3; -tabover = 7; +tongue2depth = 35; +thick = 4; +tabover = 7+6; tabunder = 15; -tabside = 7; +tabsidel = 7+1; +tabsider = 7+10; tonguethick = 4; +tongue2thick = 5; strapthick = 2; -strapwidth = 5; +strapwidth = 5 + 0.35; ridgewidth = 2; +hstrengthick = 2.5; +hstrengdepth = strapwidth; + +cutoutover = 7; +rcutoutside = 7+2 - 0.5; +lcutoutside = 7-6.5 - 0.5; + +t2strengwidth = 10; +t2strengwidtht = 4; +t2strenglen = tongue2depth + 5; +t2strengthicker = 1; + +strapholethicker = 1.5; + holedia = 3.5; -module Object(){ +tongue2x = tongue2width - holedist; + +module Tongue(tw,tt,ad,slots=2){ + y0=thick+0.1; + yn=ad-ridgewidth-strapwidth; difference(){ - translate([-holedist-tabside, 0, 0]) - cube([tabside*2+holedist, thick, tabunder+tabover]); - for (x=[-holedist,0]) - translate([x, -1, tabunder]) - rotate([-90,0,0]) - cylinder(r= holedia/2+0.5, h=thick+2, $fn=20); + union(){ + translate([-tw, 0, 0]) + cube([tw, ad, tt+strapthick]); + child(); + } + for (yi=[1:slots-1]) + translate([-tw-1, y0 + (yn-y0)*yi/(slots-1), tt]) + cube([tw+2, strapwidth, strapthick+strapholethicker]); } +} + +module Body(){ + translate([-holedist-tabsider, 0, 0]) { + cube([tabsidel+tabsider+holedist, thick, tabunder+tabover]); + cube([tabsidel+tabsider+holedist, thick+hstrengdepth, hstrengthick]); + } + Tongue(tonguewidth,tonguethick,totaldepth,3); + translate([tongue2x,0,0]) + Tongue(tongue2width,tongue2thick,tongue2depth+thick,5) { + mirror([1,0,0]) hull(){ + translate([-(tongue2width-t2strengwidth)*0.05, 0,0]) + cube([t2strengwidth,t2strenglen, + tongue2thick+strapthick+strapholethicker+t2strengthicker]); + cube([t2strengwidtht,thick+0.1,tabunder+tabover]); + } + } +} + +module Object(){ difference(){ - translate([-tonguewidth, 0, 0]) - cube([tonguewidth, totaldepth, tonguethick+strapthick]); - for (y=[thick+0.1, totaldepth-ridgewidth-strapwidth]) - translate([-tonguewidth-1, y, tonguethick]) - cube([tonguewidth+2, strapwidth, strapthick+1]); + Body(); + translate([0,-25,tabunder+cutoutover]) { + translate([-(holedist+rcutoutside), 0,0]) + mirror([1,0,0]) + cube([50,50,50]); + translate([lcutoutside, 0,0]) + cube([50,50,50]); + } + for (x=[-holedist,0]) + translate([x, 0, tabunder]) { + translate([0, -1, 0]) { + rotate([-90,0,0]) { + cylinder(r= holedia/2+0.5, h=thick+2, $fn=20); + } + } + translate([0, 19.95 + thick, 0]) + cube(center=true,[10,40,10]); + } } }