threadlib icon indicating copy to clipboard operation
threadlib copied to clipboard

Added clearance parameter for nut, bolt and tap + 32-UN-1 thread

Open olivier-boesch opened this issue 2 years ago • 8 comments

Hello, I added a clearance paramter called "tol" to ease the use of the library with a 3D printer. also added a height parameter so we can compute turns from height and P (as turns = height /P )

Tested and works

Hope You'll enjoy

olivier-boesch avatar Sep 29 '21 21:09 olivier-boesch

Hi @olivier-boesch. Thanks for using threadlib and preparing a pull-request. That's great! I think it addresses not only 1 topic but 3:

  • Missing 32-UN threads
  • Adjustable clearance
  • Thread length in mm instead of turns

Missing 32-UN threads

I'll gladly add the missing threads. However, you should add them to design/UIS_thread.csv, not THREAD_TABLE.scad directly. make will then add them to THREAD_TABLE.scad (and thereby do all the thread-spec calculations for you). It would be fantastic if you could also add 32-UN-7/8 and 32-UN-15/16!

Adjustable clearance

I have to say I am no expert in 3D-printing. But shouldn't we design our parts as we want them and then fix the printing process if it prints something else? As far as I understand there is a process called "slicing" between finished 3D-model (say .STL) and printing. Shouldn't we do printer-specific corrections like these clearances during slicing?

Thread length

I hate to say that, but I'll not include a length-feature before someone is able to convince me of its usefulness. While it seems an obvious feature, I still think it will not help the user in the end (as I have discussed here in some length).

adrianschlatter avatar Oct 09 '21 10:10 adrianschlatter

Thank for this work, I was just looking for the adjustable clearances. At the moment I am not able to print correctly a project because I am not able to thread the bolt, due to the clearances.

I am no expert either on 3D-printing, it is a hobby for me. Slicing will take the models and given the slicing parameters, define the gcode (instructions for the tool about temp and paths). From what I have seen the usual process when 2 parts need to fit is to leave some clearances in the model itself, as the slicer does not know how the parts are assembled (which thinking about it would be really nice to have). The minimum clearances depend on how accurate your printer is and how well calibrated it is, so having a parameter for it means I can customise the model before slicing, instead of having to file it down a bit for the parts to fit.

pblocz avatar Oct 12 '21 10:10 pblocz

Have to agree with @pblocz here, regarding tolerances. In an ideal world, you could "just" let the slicer do it, but in practice it is very beneficial to allow for tolerances during modelling.

E.g. I am trying to print a nut, and I know that i need about 0.25 larger inner radius for my threads. There is no way I can make my slicer understand this. It would be very convenient to have it as part of the library.

Mind you: I am not commenting on the specific solution (commit) above, just the principle.

madsdyd avatar Apr 10 '23 09:04 madsdyd

I think this is related to an issue I'm having where my M10 tap is so tight it wont fit an m10 thread, if i understand correctly - is this being considered for merge?

rolfyone avatar Jan 17 '24 11:01 rolfyone

Just if anyone else like me is googling and finds this PR, I had success increasing the $fn stupidly high and the thread became a heck of a lot nicer...

use <threadlib/threadlib.scad>
difference() {
    cylinder(h=10, d=45);
    translate([0,0,0.7]) tap("M10", turns=6, Douter=16, $fn=360*2);
}

I'm not sure why i need to move the thread up, I'm still super new to a lot of this, but i left the translate in so the objects line up. Once the facets is increased, it threads fairly nicely (tightly though) on a standard M10 bolt from the hardware store.

rolfyone avatar Jan 17 '24 23:01 rolfyone

I have been having issues with clearance. Hope this gets merged in. Problem with fixing this in a slicer is that everything else gets the wrong size then. Currently i am playing with scale to see if i can make it fit abit better.

torarnehelgesen avatar Mar 01 '24 20:03 torarnehelgesen

I have been having issues with clearance. Hope this gets merged in. Problem with fixing this in a slicer is that everything else gets the wrong size then. Currently i am playing with scale to see if i can make it fit abit better.

Actually just finished a print with scale. and as far as i know.. it works just as tol.

scale([1.02,1.02,1]) tap("G1/2", turns=20);

torarnehelgesen avatar Mar 01 '24 20:03 torarnehelgesen

to add to the conversation, the $fn trick did not work but the scaling helped. i will also add that i had to print at 0.1mm layer heights to get a working, close fitting thread from the nut and tap functions. seam position also had a minor outcome on whether the thread profile worked.

a tolerance parameter would be great. as has been demonstrated, workarounds to get the models working dont involve the slicer alone, and the workflow to get working parts would be much simplified with altering a single parameter.

amx109 avatar Mar 10 '24 20:03 amx109