BOSL - make threaded_rod and threaded_nut fit

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

BOSL - make threaded_rod and threaded_nut fit

Roel Vanhout
Hi,

I have the following threaded parts (from the BOSL library) as part of a design:

threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
threaded_nut(od = 30, id = 20, h = 10, pitch = 2.5, bevel = true, $fn = 64);

Unfortunately when I print this, the nut is too small to fit on the rod. I have tried once as shown above and once increasing the id of the nut by 0.2, but before I spend a lot of time printing and a lot of filament, I would like to ask how this is supposed to work. The 'slop' parameter of the nut makes me think that the library is designed so that you should specify the d of the rod and the id of the nut to be the same, and then the extra room for fitting comes from the 'slop'; but maybe not?

cheers,

roel


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

Whosawhatsis
I haven't used that library, but a 2.5mm pitch sounds pretty fine for a 20mm diameter thread. I'm not sure what thread angle the library uses, but a coarser thread pitch helps to mitigate the overhang angle created by a steep thread angle. That might be part of your issue with fit on the printed parts.
On Feb 20, 2021, 12:02 -0800, Roel Vanhout <[hidden email]>, wrote:
Hi,

I have the following threaded parts (from the BOSL library) as part of a design:

threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
threaded_nut(od = 30, id = 20, h = 10, pitch = 2.5, bevel = true, $fn = 64);

Unfortunately when I print this, the nut is too small to fit on the rod. I have tried once as shown above and once increasing the id of the nut by 0.2, but before I spend a lot of time printing and a lot of filament, I would like to ask how this is supposed to work. The 'slop' parameter of the nut makes me think that the library is designed so that you should specify the d of the rod and the id of the nut to be the same, and then the extra room for fitting comes from the 'slop'; but maybe not?

cheers,

roel

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

cacb
In reply to this post by Roel Vanhout
On 2021-02-20 21:01, Roel Vanhout wrote:

> Hi,
>
> I have the following threaded parts (from the BOSL library) as part of
> a design:
>
> threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
> threaded_nut(od = 30, id = 20, h = 10, pitch = 2.5, bevel = true, $fn
> = 64);
>
> Unfortunately when I print this, the nut is too small to fit on the
> rod. I have tried once as shown above and once increasing the id of
> the nut by 0.2, but before I spend a lot of time printing and a lot of
> filament, I would like to ask how this is supposed to work. The 'slop'
> parameter of the nut makes me think that the library is designed so
> that you should specify the d of the rod and the id of the nut to be
> the same, and then the extra room for fitting comes from the 'slop';
> but maybe not?

Things like this also depends on the slicer settings and the printing
process, so I don't think there is a universal answer other than you
must combine the software parameters with your printing slicer/printing
process to make it work. If you print with a large extrusion with you
will need a larger tolerance between the parts. With less extrusion
with/layer thickness the tolerance requirement may change.

Years ago I made a test model to learn about making threaded nuts and
bolts fit each other
https://www.thingiverse.com/thing:1445033

Carsten Arnholm

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

caggius
I have had good results using https://dkprojects.net/openscad-threads/  for the bezels on my instrument dial gauges (think SLR camera filters)

First time out it took a few tries to get the right tolerance then I ran into two simple problems- 1- there was too much play in one of my carriages resulting in a slightly eccentric thread and 2 - PLA on PLA has a high friction coefficient - so spray the threads with ptfe lubricant before trying to thread them together - 

First time using them it may take a few back and forths to knock off any blobs of PLA, and ease the pointy curves ( unless you have arc support enabled in both Marlin and your slicer (or post process with arcwelder) then you will be printing circles using a lot of small straight lines with pointed joints).   

Unfortunately threads are precision bits and so you need to re-calibrate every time you change filament or modify your slicer print settings.

Good luck- it is very satisfying when you get a good print.

cheers
Bob 

On 21 Feb 2021, at 08:19, [hidden email] wrote:

On 2021-02-20 21:01, Roel Vanhout wrote:
Hi,
I have the following threaded parts (from the BOSL library) as part of
a design:
threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
threaded_nut(od = 30, id = 20, h = 10, pitch = 2.5, bevel = true, $fn
= 64);
Unfortunately when I print this, the nut is too small to fit on the
rod. I have tried once as shown above and once increasing the id of
the nut by 0.2, but before I spend a lot of time printing and a lot of
filament, I would like to ask how this is supposed to work. The 'slop'
parameter of the nut makes me think that the library is designed so
that you should specify the d of the rod and the id of the nut to be
the same, and then the extra room for fitting comes from the 'slop';
but maybe not?

