RV
Roel Vanhout
Sat, Feb 20, 2021 8:01 PM
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
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
W
Whosawhatsis
Sat, Feb 20, 2021 8:20 PM
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 roel.vanhout@gmail.com, 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
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
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 <roel.vanhout@gmail.com>, 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
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
A
arnholm@arnholm.org
Sun, Feb 21, 2021 8:19 AM
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
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
BC
Bob Carter
Sun, Feb 21, 2021 12:24 PM
I have had good results using https://dkprojects.net/openscad-threads/ 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
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?
I have had good results using https://dkprojects.net/openscad-threads/ <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, arnholm@arnholm.org 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 <https://www.thingiverse.com/thing:1445033>
>
> Carsten Arnholm
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org>
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org <http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org>
F
fe60
Sun, Feb 21, 2021 12:35 PM
...
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?
...
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:
[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: http://forum.openscad.org/
RV
Roel Vanhout
Sun, Feb 21, 2021 7:12 PM
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 fe_60@web.de 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]
Sent from the OpenSCAD mailing list archive http://forum.openscad.org/
at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
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 <fe_60@web.de> 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
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
A
adrianv
Sun, Feb 21, 2021 8:01 PM
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 <
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]
Sent from the OpenSCAD mailing list archive
<http://forum.openscad.org/>
at Nabble.com.
OpenSCAD mailing list
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 <
> fe_60@
> > 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
>>
> Discuss@.openscad
>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>>
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@.openscad
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
Sent from: http://forum.openscad.org/
P
Parkinbot
Wed, Feb 24, 2021 10:22 PM
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:
- 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);
- 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);
}
-
Use colors and z-fighting to visualize "exact" measures.
-
Have a look into the code in order to learn about default values of
variables, and hidden variables or values.
--
Sent from: http://forum.openscad.org/
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: http://forum.openscad.org/
F
fouroh-llc
Thu, Feb 25, 2021 7:52 PM
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
Sent from: http://forum.openscad.org/
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: http://forum.openscad.org/
A
adrianv
Thu, Feb 25, 2021 9:48 PM
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
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: http://forum.openscad.org/