diff --git a/outdoor/headlampv2.scad b/outdoor/headlampv2.scad index 9c50319..3652fc6 100644 --- a/outdoor/headlampv2.scad +++ b/outdoor/headlampv2.scad @@ -1,8 +1,11 @@ -// Headlamp bracket to mount lamp to nylon strap v1 +// Headlamp bracket to mount lamp to nylon strap v2 +// mostly tested with 21mm light and 20mm strap // requires tweaking of plateScale when changing strap width // v2 TODO: // autoscale plate geometry with strapwidth, light cant // headcurve is janky +// +// PRINT: +1 base, +1 perimeter, 50% infill, random seam // downward light angle lCant = 20; @@ -10,25 +13,25 @@ lCant = 20; clipRot = -30; // clip length: clipLength = 29; -// light diameter, testing at 0.25 below measured for tightness? -lDiam = 20.75; +// light diameter, testing at 0.1 over measured +lDiam = 21.1; // clip tightness, use 0.8 (tight) to 0.99 (no retention) -clippiness = 0.85; +clippiness = 0.875; // plate thick -plateThick = 7; +plateThick = 8.5; // plate scale - how many times cliplength, affected by strap and cant // 2.7 seems right for 25mm strap, 1.9 for 20mm strap -plateScale = 1.5; +plateScale = 1.45; -// strap width -strapWide = 21; -// strap thickness try 3mm -strapThick = 2.1; +// strap width, rec 0.5mm under +strapWide = 19.5; +// strap thickness try 2mm +strapThick = 1.9; // head curve, puts slight curve in head side -hcRad = 400; -hcDepth = 4.8; +hcRad = 250; +hcDepth = 5.5; minkRad = 2; $fn = 20; @@ -84,17 +87,17 @@ translate([0, 0, -22]){ cube([99, 99, 44], center = true); } // cut off back of plate channel for strap -translate([-43.5 - minkRad, strapWide / 2 + 8, 0]){ +translate([-44 - minkRad, strapWide / 2 + 8, 0]){ cube([88, strapWide, 222], center = true); } // add top slot -translate([-2, strapWide / 2 + 8, (plateScale + 1) / 1.95 * clipLength * cos(lCant)]){ +translate([-2, strapWide / 2 + 8, (plateScale + 1) / 1.825 * clipLength * cos(lCant)]){ rotate([0, 45, 0]){ cube([16, strapWide, strapThick], center = true); } } // add bottom slot -translate([-2, strapWide / 2 + 8, strapWide / 2]){ +translate([-2, strapWide / 2 + 8, strapWide / 4]){ rotate([0, -45, 0]){ cube([16, strapWide, strapThick], center = true); }