Things like this also depends on the slicer settings and the printing process, so I don't think there is a universal answer other than you must combine the software parameters with your printing slicer/printing process to make it work. If you print with a large extrusion with you will need a larger tolerance between the parts. With less extrusion with/layer thickness the tolerance requirement may change.

Years ago I made a test model to learn about making threaded nuts and bolts fit each other
https://www.thingiverse.com/thing:1445033

Carsten Arnholm

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

fe60
In reply to this post by Roel Vanhout
Roel Vanhout wrote
...
The 'slop' parameter of the nut makes me think that the library is designed so that you should specify the d of the rod and the id of the nut to be the same, and then the extra room for fitting comes from the 'slop'; but maybe not?
...
You got this right. But the required slop depends on your thread, the filament, the printer and the print settings. Instead of increasing the inner diameter of the nut, you can increase the slop (default value is 0.2 [1]).
The size of of the inner diameter of the nut is calculated as follows:
d = internal? d+default(slop,PRINTER_SLOP)*3 : d;   [2]

[1] https://github.com/revarbat/BOSL/blob/master/constants.scad#L41
[2a] https://github.com/revarbat/BOSL/blob/master/threading.scad#L286
[2b] https://github.com/revarbat/BOSL/blob/master/threading.scad#L99

Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

Roel Vanhout
Thanks all. I did realize that exact fit depends on slicer settings & printer calibration/setup, but in my experience I can download pretty much any properly designed stl with thread from Thingiverse and I can print working thread, at any reasonable layer thickness, even if some are a bit more loose or tight than others.

Anyway with some test designs and cut throughs in OpenSCAD, and a range of overnight test prints at various diameters and slop settings, I can offer the following experimental conclusions/guidelines to anyone stumbling upon this thread at some point in the future:

