Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

olivier-boesch
Copy link

@olivier-boesch olivier-boesch commented Sep 29, 2021

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

added "tol" clearance parameter for tap, bolt and nut
added height parameter. if no turns is given, computes turns as height / P
@adrianschlatter
Copy link
Owner

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).

@pblocz
Copy link

pblocz commented Oct 12, 2021

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.

@madsdyd
Copy link

madsdyd commented Apr 10, 2023

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.

@rolfyone
Copy link

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
Copy link

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.

@torarnehelgesen
Copy link

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
Copy link

torarnehelgesen commented Mar 1, 2024

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);

@amx109
Copy link

amx109 commented Mar 10, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants