// -*- 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(){
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([ 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();