- Indeed the d of the rod and the id of the nut should be the same and fit can be calibrated using the nuts 'slop' parameter, thanks to fe60 for confirming
- Slop setting changes of 0.05 have noticeable effects ('measured' by hand twisting the nut onto the rod, and for prints at layer heights 1.2 and 2.4 using PLA+); for a rod d=20, 0.3 is rather too tight, 0.4 works but is quite loose and 0.35 gives a snug fit. So any trial prints should go down to that level of detail at least.
- For rods d=20, the default slop of 0.2 is not enough (it's a bit much for diameters < 12, ok up to 16, not enough above). A good rule of thumb seems to be to take 15% of the diameter and round up for 'large' diameters and down for 'smaller' (sometimes requiring some adjustment still like my d=20 -> 0.35). I didn't do an exhaustive study on this, but it seemed to work more often than not for the trial prints I did. Maybe it'll save someone a few test prints some time.

cheers,

roel



On Sun, Feb 21, 2021 at 1:36 PM fe60 <[hidden email]> wrote:
Roel Vanhout wrote
...
The 'slop' parameter of the nut makes me think that the library is designed so that you should specify the d of the rod and the id of the nut to be the same, and then the extra room for fitting comes from the 'slop'; but maybe not?
...
You got this right. But the required slop depends on your thread, the filament, the printer and the print settings. Instead of increasing the inner diameter of the nut, you can increase the slop (default value is 0.2 [1]).
The size of of the inner diameter of the nut is calculated as follows:
d = internal? d+default(slop,PRINTER_SLOP)*3 : d;   [2]

[1] https://github.com/revarbat/BOSL/blob/master/constants.scad#L41
[2a] https://github.com/revarbat/BOSL/blob/master/threading.scad#L286
[2b] https://github.com/revarbat/BOSL/blob/master/threading.scad#L99

Sent from the OpenSCAD mailing list archive at Nabble.com.
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

adrianv
With my Prusa MK3 I find that in general, $slop values need to be around 0.05 for things to fit well.  The default of 0.2 is much too loose.  I use BOSL2 and am not sure how things might have changed with the threaded rod code from BOSL, but there is new screw code in BOSL2 that supports standard machine screws with standard screw tolerances, and in that case I have printed parts with  $slop=0 that will fit onto standard metal parts or onto each other, depending on the tolerance settings.  However my testing with threading has been mostly with small sized parts like 1/4 inch or M6.  However, I would not expect this tolerance to change with a larger part.   If you print a square part 100x100 and measure with calipers, how accurate is it?  

I did recently print pipe threads at 3/4 inch and for that part I found $slop=0.1 gave me a female part that my (mass produced, not printed) pipe part threaded in very far (more than is probably normal), and $slop=0.05 gave a possibly normal fit, and $slop=0 a very tight fit (but still possible to start engagement).  

Roel Vanhout wrote
Thanks all. I did realize that exact fit depends on slicer settings &
printer calibration/setup, but in my experience I can download pretty much
any properly designed stl with thread from Thingiverse and I can print
working thread, at any reasonable layer thickness, even if some are a bit
more loose or tight than others.

Anyway with some test designs and cut throughs in OpenSCAD, and a range of
overnight test prints at various diameters and slop settings, I can offer
the following experimental conclusions/guidelines to anyone stumbling upon
this thread at some point in the future:

- Indeed the d of the rod and the id of the nut should be the same and fit
can be calibrated using the nuts 'slop' parameter, thanks to fe60 for
confirming
- Slop setting changes of 0.05 have noticeable effects ('measured' by hand
twisting the nut onto the rod, and for prints at layer heights 1.2 and 2.4
using PLA+); for a rod d=20, 0.3 is rather too tight, 0.4 works but is
quite loose and 0.35 gives a snug fit. So any trial prints should go down
to that level of detail at least.
- For rods d=20, the default slop of 0.2 is not enough (it's a bit much for
diameters < 12, ok up to 16, not enough above). A good rule of thumb seems
to be to take 15% of the diameter and round up for 'large' diameters and
down for 'smaller' (sometimes requiring some adjustment still like my d=20
-> 0.35). I didn't do an exhaustive study on this, but it seemed to work
more often than not for the trial prints I did. Maybe it'll save someone a
few test prints some time.

cheers,

roel



On Sun, Feb 21, 2021 at 1:36 PM fe60 <[hidden email]> wrote:

> Roel Vanhout wrote
> ...
> The 'slop' parameter of the nut makes me think that the library is
> designed so that you should specify the d of the rod and the id of the nut
> to be the same, and then the extra room for fitting comes from the 'slop';
> but maybe not?
> ...
>
> You got this right. But the required slop depends on your thread, the
> filament, the printer and the print settings. Instead of increasing the
> inner diameter of the nut, you can increase the slop (default value is 0.2
> [1]).
> The size of of the inner diameter of the nut is calculated as follows:
>
> d = internal? d+default(slop,PRINTER_SLOP)*3 : d;   [2]
>
>
> [1] https://github.com/revarbat/BOSL/blob/master/constants.scad#L41
> [2a] https://github.com/revarbat/BOSL/blob/master/threading.scad#L286
> [2b] https://github.com/revarbat/BOSL/blob/master/threading.scad#L99
> ------------------------------
> Sent from the OpenSCAD mailing list archive <http://forum.openscad.org/>
> at Nabble.com.
> _______________________________________________
> OpenSCAD mailing list
> [hidden email]
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

Parkinbot
In reply to this post by Roel Vanhout
When using some library you haven't implemented on your own, it is always a good idea to at least double check what you get. There are several ways to do this:

1. Use native primitives having the expexted measures (which you can vary) to see what you get. E.g.

threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
#cylinder(d=20, h=50, $fn = 64);

2. visualize gaps with difference() or intersection()

difference()
{
  union()
  {
    threaded_rod(d = 20, l = 50, pitch = 2.5, bevel = true, $fn = 64);
    threaded_nut(od = 30, id = 20, h = 10, pitch = 2.5, bevel = true, $fn = 64);  }
  }
    translate([15, 0, 0])cube([30, 30, 100], center = true);
}

3. Use colors and z-fighting to visualize "exact" measures.

4. Have a look into the code in order to learn about default values of variables, and hidden variables or values.


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

fouroh-llc
In reply to this post by Roel Vanhout
This is what I use to calibrate my nuts..

planeZ=1.0000+0.0060; // Galvanized 20 gauge
meshZ=0.0008;

/*
23FEB20201 - a go-nogo guage for hex nuts
Test printing both flat and upright, and save for each printer / model.
1.3.5.7..10.3.5.7..20.3.5.7..30.3.5.7..40.3.5.7..50.3.5.7..60.3.5.7..70.3.5.7890
----------------------------------------------------------------------------- */

testHexNutRadius();
translate([-14, 0, 15]) rotate([0, 270, 180]) testHexNutRadius();

