include <utils.scad>
body_depth = 40.15 + 4;
-body_height = 16.78 + 0.75;
+body_height = 16.78 + 0.50;
back_round_depth = 2.0;
back_round_rad = 8.0;
-back_above_height = 3.0;
+back_above_height = 5.3;
back_thick = 3.0;
-conn_thick = 6.42 + 2.0;
+conn_thick = 6.42 + 2.25;
wire_thick = 6.00 + 0.75;
-total_depth = 63.82;
+total_depth = 63.82 - 1.0;
body_front_overlap = 3;
prong_depth = 5.0;
prong_width = 2.0;
-base_thick = 3;
+base_thick = 4;
+
+$fa= 3;
+$fs= 0.3;
// calculated
epp2 = epp1 + [ -body_front_overlap, 0 ];
epp3 = [ +body_depth -total_depth, epp2[1] ];
epp4 = [ epp3[0], +conn_thick/2 +prong_higher ];
+epp4a = epp4 + prong_higher * [0,-1];
+epp4b = epp4 + prong_higher * [1,0];
epp5 = epp4 + [ -prong_depth, 0 ];
epp6 = [ epp5[0], epp0[1] -base_thick ];
epp7 = [ epp2[0], epp6[1] ];
epp9 = epp10 + [ +back_thick, 0 ];
epp8 = [ epp9[0], epp7[1] ];
+y1 = wire_thick/2;
+y2 = y1 + prong_width;
+
module MainElevation(){
polygon([epp0,
epp1,
epp3,
- epp4,
+ epp4a,
+ epp4b,
epp5,
epp6,
epp8,
}
}
-MainElevation();
+module Retainer(){
+ difference(){
+ linextr_y_xz( -y2, +y2 ) {
+ MainElevation();
+ }
+ linextr_y_xz( -y1, +y1 ) {
+ rectfromto( epp7 + [+1, -1],
+ epp5 + [-1, +1] );
+ }
+ }
+}
+
+module RetainerPrint(){
+ rotate([0,0,180]) Retainer();
+}
+
+//MainElevation();
+
+RetainerPrint();