diff --git a/threading.scad b/threading.scad index d85149b..37d42f4 100644 --- a/threading.scad +++ b/threading.scad @@ -59,7 +59,7 @@ function _trpzd_thread_pt(thread, threads, start, starts, astep, asteps, part, p // trapezoidal_threaded_rod(d=16, l=40, pitch=2, thread_angle=30); // trapezoidal_threaded_rod(d=10, l=40, pitch=3, thread_angle=15, left_handed=true, starts=3, $fn=36); // trapezoidal_threaded_rod(d=50, l=50, pitch=8, thread_angle=30, starts=4, $fa=2, $fs=2); -// trapezoidal_threaded_rod(d=25, l=68, pitch=10, thread_depth=8/3, thread_angle=50, starts=2, $fa=2, $fs=2); +// trapezoidal_threaded_rod(d=25, l=100, pitch=10, thread_depth=8/3, thread_angle=50, starts=4, center=false, $fa=2, $fs=2); module trapezoidal_threaded_rod( d=10, l=100, @@ -67,6 +67,7 @@ module trapezoidal_threaded_rod( thread_angle=15, thread_depth=undef, left_handed=false, + center=true, starts=1 ) { astep = 360 / quantup(segs(d/2), starts); @@ -200,9 +201,11 @@ module trapezoidal_threaded_rod( ) otri ] ); - intersection() { - polyhedron(points=poly_points, faces=poly_faces, convexity=threads*starts*2); - cube([d+1, d+1, l], center=true); + up(center? 0 : l/2) { + intersection() { + polyhedron(points=poly_points, faces=poly_faces, convexity=threads*starts*2); + cube([d+1, d+1, l], center=true); + } } }