module testHexNutRadius() {
translate([8, 0, -((planeZ/2)-meshZ)]) cube([46, 16, planeZ], center=true);

translate([0*18, 0, 0]) // #6
gaugeHexNutSize(shaftRadius=3.2, nutRadius=4.8, nutHeight=2.8, nutWallAngle=30, nutOuterWall=0.8, nutBotWallThickness=0.8);

translate([0.8*18, 0, 0]) // #4
gaugeHexNutSize(shaftRadius=2.4, nutRadius=3.8, nutHeight=2.4, nutWallAngle=30, nutOuterWall=0.8, nutBotWallThickness=0.8);

translate([1.4*18, 0, 0]) // #2
gaugeHexNutSize(shaftRadius=1.8, nutRadius=2.8, nutHeight=1.8, nutWallAngle=30, nutOuterWall=0.8, nutBotWallThickness=0.8);


}

module gaugeHexNutSize(shaftRadius, nutRadius, nutHeight, nutWallAngle, nutOuterWall, nutBotWallThickness) {

fullZ=nutHeight+nutBotWallThickness;
addBotRad=fullZ*tan(nutWallAngle);
 
topRad=nutRadius+nutOuterWall;
botRad=addBotRad/2+topRad;
 
holeSizeZ=(planeZ+fullZ+meshZ)+meshZ;
holePlaceZ=(planeZ-nutBotWallThickness)+0.8;
nutPlaceZ=(fullZ-nutHeight)+meshZ;

rotate([0, 0, 0]) difference() {
cylinder($fn=6, h=fullZ, r1=botRad, r2=topRad);

 union() {
 hexRad=nutRadius;

 translate([0, 0, -holePlaceZ])
 color("Red") cylinder($fn=32, h=holeSizeZ, r=(shaftRadius/2));
 
 translate([0, 0, nutPlaceZ])
 color("Blue") cylinder($fn=6, h=nutHeight, r=hexRad);
 }}

}

There are more details about this on our wiki at
https://welcome.factoryfouroh.net/dokuwiki/abc_sierra:abc_si:simpson_strong-tie:scripts:gauges
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

adrianv
How do you print a go/no-go gauge when your printer might be overextruding and printing inaccurately?  It seems like you need to get such a gauge from another source with guaranteed precision, and then you can use it to test printed parts.  

I personally tested printed screws by seeing if the mated well with metal parts of the same dimension.  

fouroh-llc wrote
This is what I use to calibrate my nuts..

planeZ=1.0000+0.0060; // Galvanized 20 gauge
meshZ=0.0008;

/*
23FEB20201 - a go-nogo guage for hex nuts
Test printing both flat and upright, and save for each printer / model.
1.3.5.7..10.3.5.7..20.3.5.7..30.3.5.7..40.3.5.7..50.3.5.7..60.3.5.7..70.3.5.7890
-----------------------------------------------------------------------------
*/

testHexNutRadius();
translate([-14, 0, 15]) rotate([0, 270, 180]) testHexNutRadius();

etc etc


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

fouroh-llc
I print this BEFORE I print the model with slicer setting and all that.. I adjust the radius until they are snug, and I press-fit, then I just grab the script (without the bounding plane). I am not a programmer, I do not create fancy "reusable script". When I move to a different printer (I have Ender 3s and 5s) I test print again, and adjust. Then I save the entire model script. Inefficient I know, but this is the best I can do.
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Cheers!
Mr. Sandor Kunyik
Founder, Technology Evangelist
Factory 4.0 Open Initiative, LLC.
https://hubzilla.factoryfouroh.net/channel/fouroh-llc
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

mondo
In reply to this post by adrianv

On 25/02/2021 21:48, adrianv wrote:
> How do you print a go/no-go gauge when your printer might be
> overextruding and printing inaccurately?  It seems like you need to
> get such a gauge from another source with guaranteed precision, and
> then you can use it to test printed parts.

Hi,

