From d6f27a5fcc0239e47e5116a3d6f8f63a6bba953b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 12 Feb 2015 00:07:24 +0000 Subject: [PATCH] screw-recess-test: standard screws --- screw-recess-test.scad | 59 +++++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/screw-recess-test.scad b/screw-recess-test.scad index 2272560..222081b 100644 --- a/screw-recess-test.scad +++ b/screw-recess-test.scad @@ -34,25 +34,64 @@ module RecessedScrewCutout(shaftdia, recessdia, shaftlen, } } -// shaftdia recessdia -tests = [[2 + 0.5, 4 + 1.0 ], // shaft came out ~1.0 - [3 + 0.5, 6 + 1.0 ], // shaft came out ~2.0 - [4 + 0.5, 8 + 1.0 ], // shaft came out ~3.3 - [5 + 0.5, 10 + 1.0 ], // shaft came out ~4.5 - [6 + 0.5, 12 + 1.0 ]]; // shaft came out ~5.4 +// nom. shaft +// shaft slop +screw_info_M2 = [2, 1.5]; +screw_info_M3 = [3, 1.5]; +screw_info_M4 = [4, 1.2]; +screw_info_M5 = [5, 1.0]; +screw_info_M6 = [6, 0.9]; + +function screw_shaft_dia_nom(info) = info[0]; +function screw_shaft_dia_use(info) = info[0] + info[1]; +function screw_recess_dia_use(info) = info[0] * 2.5; +function screw_recess_depth(info) = info[0] * .65; +function screw_recess_depth_allen(info) = info[0] * 1.20; + +function RecessedScrewCutoutStandard_totaldepth(info) = + RecessedScrewCutout_totaldepth(screw_recess_dia_use(info), + screw_recess_depth(info)); + +function RecessedScrewCutoutStandardAllen_totaldepth(info) = + RecessedScrewCutout_totaldepth(screw_recess_dia_use(info), + screw_recess_depth_allen(info)); + +module RecessedScrewCutoutStandard(info, shaftlen, zbelow=1) { + RecessedScrewCutout(screw_shaft_dia_use(info), + screw_recess_dia_use(info), + shaftlen, zbelow, + screw_recess_depth(info)); +} + +module RecessedScrewCutoutStandardAllen(info, shaftlen, zbelow=1) { + RecessedScrewCutout(screw_shaft_dia_use(info), + screw_recess_dia_use(info), + shaftlen, zbelow, + screw_recess_depth_allen(info)); +} + +tests = [ + screw_info_M2, + screw_info_M3, + screw_info_M4, + screw_info_M5, + screw_info_M6 + ]; + +function Test_blocksz(t) = screw_recess_dia_use(t) + 7; module OneTest(t){ - blocksz = t[1] + 7; - h = RecessedScrewCutout_totaldepth(t[1]) + 3; + blocksz = Test_blocksz(t); + h = RecessedScrewCutoutStandard_totaldepth(t); difference(){ translate([-blocksz/2, -blocksz/2, 0]) cube([blocksz, blocksz, h]); - RecessedScrewCutout(t[0],t[1], h+1); + RecessedScrewCutoutStandard(t, h+1); } } function Test_x(i) = i<=0 ? 0 : - Test_x(i-1) + tests[i-1][1]*0.5 + tests[i][1]*0.5 + 4.5; + Test_x(i-1) + Test_blocksz(tests[i-1])/2 + Test_blocksz(tests[i])/2 - 3; module Tests(){ for (i = [0:len(tests)-1]) { -- 2.30.2