mask_hook.scad
1 band_width = 145; 2 band_height = 24; 3 thickness = 1; 4 one_side_hook_numbers = 4; 5 t = "openhome.cc"; 6 font_name = "Arial Black"; 7 font_size = 6; 8 9 mask_hook(); 10 11 module mask_hook() { 12 module hook() { 13 difference() { 14 square([6, band_height * 0.95], center = true); 15 translate([-band_height * 0.625, 0]) 16 circle(band_height / 1.5, $fn = 12); 17 } 18 } 19 20 r = band_height * 0.225; 21 x = band_width * 0.1425; 22 y = band_height / 3.35; 23 linear_extrude(thickness) { 24 square([band_width, band_height * 0.6], center = true); 25 26 hull() { 27 translate([x, y]) 28 circle(r, $fn = 6); 29 translate([-x, y]) 30 circle(r, $fn = 6); 31 translate([-x, -y]) 32 circle(r, $fn = 6); 33 translate([x, -y]) 34 circle(r, $fn = 6); 35 } 36 } 37 38 linear_extrude(thickness * 2) { 39 for(i = [0:one_side_hook_numbers - 1]) { 40 tp = [band_width / 2 - 3 - 10 * i, 0]; 41 translate(tp) 42 hook(); 43 44 mirror([1, 0, 0]) 45 translate(tp) 46 hook(); 47 } 48 } 49 50 linear_extrude(thickness * 2) 51 text(t, font = font_name, size = font_size, valign="center", halign = "center"); 52 }