It depends. For example, I have often not bothered with printing
threads, I use taps and dies, as for metal parts - you have be sure that
you have thick enough walls to cut the threads. If you calibrate your
printer to your material, then for coarse threads of, say, half inch and
greater diameter, then you will, with experience learn the tolerances to
apply, there are plenty of test pieces on thingiverse, for example, to
get an idea for the values for you printer. Generally a hole will print
'small' and a shaft will print 'big'. Different materials behave
differently, so chose the plastic that will do the job, and if it is
critical, stick to that for future jobs, else you will have to work it
out again. I'm not sure where 3d printed threads would be desirable,  I
use self-tapping screws to fasten the plastic parts together. I suppose
if the filament was being used as a pattern for metal casting, then it
may be beneficial to get a representation of a thread, but the metal
would most likely be machined afterwards. I'm guessing you're using a
diy/home fdm printer - Prussa, Creality, whatever. If the print is to
show a prototype design, then provided the nut does not fall off the
'threaded bolt, then that will most likely do. The thing is, you need to
spend a fair amount of time tuning your printer to match the filament to
get optimum results, and even then the results will be pretty useless
for 'serious fasteners', but good enough for light duties I suppose -
and then the next reel of filament will most likely behave differently.

Best wishes,


Ray



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

OpenSCAD mailing list-2
https://www.youtube.com/watch?v=iR6OBlSzp7I&vl=ru
has tests of different ways to screw printed parts together.
He uses destructive tests to measure the strength required to pull the parts apart as well as the torque required to strip the threads by over-torquing the bolts.

He has other videos of tests in this area using other methods and different plastics.

You also have to consider how often you will screw and unscrew the parts. Plastic by itself will eventually wear away the threads regardless of how you make the threads. Metal inserts do not have this problem.

Ron

On 2021-02-26 7:17 a.m., Ray West wrote:

On 25/02/2021 21:48, adrianv wrote:
How do you print a go/no-go gauge when your printer might be overextruding and printing inaccurately?  It seems like you need to get such a gauge from another source with guaranteed precision, and then you can use it to test printed parts.

Hi,

It depends. For example, I have often not bothered with printing threads, I use taps and dies, as for metal parts - you have be sure that you have thick enough walls to cut the threads. If you calibrate your printer to your material, then for coarse threads of, say, half inch and greater diameter, then you will, with experience learn the tolerances to apply, there are plenty of test pieces on thingiverse, for example, to get an idea for the values for you printer. Generally a hole will print 'small' and a shaft will print 'big'. Different materials behave differently, so chose the plastic that will do the job, and if it is critical, stick to that for future jobs, else you will have to work it out again. I'm not sure where 3d printed threads would be desirable,  I use self-tapping screws to fasten the plastic parts together. I suppose if the filament was being used as a pattern for metal casting, then it may be beneficial to get a representation of a thread, but the metal would most likely be machined afterwards. I'm guessing you're using a diy/home fdm printer - Prussa, Creality, whatever. If the print is to show a prototype design, then provided the nut does not fall off the 'threaded bolt, then that will most likely do. The thing is, you need to spend a fair amount of time tuning your printer to match the filament to get optimum results, and even then the results will be pretty useless for 'serious fasteners', but good enough for light duties I suppose - and then the next reel of filament will most likely behave differently.

Best wishes,


Ray



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

-- 
Ron Wheeler
Artifact Software
438-345-3369
[hidden email]

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

adrianv
In reply to this post by mondo
You start with "it depends" but never said anything about the idea of printing go/no-go gauges.  Printing threads that work is different (and much easier) than printing a go/no-go gauge.  

If you want to suspend a 100 kg weight then plastic printed parts are obviously the wrong solution.  But I did not find it at all difficult to get reasonable behaving threads from my Prusa.   I did not find that it took a large amount of time to figure out working designs.  I printed female pipe threads so I could mount a light weight object to the ceiling and it seems quite sturdy.  And in this case due to the taper, every tolerance adjustment I tested worked---they just wedged at different engagement depths.  It's also evidently possible to make the threads substantially stronger on an FDM printer by orienting the threads sideways (e.g. print threaded rod lying down).   I figured if my thing fell off the ceiling I'd figure out a more robust mounting approach, but I think failure is unlikely.  

mondo wrote
On 25/02/2021 21:48, adrianv wrote:
> How do you print a go/no-go gauge when your printer might be
> overextruding and printing inaccurately?  It seems like you need to
> get such a gauge from another source with guaranteed precision, and
> then you can use it to test printed parts.

Hi,

