children();
}
+module FamGraspElevation(){
+ hull(){
+ ybot = $rack_rail_y - rack_rail_dia/2 + grasp_large_r
+ - fit_slope_len * 0.5;
+ for (y = [
+ ybot,
+ adapt_main_top_y - grasp_large_r
+ ])
+ for (dx= [-1,+1] * rack_rail_dia/2)
+ translate([ -$foreaftmaint_rail_z + dx, y ])
+ circle(r= grasp_large_r);
+ }
+}
+
module Principal(){
// calculated
$rack_rail_y = rack_rail_y_of_elevation($elevation_nominal);
rectfromto([ -$foreaftmaint_rail_z, adapt_main_top_y ],
[ 0, block_y_min]);
difference(){
- hull(){
- ybot = $rack_rail_y - rack_rail_dia/2 + grasp_large_r
- - fit_slope_len * 0.5;
- for (y = [
- ybot,
- adapt_main_top_y - grasp_large_r
- ])
- for (dx= [-1,+1] * rack_rail_dia/2)
- translate([ -$foreaftmaint_rail_z + dx, y ])
- circle(r= grasp_large_r);
- }
+ FamGraspElevation();
translate([0, adapt_main_top_y])
rectfromto([-500, 0], [500, 500]);
}