// profile for whitworth thread (bsf, etc) thread angle is 55 deg // points are based on pitch of 6 // (All the thread dimensions are related to the pitch (1/tpi) // distance from xaxis to base of root is 0.160083 * pitch pitch=8; translate([0,-0.160083*pitch]) prof(pitch); module prof(pitch){ mirror([0,1,0]) scale([6*pitch,6*pitch]) polygon (points=[[ 0.166667,-0.0266805 ],[ 0.164274,-0.0268059 ],[ 0.161908,-0.0271807 ],[ 0.159594,-0.0278007 ],[ 0.157357,-0.0286593 ],[ 0.155223,-0.0297469 ],[ 0.153213,-0.0310518 ],[ 0.151351,-0.0325594 ],[ 0.149657,-0.0342535 ],[ 0.14815,-0.0361153 ],[ 0.146845,-0.0381246 ],[ 0.14682,-0.0381246 ],[ 0.10318,-0.121957 ],[ 0.103155,-0.121957 ],[ 0.10185,-0.123966 ],[ 0.100343,-0.125828 ],[ 0.0986485,-0.127522 ],[ 0.0967867,-0.12903 ],[ 0.0947774,-0.130335 ],[ 0.0926428,-0.131423 ],[ 0.0904062,-0.132281 ],[ 0.0880921,-0.132901 ],[ 0.0857258,-0.133276 ],[ 0.0833333,-0.133401 ],[ 0.0809409,-0.133276 ],[ 0.0785746,-0.132901 ],[ 0.0762605,-0.132281 ],[ 0.0740239,-0.131423 ],[ 0.0718892,-0.130335 ],[ 0.06988,-0.12903 ],[ 0.0680182,-0.127522 ],[ 0.0663241,-0.125828 ],[ 0.0648164,-0.123966 ],[ 0.0635116,-0.121957 ],[ 0.0634869,-0.121957 ],[ 0.0198464,-0.0381246 ],[ 0.0198217,-0.0381246 ],[ 0.0185169,-0.0361153 ],[ 0.0170092,-0.0342535 ],[ 0.0153152,-0.0325594 ],[ 0.0134533,-0.0310518 ],[ 0.0114441,-0.0297469 ],[ 0.00930946,-0.0286593 ],[ 0.00707283,-0.0278007 ],[ 0.00475872,-0.0271807 ],[ 0.00239246,-0.0268059 ],[ 0,-0.0266805 ],[ 0,-0 ],[ 0.166667,-0 ]]); }