chiark / gitweb /
shelf-label-holder: Main instead. Test reveals Print does not work due to "flashing...
[reprap-play.git] / shelf-label-holder.scad
1 // -*- C -*-
2
3 prong_nomdepth = 15;
4 prong_curverad = 30;
5 prong_thick = 0.7;
6 prong_maxdepth = 18;
7
8 front_thick = 2.5;
9
10 nom_shelf = 14.54;
11
12 interference = 0.25;
13
14 length = 60;
15
16 // calculated
17
18 interference_angle = atan2(interference, prong_nomdepth);
19
20 module ProngElevationUnrotated(){
21   intersection(){
22     union(){
23       translate([ prong_nomdepth, prong_curverad ])
24         circle( prong_curverad , $fa=0.5 );
25       translate([ -10, 0 ])
26         square([ prong_nomdepth + 10, 10 ]);
27     }
28     translate([-5, -5])
29       square([ prong_maxdepth + 5, prong_thick + 5]);
30   }
31 }
32
33 module Elevation(){
34   difference(){
35     union(){
36       rotate(-interference_angle)
37         ProngElevationUnrotated();
38       translate([0, -nom_shelf])
39         mirror([0,1])
40         rotate(-interference_angle)
41         ProngElevationUnrotated();
42       translate([-10, -nom_shelf - prong_thick/2])
43         square([10, nom_shelf + prong_thick]);
44     }
45     mirror([1,0])
46       translate([ front_thick, -100 ])
47       square([ 50, 200 ]);
48   }
49 }
50
51 module Main(){
52   linear_extrude(height=length)
53     Elevation();
54 }
55
56 module Print(){
57   rotate([0,-90,0])
58     Main();
59 }
60
61 //ProngElevationUnrotated();
62 //Elevation();
63 Main();
64 //Print();