Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created April 10, 2022 14:56
Show Gist options
  • Save ednisley/c5d15f6e166dae3cb5d05592f9e5c6c2 to your computer and use it in GitHub Desktop.
Save ednisley/c5d15f6e166dae3cb5d05592f9e5c6c2 to your computer and use it in GitHub Desktop.
OpenSCAD source code: OMTech laser power lock switch indicator
// Indicator for OMTech laser power lock
// Ed Nisley KE4ZNU 2022-04-09
KnobOD = 35.0;
KnobHeight = 22.0;
KnobTaper = 4.0;
PointerLength = 45.0;
PointerThick = 3.0;
TipOD = 2.0;
/* [Hidden] */
//------
Protrusion = 0.1; // make holes end cleanly
HoleWindage = 0.2;
module PolyCyl(Dia,Height,ForceSides=0) { // based on nophead's polyholes
Sides = (ForceSides != 0) ? ForceSides : (ceil(Dia) + 2);
FixDia = Dia / cos(180/Sides);
cylinder(d=(FixDia + HoleWindage),h=Height,$fn=Sides);
}
//----------
// Create part
// Plenty of magic numbers from actual measurements
module Pointer() {
difference() {
union() {
linear_extrude(height=PointerThick)
hull() {
circle(d=KnobOD,$fn=24);
translate([PointerLength - TipOD/2,0])
circle(d=TipOD,$fn=12);
}
cylinder(d=KnobOD,h=KnobHeight - KnobTaper,$fn=24);
translate([0,0,KnobHeight - KnobTaper - Protrusion])
cylinder(d1=KnobOD,d2=KnobOD - 3.0,h=KnobTaper + Protrusion,$fn=24);
}
translate([0,0,-Protrusion]) {
PolyCyl(29.0,14.0 + Protrusion,24);
PolyCyl(24.0,14.0 + 5.0 + Protrusion,24); // leaves clearance under pointer
}
translate([0,0,KnobHeight])
cube([12.0,2.0,2*KnobHeight],center=true);
}
}
//----------
// Build it
Pointer();
@ednisley
Copy link
Author

More details on my blog at https://wp.me/poZKh-aRL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment