front_height = 80;
front_width = 120;
front_setback = 30;
+front_thick = 2;
+
+front_hex_stride = 20;
+front_hex_dia = 10;
+
+back_thick = 3;
+back_pillarw = 6;
+
+base_thick = 2;
eclip_inner_rad = 2.5;
eclip_gap_rad = 0.1;
eclip_ra_offset = r2 - 0.1;
+eclip_recept_height = r2;
+
eclip_rhs_offset = ppxl + rgap + eclip_prong_th;
// does not include main_th
polygon([pq, pp, pr]);
}
-thicks = [ 2, 2, 2 ];
+thicks = [ base_thick, front_thick, back_thick ];
module Joins(alpha, objnum, objnum_f, objnum_m) {
pitch = (front_width - eclip_each_len) / (num_eclips-1);
thicks[0]]);
}
+module FrontPattern(){
+ ystride = front_hex_stride;
+ xstride = front_hex_stride * cos(30) * 2;
+ difference(){
+ square([front_width,
+ front_height - eclip_wall_offset + thicks[1]]);
+ for (xi=[ 0 : 10 ])
+ translate([xi * xstride, 0])
+ for (yi=[ 0 : 10 ])
+ translate([0, yi * ystride])
+ for (dv=[ [0,0],
+ [xstride/2, ystride/2]
+ ])
+ translate(dv)
+ circle(r= front_hex_dia/2, $fn=6);
+ }
+}
+
module Front(){
ObjectJoins(1);
rotate([0, 90-beta, 0])
translate([0, 0, ppxl])
rotate([0,0,90]) {
- cube([front_width,
- front_height - eclip_wall_offset + thicks[1],
- thicks[1]]);
+ linear_extrude(height=thicks[1])
+ FrontPattern();
}
}
0, 0])
rotate([0,90,0])
rotate([0,0,90]) {
- cube([front_width,
- height,
- thicks[2]]);
+ difference(){
+ cube([front_width,
+ height,
+ thicks[2]]);
+ translate([back_pillarw,
+ eclip_recept_height,
+ -10])
+ cube([front_width - back_pillarw*2,
+ height - eclip_recept_height*2 - eclip_prong_th,
+ 20]);
+ }
}
}