}
}
+module StrapMountProtrusion(half_x, max_y){
+ translate(smc_pos){
+ linear_extrude(height=sm_main_width, convexity=10){
+ hull(){
+ for (m = [0,1]) mirror([m,0,0]) {
+ translate([-(half_x - sm_closure_cnr), max_y - sm_closure_cnr])
+ circle(r=sm_closure_cnr);
+ translate([-half_x, -sm_inner_rad])
+ square([1,1]);
+ }
+ }
+ }
+ }
+}
+
module StrapMount(){ ////toplevel
difference(){
union(){
cylinder(r=sm_outer_rad, h=sm_main_width);
- translate(smc_pos){
- linear_extrude(height=sm_main_width, convexity=10){
- hull(){
- for (m = [0,1]) mirror([m,0,0]) {
- translate([-smc_cnr_c_x, smc_max_y - sm_closure_cnr])
- circle(r=sm_closure_cnr);
- translate([-smc_cnr_c_x-sm_closure_cnr, -sm_inner_rad])
- square([1,1]);
- }
- }
- }
- }
+ StrapMountProtrusion(smc_cnr_c_x + sm_closure_cnr, smc_max_y);
}
translate([0,0,-1])
cylinder(r=sm_inner_rad, h=sm_main_width+2);