From ba4c00f77e26bf29cff4e6fd0616382da76b8c80 Mon Sep 17 00:00:00 2001 From: Adrian Mariano Date: Sun, 22 Aug 2021 21:49:56 -0400 Subject: [PATCH] Changes internal: can set bevel to true and get non-garbage result bevel is always set by thread depth acme takes tpi square threads are at angle 0 added generic_threaded_{rod,nut} eliminated metric_trapezoidal_* cleaned up matrices some in generic_threaded_rod threaded_rod can produce spec-true ISO/UTS profile with a triplet input for the diameter. Added bevel1 and bevel2 to all modules. Made default uniformly false for every case instead of sometimes true, sometimes false Profiles that go over zero are not clipped, and bevels are based on actual profile top, not nominal When bevel is given to nuts it bevels the outside of the nut by thread depth higbee looks best with quincunx, but it's more expensive. Select quincunx when higbee is used, min_edge otherwise Current code uses difference to remove excess length in the rod. This gives faster renders at the cost of more complex code and green top/bottom surfaces. Changed slop to 4 * $slop. I got good results printing with $slop=0.05 with this setting. Removed excess threads from vnf (affects case where starts>1), don't force threads to be even Fixed higbee in spiral_sweep for properly centered scaling and for staying on the internal/external base of threads Fixed bug in spiral_sweep where two segments were missing if higbee is zero --- threading.scad | 2 ++ 1 file changed, 2 insertions(+) diff --git a/threading.scad b/threading.scad index bccf180..8ad15ba 100644 --- a/threading.scad +++ b/threading.scad @@ -220,6 +220,8 @@ module trapezoidal_threaded_rod( affine3d_translate([0,pdepth,0]) ) each apply(mat3, prof3d) ]) + + ) [ [0, 0, -l/2-pitch], each apply(mat1*mat2, prof),