103 lines
3.0 KiB
OpenSCAD
103 lines
3.0 KiB
OpenSCAD
$fn=30;
|
|
|
|
|
|
fnt = "Liberation Mono:style=Regular";
|
|
//"Liberation Sans:style=Bold Italic"
|
|
|
|
// x-pos, y-pos, text, x-offset-text,y-text-offset, valign, halign, fontsize
|
|
positions = [ [96, 2.3, "Reset", -3,1.8, "baseline", "right", 2],
|
|
[105.4, 13.9, "Sel", -3, 1.8, "baseline", "right", 3],
|
|
[105.4, 27.5, "-",-3, 1.8, "baseline", "right",3],
|
|
[105.4, 40.2, "+", -3,1.8, "baseline", "right",3],
|
|
[105.4, 53.4, "OK", -3,1.8, "baseline", "right",3],
|
|
[6.4, 15, "x5 x2 x1", 6, -2,"center", "center",2.5],
|
|
[6.4, 32.9, " 1V 0.1V 10mV",6,-2, "center", "center",2.5],
|
|
[6.4, 50.5, "GND AC DC ", 6,-2, "center", "center",2.5],
|
|
// Trigger #LED
|
|
[88, 9, "Trigger", -2,-0.7, "baseline", "right",2.5],
|
|
// Bohrungen
|
|
[5.2, 5.2, ""], // center des locks
|
|
[5.2, 71.8, ""],
|
|
[112, 5.2, ""],
|
|
[112, 71.8, ""],
|
|
|
|
];
|
|
|
|
module button(cutout){
|
|
color("black") {
|
|
cube([6,6, 3.8]);
|
|
if (!cutout){
|
|
translate([3,3,0]) cylinder(d=3.5, h=5);
|
|
} else {
|
|
translate([3,3,0]) cylinder(d=8,h=25);
|
|
}
|
|
}
|
|
color("silver") translate([0,0,3.8]) cube([6,6,0.3]);
|
|
}
|
|
|
|
module switch(cutout){
|
|
color("silver")
|
|
cube([13,7.4, 4.8]);
|
|
color("black") {
|
|
if (!cutout) {
|
|
translate([3.5,3,0]) cube([2.2,2.2, 11]);
|
|
} else {
|
|
translate([2,0.4,0]) cube([9.2,6.2, 25]);
|
|
}
|
|
}
|
|
}
|
|
|
|
module platine(cutout){
|
|
// wenn cutout=true, dann wsind die Auschnitte gemeint
|
|
difference(){
|
|
union(){
|
|
color("red") cube([117, 77, 1.8]);
|
|
if (cutout)
|
|
translate([-2,-2,-2]) color("darkred") cube([121, 81, 18.8]);
|
|
}
|
|
for (i=[9:12]){
|
|
translate([ positions[i][0],positions[i][1],-0.1]) cylinder(d=3.3, h=2);}
|
|
if (cutout){
|
|
for (i=[9:12]){
|
|
translate([ positions[i][0],positions[i][1],1.8]) cylinder(d=10, h=15.1);
|
|
}
|
|
}
|
|
}
|
|
for (i=[0:4])
|
|
translate([ positions[i][0],positions[i][1],1.8]) button(cutout);
|
|
for (i=[5:7])
|
|
translate([ positions[i][0],positions[i][1],1.8]) switch(cutout);
|
|
// Trigger LED
|
|
color("lightgreen")
|
|
translate([ positions[8][0],positions[8][1],1.8]) cylinder(d=3, h=4);
|
|
if (cutout) color ("lightgreen")
|
|
translate([ positions[8][0],positions[8][1],1.8]) cylinder(d=3, h=20);
|
|
|
|
for (i=[0:8])
|
|
translate([ positions[i][0]+positions[i][3],positions[i][1]+positions[i][4], 17]) linear_extrude(2) {
|
|
text( positions[i][2], font = fnt, valign=positions[i][5],
|
|
halign=positions[i][6], size=positions[i][7]);
|
|
}
|
|
|
|
translate([29.6, 9.2, 12.8]) union(){
|
|
color("red") cube([71.5, 55, 1.8]);
|
|
// Display
|
|
color("black") {
|
|
translate([0,5.6,1.8]) cube([60, 43, 3]);
|
|
translate([65,2,-11]) cube([5, 51, 11]);
|
|
}
|
|
// display-Ausschnitt nach oben
|
|
if (cutout)
|
|
color("gray")translate([1,6.6,4.7]) cube([58, 41, 13]);
|
|
}
|
|
color("silver")
|
|
if (!cutout){
|
|
translate([15.35,69,5+1.8]) rotate([0,90,90]) cylinder(d=11, h=22);
|
|
} else {
|
|
translate([15.35,77,5+1.8]) rotate([0,90,90]) cylinder(d=15, h=14);
|
|
}
|
|
color("black")translate([93,63.2,1.8])cube ([9,14, 10.8]);
|
|
}
|
|
|
|
platine(false);
|
|
|