discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

help with rounding

BR
Bob Roos
Thu, Jan 15, 2026 11:35 AM

Hello Discuss,

I want to round all the edges inside and out.  I son't see how to do the inside ones
thank you

// bandsaw fence
// Bob Roos
// Jan 15, 2026

include <BOSL2/std.scad> //or screws or threading
$fn=24;
Inch=25.4;

Channel(25,25,2.5,100);

module Channel(separation,depth,thickness,length){
diff(){
rect_tube(size=[separation+2*thickness,depth+thickness], wall=thickness, h=length,anchor=FRONT,orient=BACK)
edge_profile()
mask2d_roundover(r=thickness/2);
up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP);  // get rid of 1 wall

}

}

--
Best regards,
Bob                          mailto:roosbob@wybatap.com

Hello Discuss, I want to round all the edges inside and out. I son't see how to do the inside ones thank you // bandsaw fence // Bob Roos // Jan 15, 2026 include <BOSL2/std.scad> //or screws or threading $fn=24; Inch=25.4; Channel(25,25,2.5,100); module Channel(separation,depth,thickness,length){ diff(){ rect_tube(size=[separation+2*thickness,depth+thickness], wall=thickness, h=length,anchor=FRONT,orient=BACK) edge_profile() mask2d_roundover(r=thickness/2); up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP); // get rid of 1 wall } } -- Best regards, Bob mailto:roosbob@wybatap.com
DP
Dan Perry
Thu, Jan 15, 2026 1:27 PM

Here are three options:

  1. start with a cuboid instead of rect_tube, then diff() a prismoid()
    which allows different edges to have different rounding (ex. 21 in prismoid
    documentation).
  2. Add the internal rounding argument to your rect tube to round the two
    bottom inside edges.  Then use path_sweep() with mask2d_roundover() to hit
    all the other edges.
  3. Draw a 2D U-shape using round_corners() , then extrude to your channel
    length.  The advantage of this method is that the same shape/path that
    forms the cross-section of the channel can be used with path_sweep() to
    round the ends of the channel.
    Dan

On Thu, Jan 15, 2026 at 11:36 AM Bob Roos via Discuss <
discuss@lists.openscad.org> wrote:

Hello Discuss,

I want to round all the edges inside and out.  I son't see how to do the
inside ones
thank you

// bandsaw fence
// Bob Roos
// Jan 15, 2026

include <BOSL2/std.scad> //or screws or threading
$fn=24;
Inch=25.4;

Channel(25,25,2.5,100);

module Channel(separation,depth,thickness,length){
diff(){
rect_tube(size=[separation+2*thickness,depth+thickness],
wall=thickness, h=length,anchor=FRONT,orient=BACK)
edge_profile()
mask2d_roundover(r=thickness/2);

up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP);
// get rid of 1 wall

 }

}

--
Best regards,
Bob                          mailto:roosbob@wybatap.com


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

Here are three options: 1. start with a cuboid instead of rect_tube, then diff() a prismoid() which allows different edges to have different rounding (ex. 21 in prismoid documentation). 2. Add the internal rounding argument to your rect tube to round the two bottom inside edges. Then use path_sweep() with mask2d_roundover() to hit all the other edges. 3. Draw a 2D U-shape using round_corners() , then extrude to your channel length. The advantage of this method is that the same shape/path that forms the cross-section of the channel can be used with path_sweep() to round the ends of the channel. Dan On Thu, Jan 15, 2026 at 11:36 AM Bob Roos via Discuss < discuss@lists.openscad.org> wrote: > Hello Discuss, > > I want to round all the edges inside and out. I son't see how to do the > inside ones > thank you > > // bandsaw fence > // Bob Roos > // Jan 15, 2026 > > include <BOSL2/std.scad> //or screws or threading > $fn=24; > Inch=25.4; > > Channel(25,25,2.5,100); > > module Channel(separation,depth,thickness,length){ > diff(){ > rect_tube(size=[separation+2*thickness,depth+thickness], > wall=thickness, h=length,anchor=FRONT,orient=BACK) > edge_profile() > mask2d_roundover(r=thickness/2); > > up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP); > // get rid of 1 wall > > } > } > > -- > Best regards, > Bob mailto:roosbob@wybatap.com > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Thu, Jan 15, 2026 2:00 PM

