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(); |