/ examples / mask_hook.scad
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  }