Two more:

Use a difference of cuboids and create the rounding on the inside one using
edge_profile_asym so you can put a negative rounding on the 3 end edges and
two top edges.

Draw a u shape and extrude it with offset_sweep which will create the
rounding in the ends.

On Thu, Jan 15, 2026 at 08:28 Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

Here are three options:

  1. start with a cuboid instead of rect_tube, then diff() a prismoid()
    which allows different edges to have different rounding (ex. 21 in prismoid
    documentation).
  2. Add the internal rounding argument to your rect tube to round the two
    bottom inside edges.  Then use path_sweep() with mask2d_roundover() to hit
    all the other edges.
  3. Draw a 2D U-shape using round_corners() , then extrude to your channel
    length.  The advantage of this method is that the same shape/path that
    forms the cross-section of the channel can be used with path_sweep() to
    round the ends of the channel.
    Dan

On Thu, Jan 15, 2026 at 11:36 AM Bob Roos via Discuss <
discuss@lists.openscad.org> wrote:

Hello Discuss,

I want to round all the edges inside and out.  I son't see how to do
the inside ones
thank you

// bandsaw fence
// Bob Roos
// Jan 15, 2026

include <BOSL2/std.scad> //or screws or threading
$fn=24;
Inch=25.4;

Channel(25,25,2.5,100);

module Channel(separation,depth,thickness,length){
diff(){
rect_tube(size=[separation+2*thickness,depth+thickness],
wall=thickness, h=length,anchor=FRONT,orient=BACK)
edge_profile()
mask2d_roundover(r=thickness/2);

up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP);
// get rid of 1 wall

 }

}

--
Best regards,
Bob                          mailto:roosbob@wybatap.com


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

Two more: Use a difference of cuboids and create the rounding on the inside one using edge_profile_asym so you can put a negative rounding on the 3 end edges and two top edges. Draw a u shape and extrude it with offset_sweep which will create the rounding in the ends. On Thu, Jan 15, 2026 at 08:28 Dan Perry via Discuss < discuss@lists.openscad.org> wrote: > Here are three options: > 1. start with a cuboid instead of rect_tube, then diff() a prismoid() > which allows different edges to have different rounding (ex. 21 in prismoid > documentation). > 2. Add the internal rounding argument to your rect tube to round the two > bottom inside edges. Then use path_sweep() with mask2d_roundover() to hit > all the other edges. > 3. Draw a 2D U-shape using round_corners() , then extrude to your channel > length. The advantage of this method is that the same shape/path that > forms the cross-section of the channel can be used with path_sweep() to > round the ends of the channel. > Dan > > > On Thu, Jan 15, 2026 at 11:36 AM Bob Roos via Discuss < > discuss@lists.openscad.org> wrote: > >> Hello Discuss, >> >> I want to round all the edges inside and out. I son't see how to do >> the inside ones >> thank you >> >> // bandsaw fence >> // Bob Roos >> // Jan 15, 2026 >> >> include <BOSL2/std.scad> //or screws or threading >> $fn=24; >> Inch=25.4; >> >> Channel(25,25,2.5,100); >> >> module Channel(separation,depth,thickness,length){ >> diff(){ >> rect_tube(size=[separation+2*thickness,depth+thickness], >> wall=thickness, h=length,anchor=FRONT,orient=BACK) >> edge_profile() >> mask2d_roundover(r=thickness/2); >> >> up(.025)tag("remove")cuboid([separation,length+.05,thickness+.05],anchor=TOP); >> // get rid of 1 wall >> >> } >> } >> >> -- >> Best regards, >> Bob mailto:roosbob@wybatap.com >> _______________________________________________ >> 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