Rev Author Line No. Line
3904 kaklik 1 height = 50;
2 mount_hole = 3.5;
3 clear = 0.175;
4 thickness = 1.2;
4215 roman 5 baseboard_thickness = 2;
6 teeth_width = 8;
7 teeth_count = 6;
8 teeth_size = 1;
3904 kaklik 9  
10 $fn=20;
11  
12 module leg () {
13 difference () {
14 cylinder(r=MLAB_grid/2 + 0.3,h=legs_height);
15 cylinder(r=MLAB_grid/2 - 0.3,h=legs_height);
16 }
17 }
4215 roman 18 // teeth
19 for(count = [1:teeth_count]){
20 position = 150/(teeth_count+1)*count;
21 #translate ([position-teeth_width/2+1,-5+thickness/2,0]) cube([teeth_width-1, teeth_size, 5-baseboard_thickness]);
22 translate ([position-teeth_width/2+1,110+5-thickness/2,0]) cube([teeth_width-1, teeth_size, 5-baseboard_thickness]);
23 }
3904 kaklik 24  
4215 roman 25  
3904 kaklik 26 difference () {
4215 roman 27 minkowski() {
28 cube([150+thickness/2,110+thickness/2,height+thickness/2]); // base plastics brick
29 cylinder(r=5,h=0.1);
30 }
31 translate ([thickness, thickness, 0])
32 minkowski() {
33 cube([150-thickness, 110-thickness, height]); // hollow
34 cylinder(r=5,h=0.1);
35 }
3911 kaklik 36  
4215 roman 37 translate ([thickness/2, thickness/2, 0])
38 difference () {
39 minkowski() {
40 cube([150-thickness/2+clear, 110-thickness/2+clear, 5]); // hollow for BASE1115
41 cylinder(r=5,h=0.1);
42 }
43 }
44 for(count = [1:teeth_count]){ // teeth space
45 position = 150/(teeth_count+1)*count;
46 translate ([position-teeth_width/2,-5-thickness,0]) cube([1,110+10+2*thickness,5]);
47 translate ([position+teeth_width/2,-5-thickness,0]) cube([1,110+10+2*thickness,5]);
48 }
3904 kaklik 49 }