corrected DS0138 dimensions
This commit is contained in:
@@ -2,23 +2,49 @@ $fn=30;
|
||||
|
||||
use <Oszi_DS0138.scad>
|
||||
|
||||
module boden(len, wid, thi){
|
||||
|
||||
color("gold"){
|
||||
difference()
|
||||
{ union(){
|
||||
cube([len, wid, thi]);
|
||||
|
||||
difference(){
|
||||
translate([0,0,thi])rotate([0,90,0])
|
||||
cylinder(r=thi, h=len);
|
||||
|
||||
translate([0,-radius,thi]) cube([len, wid, thi]);
|
||||
|
||||
}}
|
||||
translate([0,-radius,0]) cube([thi/2,wid+thi,thi/2]);
|
||||
translate([len-thi/2,-radius,0]) cube([thi/2,wid+thi,thi/2]);
|
||||
}}
|
||||
|
||||
}
|
||||
|
||||
radius = 3;
|
||||
length = 135;
|
||||
thick = 20;
|
||||
thick = 22;
|
||||
width = 90;
|
||||
rotate ([45,0,0])
|
||||
|
||||
hull(){
|
||||
//rotate ([45,0,0])
|
||||
difference(){
|
||||
color("yellow", 0.05)hull(){
|
||||
translate ([radius, radius, radius]) sphere(r=radius);
|
||||
translate ([length-radius, radius, radius]) sphere(r=radius);
|
||||
translate ([radius, width-radius, radius]) sphere(r=radius);
|
||||
translate ([length-radius, width-radius, radius]) sphere(r=radius);
|
||||
|
||||
|
||||
translate ([radius, radius-thick, thick-radius]) sphere(r=radius);
|
||||
translate ([length-radius, radius-thick, thick-radius]) sphere(r=radius);
|
||||
translate ([radius, 3*radius-thick, thick-radius]) sphere(r=radius);
|
||||
translate ([length-radius, 3*radius-thick, thick-radius]) sphere(r=radius);
|
||||
translate ([radius, width-radius, thick-radius]) sphere(r=radius);
|
||||
translate ([length-radius, width-radius, thick-radius]) sphere(r=radius);
|
||||
}
|
||||
|
||||
translate([10, 10,3.8])
|
||||
platine(cutout=true);
|
||||
|
||||
#translate([length-radius -1, width-radius,0 ])rotate([0,0,180])
|
||||
minkowski(){
|
||||
boden(length-8, width-8, radius);
|
||||
sphere(d=0.1);
|
||||
}}
|
||||
BIN
Oszi_DS0138-case.stl
Normal file
BIN
Oszi_DS0138-case.stl
Normal file
Binary file not shown.
131
Oszi_DS0138.scad
131
Oszi_DS0138.scad
@@ -1,13 +1,21 @@
|
||||
$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"],
|
||||
|
||||
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, ""],
|
||||
@@ -16,63 +24,80 @@ positions = [ [96, 2.3, "Reset"], //linke untere Kante
|
||||
];
|
||||
|
||||
module button(cutout){
|
||||
color("black") cube([6,6, 3.8]);
|
||||
color("silver") translate([0,0,3.8]) cube([6,6,0.3]);
|
||||
color("black") {
|
||||
cube([6,6, 3.8]);
|
||||
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);
|
||||
}
|
||||
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]);
|
||||
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]);
|
||||
|
||||
}
|
||||
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([0,0,1.8]) color("darkred") cube([117, 77, 15]);
|
||||
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=[8:11]){
|
||||
translate([ positions[i][0],positions[i][1],-0.1]) cylinder(d=3.3, h=2);}
|
||||
}
|
||||
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);
|
||||
|
||||
if (cutout){
|
||||
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]);
|
||||
}
|
||||
|
||||
for (i=[8:11]){
|
||||
translate([ positions[i][0],positions[i][1],1.8]) cylinder(d=10, h=15.1);
|
||||
}}
|
||||
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]);
|
||||
}
|
||||
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);
|
||||
platine(false);
|
||||
|
||||
Reference in New Issue
Block a user