Rev Author Line No. Line
4215 roman 1 $fn = 100;
4286 roman 2 use <./../../../../../Library/Graphics/MLAB_logo.scad>
4215 roman 3  
4  
5 module LCD_frontPanel(){
4217 roman 6 WIDTH = 7; // pocet der na zakl desku. Def je 7
4215 roman 7 FOOT_X_SHIFT = 0; // posun v ose X, tzn. vysunutí ven, nebo dovnitř. 0 je v rovine s kratsi hranou zakl. desky ASBASE1115
8 DISPLAY_Z_SHIFT = 2; // mezera, která vznikne mezi "nohou" a spodní hranou PCB
9 FOOT_THICK = 7; // síla spodní "nohy" (toho, v cem jsou srouby)
10 BHEAD_HEIGHT = 2.5; // vyska hlavicky sroubu
4286 roman 11 BHEAD_DIAMETER = 6.6; // prumer hlavicky sroubu
12 BOLT_DIAMETER = 3.3; // prumer sroubu
4215 roman 13 NUT_HEIGHT = 2.1; // vyska matky
4286 roman 14 NUT_DIAMETER = 6.3; // prumer matky
15 CLEAR = 0.175;
4215 roman 16  
4217 roman 17 BOX_HEIGHT = 45;
18 BOX_WIDTH = 80;
19 BOX_THICKENESS = 1;
20  
4215 roman 21 difference(){
22 union(){
4217 roman 23 translate([-BOX_WIDTH/2, 8-BOX_THICKENESS, -18-FOOT_THICK]) cube([BOX_WIDTH,BOX_THICKENESS,BOX_HEIGHT]);
24 translate([0, 4 +FOOT_X_SHIFT, 0+DISPLAY_Z_SHIFT/2]) cube([80,8,36+DISPLAY_Z_SHIFT], center=true);
25 translate([0, 4 +FOOT_X_SHIFT/2, (-36-FOOT_THICK)/2]) cube([80,8+FOOT_X_SHIFT,FOOT_THICK], center=true);
4215 roman 26 translate([+75/2, 0, +31/2+DISPLAY_Z_SHIFT]) rotate([90,0,0]) cylinder(FOOT_THICK, 2.3/2, 2.3/2);
27 translate([+75/2, 0, -31/2+DISPLAY_Z_SHIFT]) rotate([90,0,0]) cylinder(FOOT_THICK, 2.3/2, 2.3/2);
28 translate([-75/2, 0, +31/2+DISPLAY_Z_SHIFT]) rotate([90,0,0]) cylinder(FOOT_THICK, 2.3/2, 2.3/2);
29 translate([-75/2, 0, -31/2+DISPLAY_Z_SHIFT]) rotate([90,0,0]) cylinder(FOOT_THICK, 2.3/2, 2.3/2);
30 hull(){
31 translate([-40+10.16/2, -0.8, (-36)/2-FOOT_THICK]) cylinder(FOOT_THICK, 10.16/2, 10.16/2);
32 translate([+40-10.16/2, -0.8, (-36)/2-FOOT_THICK]) cylinder(FOOT_THICK, 10.16/2, 10.16/2);
33 }
34 /*#hull(){
35 translate([-5.08 + (-WIDTH/2+1)*10.16, -0.8, (-36)/2-FOOT_THICK]) cylinder(FOOT_THICK, 10.16/2, 10.16/2);
36 translate([-5.08 + (-WIDTH/2+5)*10.16, -0.8, (-36)/2-FOOT_THICK]) cylinder(FOOT_THICK, 10.16/2, 10.16/2);
37 }*/
38 }
39 union(){
4286 roman 40 translate([0-CLEAR, 4 + FOOT_X_SHIFT-CLEAR, +DISPLAY_Z_SHIFT-CLEAR]) cube([72+2*CLEAR,8+2*CLEAR,25.3+2*CLEAR], center=true);
41 translate([-15, FOOT_X_SHIFT, 36/2-4.65+DISPLAY_Z_SHIFT]) cube([51,4.4,4]);
4215 roman 42 for (x=[1:WIDTH]){
43 translate([-5.08 + (-WIDTH/2+x)*10.16, -0.8, (-36)/2-FOOT_THICK]) cylinder(12, BOLT_DIAMETER/2, BOLT_DIAMETER/2);
44 translate([-5.08 + (-WIDTH/2+x)*10.16, -0.8, (-36)/2-BHEAD_HEIGHT]) cylinder(3+10, BHEAD_DIAMETER/2, BHEAD_DIAMETER/2);
45 translate([-5.08 + (-WIDTH/2+x)*10.16, -0.8, (-36)/2-FOOT_THICK]) cylinder(NUT_HEIGHT, NUT_DIAMETER/2, NUT_DIAMETER/2, $fn=6);
46  
47 }
4286 roman 48 //union (){
49 // translate ([0, DISPLAY_Z_SHIFT+6-1, (-36)/2])
50 // rotate ([90,0,180])
51 // scale(v = [0.4, 0.4, 0.2])
52 // MLAB_logo_long();
53 //}
4215 roman 54 }
55 }
4286 roman 56  
4215 roman 57 }
58  
4286 roman 59 module modifier(){
60 WIDTH = 7; // pocet der na zakl desku. Def je 7
61 FOOT_X_SHIFT = 0; // posun v ose X, tzn. vysunutí ven, nebo dovnitř. 0 je v rovine s kratsi hranou zakl. desky ASBASE1115
62 DISPLAY_Z_SHIFT = 2; // mezera, která vznikne mezi "nohou" a spodní hranou PCB
63 FOOT_THICK = 7; // síla spodní "nohy" (toho, v cem jsou srouby)
64 BHEAD_HEIGHT = 2.5; // vyska hlavicky sroubu
65 BHEAD_DIAMETER = 6.6; // prumer hlavicky sroubu
66 BOLT_DIAMETER = 3.3; // prumer sroubu
67 NUT_HEIGHT = 2.1; // vyska matky
68 NUT_DIAMETER = 6.3; // prumer matky
69 CLEAR = 0.175;
70  
71 BOX_HEIGHT = 45;
72 BOX_WIDTH = 80;
73 BOX_THICKENESS = 1;
4215 roman 74  
4286 roman 75 translate([-BOX_WIDTH/2, -FOOT_THICK, -18]) cube([BOX_WIDTH,FOOT_THICK,BOX_HEIGHT-FOOT_THICK]);
76  
77  
78 }
79  
80  
81 LCD_frontPanel();
82 %modifier();