X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=shelf-label-holder.scad;h=8353d7e470f9fdc376a54e165210ac490895d303;hp=73cc3aeb91ad52ec4b90fdff1e18bde6be191913;hb=feb9921adf309029631d4245eec7f5103971ee91;hpb=d8d55b854bf63c2660a3f10579e3cb15b9fcb507 diff --git a/shelf-label-holder.scad b/shelf-label-holder.scad index 73cc3ae..8353d7e 100644 --- a/shelf-label-holder.scad +++ b/shelf-label-holder.scad @@ -1,8 +1,22 @@ // -*- C -*- prong_nomdepth = 15; -prong_curverad = 15; -prong_thick = 1.0; +prong_curverad = 30; +prong_thick = 0.7; +prong_maxdepth = 18; + +front_thick = 2.5; + +//nom_shelf = 14.54 + 0.5; +nom_shelf = 20.315 + 0.5; + +interference = 0.75; + +length = 60; + +// calculated + +interference_angle = atan2(interference, prong_nomdepth); module ProngElevationUnrotated(){ intersection(){ @@ -10,11 +24,42 @@ module ProngElevationUnrotated(){ translate([ prong_nomdepth, prong_curverad ]) circle( prong_curverad , $fa=0.5 ); translate([ -10, 0 ]) - square([ prong_curverad + 10, 10 ]); + square([ prong_nomdepth + 10, 10 ]); } translate([-5, -5]) - square([ 100, prong_thick + 5]); + square([ prong_maxdepth + 5, prong_thick + 5]); } } -ProngElevationUnrotated(); +module Elevation(){ + difference(){ + union(){ + rotate(-interference_angle) + ProngElevationUnrotated(); + translate([0, -nom_shelf]) + mirror([0,1]) + rotate(-interference_angle) + ProngElevationUnrotated(); + translate([-10, -nom_shelf - prong_thick/2]) + square([10, nom_shelf + prong_thick]); + } + mirror([1,0]) + translate([ front_thick, -100 ]) + square([ 50, 200 ]); + } +} + +module Main(){ + linear_extrude(height=length) + Elevation(); +} + +module Print(){ + rotate([0,-90,0]) + Main(); +} + +//ProngElevationUnrotated(); +//Elevation(); +Main(); +//Print();