JW
Joe Weinpert
Fri, Jun 6, 2025 8:32 PM
I want to create a block with a hole in it where the top and bottom of the
hole have a radius.
I want to create a block with a hole in it where the top and bottom of the
hole have a radius.
AM
Adrian Mariano
Fri, Jun 6, 2025 10:09 PM
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
z-fighting
[image: image.png]
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
I want to create a block with a hole in it where the top and bottom of the
hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
z-fighting
[image: image.png]
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
> I want to create a block with a hole in it where the top and bottom of the
> hole have a radius.
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
RW
Raymond West
Fri, Jun 6, 2025 10:12 PM
If the hole is circular, and the object it penetrates has flat sides
that are perpendicular to the hole axis, then a simple solution is to
create a square, centred on the origin, and at each corner difference a
circle the radius being the radius of your rounding and centred on each
corner. Then rotate_extrude that with an offset of the radius of your
hole. Subtract that shape from the solid at the ends of the hole.
On 06/06/2025 21:32, Joe Weinpert via Discuss wrote:
I want to create a block with a hole in it where the top and bottom of
the hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
If the hole is circular, and the object it penetrates has flat sides
that are perpendicular to the hole axis, then a simple solution is to
create a square, centred on the origin, and at each corner difference a
circle the radius being the radius of your rounding and centred on each
corner. Then rotate_extrude that with an offset of the radius of your
hole. Subtract that shape from the solid at the ends of the hole.
On 06/06/2025 21:32, Joe Weinpert via Discuss wrote:
> I want to create a block with a hole in it where the top and bottom of
> the hole have a radius.
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
JW
Joe Weinpert
Fri, Jun 6, 2025 11:07 PM
Hi Adrian,
You're right, I could have phrased my question more clearly! But yes, the
solution you provided is exactly what I was trying to achieve. Thanks so
much for that!
I have a follow-up question. What if the hole isn't cylindrical but has an
irregular shape defined by a list of points? Would it still be possible to
add a radius to the top and bottom edges of such a hole?
Thanks again for your help!
On Fri, Jun 6, 2025 at 6:10 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
z-fighting
[image: image.png]
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
I want to create a block with a hole in it where the top and bottom of
the hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Hi Adrian,
You're right, I could have phrased my question more clearly! But yes, the
solution you provided is exactly what I was trying to achieve. Thanks so
much for that!
I have a follow-up question. What if the hole isn't cylindrical but has an
irregular shape defined by a list of points? Would it still be possible to
add a radius to the top and bottom edges of such a hole?
Thanks again for your help!
On Fri, Jun 6, 2025 at 6:10 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
> Your question is not clearly posed. Do you mean this?
>
> include<BOSL2/std.scad>
> size = 20;
> $fa=1;$fs=.3;
> diff()
> cuboid(size)
> attach(TOP,TOP,inside=true)
> cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
> z-fighting
>
>
> [image: image.png]
>
>
> On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
> discuss@lists.openscad.org> wrote:
>
>> I want to create a block with a hole in it where the top and bottom of
>> the hole have a radius.
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
K
Ken
Sat, Jun 7, 2025 10:51 AM
Adrian, when I run this code snippet, it produces the cube with the hole and rounding in it, but I get the error "Warning: variable "extra" not specified as parameter", and of course there is no lengthening of the cylinder to stop the z-fighting. Try as I might, I can find no examples of the use of extra anywhere, so can you explain what is wrong please?
If I can get this working, it will be very useful.
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid z-fighting
image.png
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
Adrian, when I run this code snippet, it produces the cube with the hole and rounding in it, but I get the error "Warning: variable "extra" not specified as parameter", and of course there is no lengthening of the cylinder to stop the z-fighting. Try as I might, I can find no examples of the use of extra anywhere, so can you explain what is wrong please?
If I can get this working, it will be very useful.
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
> Your question is not clearly posed. Do you mean this?
>
> include<BOSL2/std.scad>
> size = 20;
> $fa=1;$fs=.3;
> diff()
> cuboid(size)
> attach(TOP,TOP,inside=true)
> cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid z-fighting
>
>
> image.png
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html
----------------------------------------
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
K
Ken
Sat, Jun 7, 2025 11:42 AM
Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the latest from github, extra now works as advertised- thanks🙂
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid z-fighting
image.png
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss discuss@lists.openscad.org wrote:
I want to create a block with a hole in it where the top and bottom of the hole have a radius.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the latest from github, extra now works as advertised- thanks🙂
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
> Your question is not clearly posed. Do you mean this?
>
> include<BOSL2/std.scad>
> size = 20;
> $fa=1;$fs=.3;
> diff()
> cuboid(size)
> attach(TOP,TOP,inside=true)
> cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid z-fighting
>
>
> image.png
>
>
> On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <discuss@lists.openscad.org> wrote:
>
> I want to create a block with a hole in it where the top and bottom of the hole have a radius.
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
--
Cheers, Ken
bats059@gmail.com
https://vk7krj.com
https://vk7krj.com/running.html
----------------------------------------
A baby can be defined as an ego with a noise at one end and a smell at the other.
Your job as parents is to teach them to control all three.
My job as a grandad is to tell you how you are doing it all wrong!
RW
Raymond West
Sat, Jun 7, 2025 12:05 PM
Like I said -
// rounded hole demo
block = 50; // size of demo cube
rad = 4; // radius of rounding
diam = 20; // diameter of hole
$fn=200;
module plain(){
difference(){
cube(50,true);
translate([0,0,-(block+20)/2])
cylinder(d=diam,h=block+20);
}
}
//plain();
module prof(){
difference(){
square(rad*2,true);
translate([rad,rad])circle(r=rad);
translate([rad,-rad])circle(r=rad);
translate([-rad,rad])circle(r=rad);
translate([-rad,-rad])circle(r=rad);
}
}
//prof();
module round(){
rotate_extrude(){
translate([diam/2,0,0])prof();
}
}
//round();
module doit(){
difference(){
plain();
translate([0,0,block/2])round();
translate([0,0,-block/2])round();
}
}
doit();
On 06/06/2025 23:12, Raymond West via Discuss wrote:
If the hole is circular, and the object it penetrates has flat sides
that are perpendicular to the hole axis, then a simple solution is to
create a square, centred on the origin, and at each corner difference
a circle the radius being the radius of your rounding and centred on
each corner. Then rotate_extrude that with an offset of the radius of
your hole. Subtract that shape from the solid at the ends of the hole.
On 06/06/2025 21:32, Joe Weinpert via Discuss wrote:
I want to create a block with a hole in it where the top and bottom
of the hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
Like I said -
// rounded hole demo
block = 50; // size of demo cube
rad = 4; // radius of rounding
diam = 20; // diameter of hole
$fn=200;
module plain(){
difference(){
cube(50,true);
translate([0,0,-(block+20)/2])
cylinder(d=diam,h=block+20);
}
}
//plain();
module prof(){
difference(){
square(rad*2,true);
translate([rad,rad])circle(r=rad);
translate([rad,-rad])circle(r=rad);
translate([-rad,rad])circle(r=rad);
translate([-rad,-rad])circle(r=rad);
}
}
//prof();
module round(){
rotate_extrude(){
translate([diam/2,0,0])prof();
}
}
//round();
module doit(){
difference(){
plain();
translate([0,0,block/2])round();
translate([0,0,-block/2])round();
}
}
doit();
On 06/06/2025 23:12, Raymond West via Discuss wrote:
>
> If the hole is circular, and the object it penetrates has flat sides
> that are perpendicular to the hole axis, then a simple solution is to
> create a square, centred on the origin, and at each corner difference
> a circle the radius being the radius of your rounding and centred on
> each corner. Then rotate_extrude that with an offset of the radius of
> your hole. Subtract that shape from the solid at the ends of the hole.
>
> On 06/06/2025 21:32, Joe Weinpert via Discuss wrote:
>> I want to create a block with a hole in it where the top and bottom
>> of the hole have a radius.
>>
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email todiscuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
AM
Adrian Mariano
Sat, Jun 7, 2025 12:24 PM
Yes, you can do the same thing using an irregular shaped hole. If your
hole is polygonal, or is a polygon with rounded corners, then you can use
rounded_prism to make the hole. If your hole has lots of points (e.g. it's
a continuous shape) then join_prism is best. The API for join_prism is
hard to use, though may be not terrible for this case of a vertical hole.
I wrote a better API in prism_coinnector().
A polygon hole (with rounded corners) using rounded_prism:
include<BOSL2/std.scad>
include<BOSL2/rounding.scad> // Not needed with recent versions
size = 20;
M = path3d(turtle(["left", 180, "length",3,"move", "left", "move", 3,
"right",
"move", "right", "move", 4, "right", "move", 3, "right",
"move", 2]));
fudge = .01;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
down(fudge/2)
rounded_prism(M, up(size+fudge,M), joint_sides=1, joint_top=-2,
joint_bot=-2);
Note that if you don't like the attachment stuff you can discard it and
just use difference() with the rounded_prism() call and position the cutout
where you need manually.
[image: image.png]
When the hole has a rounded shape, that is, described by many points, with
curves, then use prism_connector or join_prism:
include<BOSL2/std.scad>
include<BOSL2/rounding.scad> // Not needed with recent versions
flower = [for(theta=lerpn(0,360,180,endpoint=false))
(15+1.3sin(6theta))*[cos(theta),sin(theta)]];
size = 20;
fudge = .01;
diff()
cuboid(size)
tag("remove")prism_connector(scale(.4,flower), parent(), TOP,
parent(), BOT, fillet=2);
Here if you don't like the attachment stuff you have to use join_prism()
instead.
[image: image.png]
On Fri, Jun 6, 2025 at 7:08 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
Hi Adrian,
You're right, I could have phrased my question more clearly! But yes, the
solution you provided is exactly what I was trying to achieve. Thanks so
much for that!
I have a follow-up question. What if the hole isn't cylindrical but has an
irregular shape defined by a list of points? Would it still be possible to
add a radius to the top and bottom edges of such a hole?
Thanks again for your help!
On Fri, Jun 6, 2025 at 6:10 PM Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
z-fighting
[image: image.png]
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
I want to create a block with a hole in it where the top and bottom of
the hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Yes, you can do the same thing using an irregular shaped hole. If your
hole is polygonal, or is a polygon with rounded corners, then you can use
rounded_prism to make the hole. If your hole has lots of points (e.g. it's
a continuous shape) then join_prism is best. The API for join_prism is
hard to use, though may be not terrible for this case of a vertical hole.
I wrote a better API in prism_coinnector().
A polygon hole (with rounded corners) using rounded_prism:
include<BOSL2/std.scad>
include<BOSL2/rounding.scad> // Not needed with recent versions
size = 20;
M = path3d(turtle(["left", 180, "length",3,"move", "left", "move", 3,
"right",
"move", "right", "move", 4, "right", "move", 3, "right",
"move", 2]));
fudge = .01;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
down(fudge/2)
rounded_prism(M, up(size+fudge,M), joint_sides=1, joint_top=-2,
joint_bot=-2);
Note that if you don't like the attachment stuff you can discard it and
just use difference() with the rounded_prism() call and position the cutout
where you need manually.
[image: image.png]
When the hole has a rounded shape, that is, described by many points, with
curves, then use prism_connector or join_prism:
include<BOSL2/std.scad>
include<BOSL2/rounding.scad> // Not needed with recent versions
flower = [for(theta=lerpn(0,360,180,endpoint=false))
(15+1.3*sin(6*theta))*[cos(theta),sin(theta)]];
size = 20;
fudge = .01;
diff()
cuboid(size)
tag("remove")prism_connector(scale(.4,flower), parent(), TOP,
parent(), BOT, fillet=2);
Here if you don't like the attachment stuff you have to use join_prism()
instead.
[image: image.png]
On Fri, Jun 6, 2025 at 7:08 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:
> Hi Adrian,
>
> You're right, I could have phrased my question more clearly! But yes, the
> solution you provided is exactly what I was trying to achieve. Thanks so
> much for that!
>
> I have a follow-up question. What if the hole isn't cylindrical but has an
> irregular shape defined by a list of points? Would it still be possible to
> add a radius to the top and bottom edges of such a hole?
>
> Thanks again for your help!
>
>
>
> On Fri, Jun 6, 2025 at 6:10 PM Adrian Mariano via Discuss <
> discuss@lists.openscad.org> wrote:
>
>> Your question is not clearly posed. Do you mean this?
>>
>> include<BOSL2/std.scad>
>> size = 20;
>> $fa=1;$fs=.3;
>> diff()
>> cuboid(size)
>> attach(TOP,TOP,inside=true)
>> cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to avoid
>> z-fighting
>>
>>
>> [image: image.png]
>>
>>
>> On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss <
>> discuss@lists.openscad.org> wrote:
>>
>>> I want to create a block with a hole in it where the top and bottom of
>>> the hole have a radius.
>>>
>>> _______________________________________________
>>> OpenSCAD mailing list
>>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>>
>> _______________________________________________
>> OpenSCAD mailing list
>> To unsubscribe send an email to discuss-leave@lists.openscad.org
>>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>
L
larry
Sat, Jun 7, 2025 5:41 PM
On Sat, 2025-06-07 at 21:42 +1000, Ken via Discuss wrote:
Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the
latest from github, extra now works as advertised- thanks🙂
I had the same problem, except that 'inside' gave the same error. I
downloaded the latest version from github, using 'Download ZIP', but I
still get the error, and thr flared hole appears on top of the cube.
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to
avoid z-fighting
image.png
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss
discuss@lists.openscad.org wrote:
I want to create a block with a hole in it where the top and
bottom of the hole have a radius.
_______________________________________________
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
On Sat, 2025-06-07 at 21:42 +1000, Ken via Discuss wrote:
> Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the
> latest from github, extra now works as advertised- thanks🙂
I had the same problem, except that 'inside' gave the same error. I
downloaded the latest version from github, using 'Download ZIP', but I
still get the error, and thr flared hole appears on top of the cube.
> On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
> >
> > Your question is not clearly posed. Do you mean this?
> >
> > include<BOSL2/std.scad>
> > size = 20;
> > $fa=1;$fs=.3;
> > diff()
> > cuboid(size)
> > attach(TOP,TOP,inside=true)
> > cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to
> > avoid z-fighting
> >
> >
> > image.png
> >
> >
> > On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss
> > <discuss@lists.openscad.org> wrote:
> >
> > > I want to create a block with a hole in it where the top and
> > > bottom of the hole have a radius.
> > >
> > > _______________________________________________
> > > OpenSCAD mailing list
> > > To unsubscribe send an email to discuss-leave@lists.openscad.org
> > >
> >
> >
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to discuss-leave@lists.openscad.org
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
AM
Adrian Mariano
Sun, Jun 8, 2025 8:56 PM
Larry, is it possible that your code is not finding the updated version?
That's the only explanation I can come up with.
On Sat, Jun 7, 2025 at 1:41 PM larry via Discuss discuss@lists.openscad.org
wrote:
On Sat, 2025-06-07 at 21:42 +1000, Ken via Discuss wrote:
Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the
latest from github, extra now works as advertised- thanks🙂
I had the same problem, except that 'inside' gave the same error. I
downloaded the latest version from github, using 'Download ZIP', but I
still get the error, and thr flared hole appears on top of the cube.
On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
Your question is not clearly posed. Do you mean this?
include<BOSL2/std.scad>
size = 20;
$fa=1;$fs=.3;
diff()
cuboid(size)
attach(TOP,TOP,inside=true)
cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to
avoid z-fighting
image.png
On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss
discuss@lists.openscad.org wrote:
I want to create a block with a hole in it where the top and
bottom of the hole have a radius.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Larry, is it possible that your code is not finding the updated version?
That's the only explanation I can come up with.
On Sat, Jun 7, 2025 at 1:41 PM larry via Discuss <discuss@lists.openscad.org>
wrote:
> On Sat, 2025-06-07 at 21:42 +1000, Ken via Discuss wrote:
> > Problem solved Adrian- my Bosl2 was out-of-date. Downloaded the
> > latest from github, extra now works as advertised- thanks🙂
>
> I had the same problem, except that 'inside' gave the same error. I
> downloaded the latest version from github, using 'Download ZIP', but I
> still get the error, and thr flared hole appears on top of the cube.
>
>
> > On 2025-06-07 08:09, Adrian Mariano via Discuss wrote:
> > >
> > > Your question is not clearly posed. Do you mean this?
> > >
> > > include<BOSL2/std.scad>
> > > size = 20;
> > > $fa=1;$fs=.3;
> > > diff()
> > > cuboid(size)
> > > attach(TOP,TOP,inside=true)
> > > cyl(h=size,d=4,rounding=-2,extra=1); // extra adds length to
> > > avoid z-fighting
> > >
> > >
> > > image.png
> > >
> > >
> > > On Fri, Jun 6, 2025 at 4:33 PM Joe Weinpert via Discuss
> > > <discuss@lists.openscad.org> wrote:
> > >
> > > > I want to create a block with a hole in it where the top and
> > > > bottom of the hole have a radius.
> > > >
> > > > _______________________________________________
> > > > OpenSCAD mailing list
> > > > To unsubscribe send an email to discuss-leave@lists.openscad.org
> > > >
> > >
> > >
> > > _______________________________________________
> > > OpenSCAD mailing list
> > > To unsubscribe send an email to discuss-leave@lists.openscad.org
> >
> > _______________________________________________
> > OpenSCAD mailing list
> > To unsubscribe send an email to discuss-leave@lists.openscad.org
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
>