78 lines
2.2 KiB
OpenSCAD
78 lines
2.2 KiB
OpenSCAD
$fn=30;
|
|
|
|
positions = [ [96, 2.3, "Reset"], //linke untere Kante
|
|
[105.4, 13.9, "Sel"],
|
|
[105.4, 27.5, "-"],
|
|
[105.4, 40.2, "+"],
|
|
[105.4, 53.4, "OK"],
|
|
[6.4, 15, "X5 X2 X1"],
|
|
[6.4, 32.9, "OK"],
|
|
[6.4, 50.5, "OK"],
|
|
[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]);
|
|
color("silver") translate([0,0,3.8]) cube([6,6,0.3]);
|
|
if (!cutout){
|
|
color("black")translate([3,3,0]) cylinder(d=3.5, h=5);
|
|
}else{
|
|
color("black")translate([3,3,0]) cylinder(d=8,h=25);
|
|
}
|
|
}
|
|
|
|
module switch(cutout){
|
|
color("silver") cube([13,7.4, 4.8]);
|
|
if (!cutout){
|
|
color("black")translate([3.5,3,0]) cube([2.2,2.2, 11]);
|
|
}else{
|
|
color("black")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([0,0,1.8]) color("darkred") cube([117, 77, 15]);
|
|
}
|
|
for (i=[8:11]){
|
|
translate([ positions[i][0],positions[i][1],-0.1]) cylinder(d=3.3, h=2);}
|
|
|
|
if (cutout){
|
|
|
|
for (i=[8:11]){
|
|
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);}
|
|
|
|
|
|
|
|
translate([29.6, 9.2, 12.8]) union(){
|
|
color("red") cube([71.5, 55, 1.8]);
|
|
color("black")translate([0,5.6,1.8]) cube([60, 43, 3]);
|
|
color("black")translate([65,2,-11]) cube([5, 51, 11]);
|
|
}
|
|
if (!cutout){
|
|
color("silver")translate([15.35,69,5+1.8]) rotate([0,90,90]) cylinder(d=11, h=22);}else{
|
|
color("silver")translate([15.35,77,5+1.8]) rotate([0,90,90]) cylinder(d=16, h=14); }
|
|
|
|
color("black")translate([93,63.2,1.8])cube ([9,14, 10.8]);
|
|
|
|
|
|
}
|
|
|
|
platine(true);
|
|
|