discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

BOSL2 threading

JB
Jon Bondy
Sat, Sep 12, 2026 12:51 AM

Alright, what am I not seeing.

I see this error, which refers to bevels, even though I keep turning
bevels off

ERROR: Assertion '((abs(bevel_size1) + abs(bevel_size2)) < len)' failed:
"Combined bevel size exceeds length of screw" in file , line 1800

include <BOSL2/std.scad>
include <BOSL2/threading.scad>

eps = 0.01;
slop = 0.2;
$fa = 3;
$fs = 0.2;
inches = 25.4;

ht = 15;
id = 114.5;
wt = 1;            // wall thickness
tp = 3.5;        // thread pitch
td = 1.2;        // thread depth
th = 1.9;        // thread height

threaded_nut(nutwidth = id + 20, id = id - 2*th, h = ht, bevel = false,
shape = "square", bevel1 = false, bevel2 = false, pitch = tp, starts =
4, $fa=1, $fs=1);

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

Alright, what am I not seeing. I see this error, which refers to bevels, even though I keep turning bevels off ERROR: Assertion '((abs(bevel_size1) + abs(bevel_size2)) < len)' failed: "Combined bevel size exceeds length of screw" in file , line 1800 include <BOSL2/std.scad> include <BOSL2/threading.scad> eps = 0.01; slop = 0.2; $fa = 3; $fs = 0.2; inches = 25.4; ht = 15; id = 114.5; wt = 1;            // wall thickness tp = 3.5;        // thread pitch td = 1.2;        // thread depth th = 1.9;        // thread height threaded_nut(nutwidth = id + 20, id = id - 2*th, h = ht, bevel = false, shape = "square", bevel1 = false, bevel2 = false, pitch = tp, starts = 4, $fa=1, $fs=1); -- This email has been checked for viruses by AVG antivirus software. www.avg.com
JB
Jordan Brown
Sat, Sep 12, 2026 1:04 AM

Since it seemed to be complaining about the thickness of the nut, I
increased it until it stopped complaining.

The resulting picture tells much of the story, I think:

Note the huge bevels at the top and bottom.

That module has "ibevel" to control whether there is inside beveling,
and the default is true.  But I don't immediately see what controls how
much it bevels.

Random other note:  normally you shouldn't need to specify $fs and $fa
on an individual call.  Just set them to something reasonable at the top
of the file - I like $fa=1 and $fs=1 because it's easy.

Since it seemed to be complaining about the thickness of the nut, I increased it until it stopped complaining. The resulting picture tells much of the story, I think: Note the huge bevels at the top and bottom. That module has "ibevel" to control whether there is inside beveling, and the default is true.  But I don't immediately see what controls how much it bevels. Random other note:  normally you shouldn't need to specify $fs and $fa on an individual call.  Just set them to something reasonable at the top of the file - I like $fa=1 and $fs=1 because it's easy.
JB
Jordan Brown
Sat, Sep 12, 2026 1:26 AM

On 9/11/2026 6:04 PM, Jordan Brown via Discuss wrote:

 But I don't immediately see what controls how much it bevels.

It's not documented, but ibevel/ibevel1/ibevel2 can be numbers.  (But
since it's undocumented, I wouldn't do it unless Adrian says it's OK.) 
The default looks like it's 1/6 of the radius.

On 9/11/2026 6:04 PM, Jordan Brown via Discuss wrote: >  But I don't immediately see what controls how much it bevels. It's not documented, but ibevel/ibevel1/ibevel2 can be numbers.  (But since it's undocumented, I wouldn't do it unless Adrian says it's OK.)  The default looks like it's 1/6 of the radius.
AM
Adrian Mariano
Sat, Sep 12, 2026 5:03 AM

Yes, all the bevel values can be numbers.  It's actually documented in
general_threaded_rod I think that the default bevel is the thread depth,
which is obviously not what the code is doing.  The current default seems a
bit extreme---I'm not sure where it came from, or what I should do at this
point.  Though clearly correctly documenting current behavior would be
good.  But definitely set ibevel to a suitable number for your
application.

On Fri, Sep 11, 2026 at 9:27 PM Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:

On 9/11/2026 6:04 PM, Jordan Brown via Discuss wrote:

But I don't immediately see what controls how much it bevels.

It's not documented, but ibevel/ibevel1/ibevel2 can be numbers.  (But
since it's undocumented, I wouldn't do it unless Adrian says it's OK.)  The
default looks like it's 1/6 of the radius.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Yes, all the bevel values can be numbers. It's actually documented in general_threaded_rod I think that the default bevel is the thread depth, which is obviously not what the code is doing. The current default seems a bit extreme---I'm not sure where it came from, or what I should do at this point. Though clearly correctly documenting current behavior would be good. But definitely set ibevel to a suitable number for your application. On Fri, Sep 11, 2026 at 9:27 PM Jordan Brown via Discuss < discuss@lists.openscad.org> wrote: > On 9/11/2026 6:04 PM, Jordan Brown via Discuss wrote: > > But I don't immediately see what controls how much it bevels. > > > It's not documented, but ibevel/ibevel1/ibevel2 can be numbers. (But > since it's undocumented, I wouldn't do it unless Adrian says it's OK.) The > default looks like it's 1/6 of the radius. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org