adrianschlatter / threadlib

thread library for OpenSCAD
BSD 3-Clause "New" or "Revised" License
362 stars 34 forks source link

M12 nut and M12 bolt do not fit #80

Closed karlkashofer closed 1 year ago

karlkashofer commented 1 year ago

Hi ! Thanks for this fantastic and easy to use library ! I have just one problem, when i print a M12 nut and a M12 bolt they do not fit, the nut only screws on the bolt for one turn and then seizes up. I presume i need to add some more clearance ? How is that done properly ?

Thanks, Cheers, KK

Hiltronix commented 1 year ago

Yes, I am having the exact same issue. I used M60 as my experiment with this library. And have the exact same result. It seizes up after 1/2 turn.

I've cleaned the threads, even removed material manually to make sure the threads are all clean enough. Even shaved the threads down to allow tolerance. But it makes no difference. It's like the angles and spacing is all wrong, like when you try to mix incompatible thread types on metal nuts and bolts.

I've tried using the bolt function with nut, and bolt function with tap, and I get the exact same 1/2 turn seizing.

Could the author or maintainer please suggest why [karlkashofer] and myself are having these problems?

Thank you.

adrianschlatter commented 1 year ago

Do the threads fit in CAD?

erydzewski55 commented 1 year ago

Having the same issue for M10 x 1

bolt("M10x1", turns=6); nut("M10x1", turns=10, Douter=12);

adrianschlatter commented 1 year ago

Do the threads fit in CAD?

erydzewski55 commented 1 year ago

I am sorry, I do not know how to check that?

adrianschlatter commented 1 year ago

You could create a nut and a bolt (or whatever you actually created), then "cut it in half" (both parts or just the nut) as in the picture below and then have a close look at it (particularly at the gaps between male and female threads).

nut and bold cut open

erydzewski55 commented 1 year ago

From a static perspective look good, very tight, as mentioned they thread about a turn then stop. I have screw testers and the printed bolt fits the tester fine, but the nut does not.

2023-09-05_15-17-18 2023-09-05_15-17-29

adrianschlatter commented 1 year ago

Can you share the OpenSCAD code that generated the parts above?

erydzewski55 commented 1 year ago

I generated them separately by running the commands and exporting them to stl individually (super new to openScad so learning as I go lol)

bolt("M10x1", turns=6); nut("M10x1", turns=10, Douter=12);

adrianschlatter commented 1 year ago

Ok, I just ran this:

use <threadlib/threadlib.scad>

intersection() {
    union() {
            bolt("M10x1", turns=6);
            nut("M10x1", turns=10, Douter=12);
    };
    cube(100);
}

The results looks pretty ok to me:

Screenshot 2023-09-05 at 21 33 18
erydzewski55 commented 1 year ago

I just tested with another nut I found elsewhere and the same issue occurs. I am going to try a different slicer.

erydzewski55 commented 1 year ago

After much investigation, it just seems to be a tolerance thing. The bolt prints and threads fine, but the nut does not. Scaling the nut up .4mm allowed for threading. I do not think there is any issue with the generation, just the the expansion when printing. thank you for the library and help trouble shooting!