From: Mark Wooding Date: Wed, 15 Mar 2023 00:57:55 +0000 (+0000) Subject: discpick-tensioner.scad: Improved tensioning component with longer prongs. X-Git-Url: https://git.distorted.org.uk/~mdw/scad/commitdiff_plain/e05980e366e948132d10acde1abd0de29b6dae8a discpick-tensioner.scad: Improved tensioning component with longer prongs. --- diff --git a/Makefile b/Makefile index 2e4f2f1..8bf0ff3 100644 --- a/Makefile +++ b/Makefile @@ -34,6 +34,7 @@ OPENSCAD = openscad ## Main list of models. MODELS += discpick-collar.scad +MODELS += discpick-tensioner.scad ## Building models. CLEANFILES += *.stl diff --git a/discpick-tensioner.pdf b/discpick-tensioner.pdf new file mode 100644 index 0000000..0b928a3 Binary files /dev/null and b/discpick-tensioner.pdf differ diff --git a/discpick-tensioner.scad b/discpick-tensioner.scad new file mode 100644 index 0000000..42e6626 --- /dev/null +++ b/discpick-tensioner.scad @@ -0,0 +1,81 @@ +/* -*-c-*- + * + * Replacement tensioner for the Sparrows disc-detainer picking tool + * + * (c) 2023 Mark Wooding + */ + +/*----- Licensing notice --------------------------------------------------* + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/*----- Configuration -----------------------------------------------------*/ + +/* Overall scaling. */ +MM = 1; + +/* Curvature quality. */ +$fa = 0.1; +$fs = 0.2*MM; + +/* A `large enough' length; effectively infinite. */ +BIG = 50*MM; + +/* Dimensions. */ +STOCK_DIAM = 5.5*MM; /* stock diemeter */ +STOCK_LENGTH = 35*MM; /* total stock length */ +SQUARE_SIDE = 4.5*MM; /* square section side */ +SQUARE_LENGTH = 26*MM; /* length of square section */ +DRILL_DIAM = 1.6*MM; /* hole diameter for picking tip */ +PRONG_DIAM = 3.3*MM; /* hole diameter to form prongs */ +PRONG_DEPTH = 6*MM; /* depth of prong hole */ +PRONG_LENGTH = 4.5*MM; /* prong length */ +PRONG_HEIGHT = 2.5*MM; /* prong height */ + +/*----- The main object ---------------------------------------------------*/ + +difference() { + + /* Start with a cylinder. */ + rotate([0, 90, 0]) + cylinder(h = STOCK_LENGTH, r = STOCK_DIAM/2); + + /* And now we cut things away. */ + union() { + + /* First, put the flat sides so that the tensioning arms can grip it. */ + for (theta = [0 : 90 : 270]) + rotate([theta, 0, 0]) + translate([0, -BIG/2, SQUARE_SIDE/2]) + cube([SQUARE_LENGTH, BIG, BIG]); + + /* Drill a hole all the way through for the picking tip. */ + rotate([0, 90, 0]) + cylinder(h = BIG, r = DRILL_DIAM/2); + + /* Drill a hole in the end to form the gap between the prongs. */ + translate([STOCK_LENGTH - PRONG_DEPTH, 0, 0]) + rotate([0, 90, 0]) + cylinder(h = BIG, r = PRONG_DIAM/2); + + /* Finally, shave off top and bottom to form the prongs themselves. */ + for (theta = [0 : 180 : 180]) + rotate([theta, 0, 0]) + translate([STOCK_LENGTH - PRONG_LENGTH, + -BIG/2, + (STOCK_DIAM - PRONG_HEIGHT)/2]) + cube(BIG); + } +}