laptop files

This commit is contained in:
2026-01-01 21:32:11 +01:00
parent 8434d6ceeb
commit bdaee208b6
32 changed files with 828 additions and 0 deletions

78
Oszi_DS0138.scad Normal file
View File

@@ -0,0 +1,78 @@
$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);