It depends. For example, I have often not bothered with printing
threads, I use taps and dies, as for metal parts - you have be sure that
you have thick enough walls to cut the threads. If you calibrate your
printer to your material, then for coarse threads of, say, half inch and
greater diameter, then you will, with experience learn the tolerances to
apply, there are plenty of test pieces on thingiverse, for example, to
get an idea for the values for you printer. Generally a hole will print
'small' and a shaft will print 'big'. Different materials behave
differently, so chose the plastic that will do the job, and if it is
critical, stick to that for future jobs, else you will have to work it
out again. I'm not sure where 3d printed threads would be desirable,  I
use self-tapping screws to fasten the plastic parts together. I suppose
if the filament was being used as a pattern for metal casting, then it
may be beneficial to get a representation of a thread, but the metal
would most likely be machined afterwards. I'm guessing you're using a
diy/home fdm printer - Prussa, Creality, whatever. If the print is to
show a prototype design, then provided the nut does not fall off the
'threaded bolt, then that will most likely do. The thing is, you need to
spend a fair amount of time tuning your printer to match the filament to
get optimum results, and even then the results will be pretty useless
for 'serious fasteners', but good enough for light duties I suppose -
and then the next reel of filament will most likely behave differently.

Best wishes,


Ray



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: BOSL - make threaded_rod and threaded_nut fit

OpenSCAD mailing list-2
https://www.youtube.com/watch?v=G-UF4tv3Hvc
This shows some very impressive results with M3 bolts in Prusa PLA that was not very thick.
Suspending a 100Kg load would not seem to be a problem with or without inserts.

Screwing directly into plastic is a  problem if you have to repeatedly reattach the parts and you have to be careful about over-torquing the bolt.

With inserts, some are better than others but in the torque tests, the head snapped off the bolt before the insert started to spin in its mount.

It stands to reason that the larger bolt sizes would be capable of holding larger weights and the bolts should be capable of withstanding more torque.

He also comments on infill percentage since that also makes a difference.

The video starts with a short discussion about how to test your PLA and printer to determine how to size holes in your designs that match what you want.

He also did some videos testing with materials other than PLA and tests with washers and nuts.
https://www.youtube.com/watch?v=2wRc1KbEAU8 discusses other ways to attach bolts to PLA.



On 2021-02-26 4:19 p.m., adrianv wrote:
You start with "it depends" but never said anything about the idea of printing go/no-go gauges.  Printing threads that work is different (and much easier) than printing a go/no-go gauge.  

If you want to suspend a 100 kg weight then plastic printed parts are obviously the wrong solution.  But I did not find it at all difficult to get reasonable behaving threads from my Prusa.   I did not find that it took a large amount of time to figure out working designs.  I printed female pipe threads so I could mount a light weight object to the ceiling and it seems quite sturdy.  And in this case due to the taper, every tolerance adjustment I tested worked---they just wedged at different engagement depths.  It's also evidently possible to make the threads substantially stronger on an FDM printer by orienting the threads sideways (e.g. print threaded rod lying down).   I figured if my thing fell off the ceiling I'd figure out a more robust mounting approach, but I think failure is unlikely.  

mondo wrote
On 25/02/2021 21:48, adrianv wrote:
> How do you print a go/no-go gauge when your printer might be
> overextruding and printing inaccurately?  It seems like you need to
> get such a gauge from another source with guaranteed precision, and
> then you can use it to test printed parts.

Hi,

It depends. For example, I have often not bothered with printing
threads, I use taps and dies, as for metal parts - you have be sure that
you have thick enough walls to cut the threads. If you calibrate your
printer to your material, then for coarse threads of, say, half inch and
greater diameter, then you will, with experience learn the tolerances to
apply, there are plenty of test pieces on thingiverse, for example, to
get an idea for the values for you printer. Generally a hole will print
'small' and a shaft will print 'big'. Different materials behave
differently, so chose the plastic that will do the job, and if it is
critical, stick to that for future jobs, else you will have to work it
out again. I'm not sure where 3d printed threads would be desirable,  I
use self-tapping screws to fasten the plastic parts together. I suppose
if the filament was being used as a pattern for metal casting, then it
may be beneficial to get a representation of a thread, but the metal
would most likely be machined afterwards. I'm guessing you're using a
diy/home fdm printer - Prussa, Creality, whatever. If the print is to
show a prototype design, then provided the nut does not fall off the
'threaded bolt, then that will most likely do. The thing is, you need to
spend a fair amount of time tuning your printer to match the filament to
get optimum results, and even then the results will be pretty useless
for 'serious fasteners', but good enough for light duties I suppose -
and then the next reel of filament will most likely behave differently.

Best wishes,


Ray



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


Sent from the OpenSCAD mailing list archive at Nabble.com.

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

-- 
Ron Wheeler
Artifact Software
438-345-3369
[hidden email]

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org