X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=salter-scale-hook.scad;h=3a8cfa354c0ca1642c4415a734a2b2da4251efec;hb=6dba99d4594590c1af949fbd0379d366a05c2ca6;hp=b9dc7b7a3fae47694644ad1cdd911291f84d6434;hpb=3fe2d75f4a4161e9a62c4692909af942c7b2a487;p=reprap-play.git diff --git a/salter-scale-hook.scad b/salter-scale-hook.scad index b9dc7b7..3a8cfa3 100644 --- a/salter-scale-hook.scad +++ b/salter-scale-hook.scad @@ -10,6 +10,7 @@ rod_offset = 14 + 2; mainheight = 25; width = 40; rearthick = 4; +screw_head_depth = 2; // calculated @@ -19,6 +20,13 @@ ymin = yminc-thick/2; ymaxc = mainheight; ymax = mainheight+thick/2; +cutdepth = rod_offset - rod_dia/2 - rearthick; + +cut_z0 = screw_head_dia/2; +cut_z1 = width/2 - rearthick; + +cutslopez = cutdepth * 0.5; + module C() { circle(r = thick/2, $fn=30); } @@ -56,4 +64,45 @@ module ProfileDemo(){ color("red") translate([0,0,1]) CutProfile(); } -ProfileDemo(); +module Cut(less){ + translate([0,0, cut_z0 + less]) + linear_extrude(height = cut_z1 - cut_z0 - less*2) + CutProfile(); +} + +module ScrewHole(){ + xd = (screw_head_dia-screw_dia)/2; + translate([0,0,-50]) + cylinder(h=100, r= screw_dia/2, $fn=20); + hull(){ + translate([0,0,-xd]) + cylinder(h=1, r= screw_dia/2, $fn=50); + cylinder(h=20, r= screw_head_dia/2, $fn=50); + } +} + +module Hook(){ + difference(){ + translate([0,0, -width/2]) + linear_extrude(height=width) Profile(); + + for (m=[0,1]) { + mirror([0,0,m]) { + hull(){ + Cut(cutslopez); + translate([cutdepth,0,0]) Cut(0); + } + } + } + + translate([rod_dia/2 + screw_head_depth, + ymaxc - screw_head_dia, + 0]) { + rotate([0,-90,0]) + ScrewHole(); + } + } +} + +//ProfileDemo(); +Hook();