Skip to content

Instantly share code, notes, and snippets.

@ednisley
Created April 13, 2016 12:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ednisley/6eb9deadfb757929a7129d8de8cb008b to your computer and use it in GitHub Desktop.
Save ednisley/6eb9deadfb757929a7129d8de8cb008b to your computer and use it in GitHub Desktop.
OpenSCAD source code: Clover seam ripper cap with text
// Clover seam ripper cap
// Ed Nisley KE4ZNU - April 2016
//- Extrusion parameters - must match reality!
// Build with a 5 mm brim to keep it glued to the platform
ThreadThick = 0.25;
ThreadWidth = 0.40;
Protrusion = 0.1;
//------
// Dimensions
StemRadius = 0.50; // corner radius
HandleStem = [6.1, 7.1, 9.0];
HandleEntry = HandleStem + [1.0,1.0,-4.0]; // Z is -(straight part of stem)
Cap = [8.5,11.0,45.0]; // XY exterior, Z interior
//----------------------
//- Build it
difference() {
union() {
translate([0,0,Cap[2]/2]) // main body column
cube(Cap,center=true);
translate([-Cap[0]/2,0,Cap[2]]) // rounded cap
rotate([0,90,0])
cylinder(d=Cap[1],h=Cap[0],$fn=8*4);
translate([Cap[0]/2 - Protrusion,0,(Cap[2] + Cap[1]/2)/2]) // text
rotate([0,90,0])
linear_extrude(height=ThreadWidth,convexity=10)
text("Mary Nisley",halign="center",valign="center",size=0.5*Cap[1],font="Arial");
}
hull() // stem + blade clearance
for (i=[-1,1] , j=[-1,1])
translate([i*(HandleStem[0]/2 - StemRadius),j*(HandleStem[1]/2 - StemRadius),-Protrusion])
cylinder(r=StemRadius,h=Cap[2] + Protrusion,$fn=4*4);
hull() { // entry taper
for (i=[-1,1] , j=[-1,1])
translate([i*(HandleEntry[0]/2 - StemRadius),j*(HandleEntry[1]/2 - StemRadius),0])
sphere(r=StemRadius,$fn=4*4);
for (i=[-1,1] , j=[-1,1])
translate([i*(HandleStem[0]/2 - StemRadius),j*(HandleStem[1]/2 - StemRadius),HandleEntry[2] - StemRadius])
sphere(r=StemRadius,$fn=4*4);
}
}
@ednisley
Copy link
Author

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