adrianschlatter / threadlib

thread library for OpenSCAD
BSD 3-Clause "New" or "Revised" License
351 stars 34 forks source link

Add PCO-1810 thread #68

Closed twbaumann closed 2 years ago

twbaumann commented 2 years ago

We use a bird feeder which screws onto a 1.5l PET bottle with 28mm PCO-1810 thread. To make the filling with bird seed easier a screw-mountable funnel was needed. PCO-1810 is not part of threadlib, so I decided to do it myself and would like to share the process and result.

I found https://www.isbt.com/assets/Threadspecs/pco1810.pdf as base for the external thread. It is symmetrical and has 70 deg slopes. The internal thread was derived from that, with 0.13 mm clearance in all directions, but greater clearance between crest and external thread support, to allow for the slight widening at the bottle top.

The clearance values are based on those of the PCO-1881 thread (spec at https://www.isbt.com/assets/Committees/Packaging-Technology/21/3784253-21.pdf) which is already part of threadlib. Like with PCO-1881, the piecewise linear crest of the external thread does not stay within the specified rounded form, but is rather made up by its tangents. R_rot/D_sup overlap was set to 0.2 mm for both internal and external threads.

I forked the develop branch, added the thread data to PCO_thread.csv, adapted test_table.awk and ran 'make' and 'make test'.

For verification I generated a cross section of nut and bolt in OpenSCAD, exported it as PDF and pasted it into the specification linked above at 500% scale - see the following code. It matches well, as did 3D prints with PETG at 0.15 mm layer height.

use <threadlib/threadlib.scad>

rotate(90) projection(true) rotate([0, 90, 0]) {
    nut("PCO-1810", turns = 2, Douter = 32);
    bolt("PCO-1810", turns = 2);
}
adrianschlatter commented 2 years ago

Wow, just wow! @twbaumann, welcome to GitHub, welcome to threadlib, and thank you very much for your contribution! You have added the threads in the way it was meant to be, you added a test (and passed it), you explained what you did in an easily comprehensible, well-referenced, trust-worthy, complete, yet brief way.

Dankeschön!

twbaumann commented 2 years ago

My pleasure! :-)