discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Hole with radius

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


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

--
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!

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

--
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!

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


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


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

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

 
 


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

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


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

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 >