general_gap_y = 1.0;
-main_sz_z = 20; // xxx
+strap_w = 8.0;
+strap_th = 2.5;
+strap_barrel_dia = 8;
+
main_sz_y = 20;
grasp_sz = 12;
+beside_strap_sz = 8;
// calculated
+main_sz_z = beside_strap_sz*2 + strap_w;
+
brk_bottom_y = -brk_recess_actual;
adapt_main_top_y = brk_bottom_y + general_gap_y;
}
}
+module StrapBarrelElevation(){
+ translate([ rack_width_inner/2 + strap_barrel_dia/2,
+ $rack_rail_y + rack_rail_dia/2 + strap_barrel_dia/2 ])
+ circle(strap_barrel_dia/2);
+}
+
module Principal(){
// calculated
$rack_rail_y = brk_bottom_y - $elevation_nominal
- general_gap_y - rack_rail_dia/2;
difference(){
- linextr(0, main_sz_z){
- GraspElevation();
- BlockElevation();
- GraspFixingElevation();
+ union(){
+ linextr(0, main_sz_z){
+ GraspElevation();
+ BlockElevation();
+ StrapBarrelElevation();
+ }
+
+ difference(){
+ linextr(0, main_sz_z){
+ GraspFixingElevation();
+ }
+
+ translate([0,0, main_sz_z/2]) linextr(-strap_w/2, +strap_w/2) {
+ translate([ rack_width_inner/2 - strap_th, 0 ])
+ rectfromto([ 0, -50 ], [ 50, 50 ]);
+ }
+ }
}
linextr(-10, main_sz_z+10) {