Misc-3D-Prints/Electronics and Digital Fabrication/oscilloscopeKnobs.scad

64 lines
2.0 KiB
OpenSCAD
Raw Normal View History

2022-09-12 16:23:58 -04:00
height = 13.25;
topDiameter =9.75;
lowerDiameter = 10.85;
stepDiameter = 9;
stepDepth = 1.5;
crossDepth = .75; // original mesurement ~0.25
crossWidth = 2.25;
crossStartHeight = 2;
// mostly not really measured
chamferHeight = 10;
chamferDiameter = topDiameter-crossDepth*2;
// measured from metal pole, not plastic knob
knobDepth = 7;
knobDiameter = 4.75;
knobFlatDiameter = 4;
knobTolerance = 0.1;
$fn = 100;
difference () {
union() {
translate([0,0,stepDepth]) {
difference() {
// main exterior
intersection() {
cylinder(r1=lowerDiameter/2, r2=topDiameter/2, h=height-stepDepth);
// chamfer
union() {
translate([0,0,chamferHeight])
cylinder(r1=lowerDiameter/2, r2=chamferDiameter/2, h=height-stepDepth-chamferHeight);
cylinder(r=lowerDiameter/2, h=chamferHeight);
}
}
// cross
difference() {
union() translate([0, 0, height/2 - .01]) {
cube([lowerDiameter, crossWidth, height], center=true);
cube([crossWidth, lowerDiameter, height], center=true);
}
// put back the middle
cylinder(r1=lowerDiameter/2 - crossDepth,
r2=topDiameter/2 - crossDepth, h=height-stepDepth);
// put back the bottom
cylinder(r=lowerDiameter, h=crossStartHeight);
}
}
}
//bottom step
cylinder(r=stepDiameter/2, h=stepDepth+0.01);
}
//inner concavity
difference() {
translate([0,0,-0.01]) cylinder(d=knobDiameter + knobTolerance*4, h=knobDepth + 0.01);
#translate([-stepDiameter/2, knobFlatDiameter - knobDiameter/2 + knobTolerance*5, 0])
cube([stepDiameter, stepDiameter, height]);
}
}