discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

BOSL2: Struggling with combinations of roundings / chamfers / teardrops

TR
Thomas Richter
Tue, Jul 14, 2026 7:09 AM

Hi all,

I bumped into the following problem several times and never found an answer in the BOSL2 tutorials. I try to create a shape that has rounded edges along the z axis and chamfers / teardrops at the top and bottom. While offset_sweep helps to create the chamfers / teardrops it doesn't have an option to round the side edges. On the other hand, rounded_prism rounds the side edges nicely but doesn't seem to have an option to chamfer / teardrop the top and bottom edges.

I think there must be a quite simple solution I just don't see.

Please consider the following simplified(!!!) example:

include <BOSL2/std.scad>

path = [
    [0, 0],
    [30, 20],
    [30, -20],
];

rounded_prism(
    bottom = path,
    height = 10,
    joint_sides = [20, 5, 5],
    // how can I make joint_bot to be a teardrop with the linear part
    // towards the bottom (it will be subtracted from another shape)?
    // alternatively: how can I make joint_bot a chamfer?
    joint_bot = -3,
);

I have experimented with the k values but actually that doesn't make sense since it describes a curvature.

Alternatively: Can offset_sweep be utilized with something like joint_sides?

Hi all, I bumped into the following problem several times and never found an answer in the BOSL2 tutorials. I try to create a shape that has rounded edges along the z axis and chamfers / teardrops at the top and bottom. While ```offset_sweep``` helps to create the chamfers / teardrops it doesn't have an option to round the side edges. On the other hand, ```rounded_prism``` rounds the side edges nicely but doesn't seem to have an option to chamfer / teardrop the top and bottom edges. I think there must be a quite simple solution I just don't see. Please consider the following simplified(!!!) example: ``` include <BOSL2/std.scad> path = [ [0, 0], [30, 20], [30, -20], ]; rounded_prism( bottom = path, height = 10, joint_sides = [20, 5, 5], // how can I make joint_bot to be a teardrop with the linear part // towards the bottom (it will be subtracted from another shape)? // alternatively: how can I make joint_bot a chamfer? joint_bot = -3, ); ``` I have experimented with the k values but actually that doesn't make sense since it describes a curvature. Alternatively: Can ```offset_sweep``` be utilized with something like ```joint_sides```?
AM
Adrian Mariano
Tue, Jul 14, 2026 10:27 AM

You should round your 2d shape with round_corners and then run offset_sweep
on that.  If you look at example 1 for offset_sweep, that is how it works.
Example 10 makes a box with teardrop at the bottom, round top, and rounded
vertical edges.

On Tue, Jul 14, 2026 at 3:10 AM Thomas Richter via Discuss <
discuss@lists.openscad.org> wrote:

Hi all,

I bumped into the following problem several times and never found an
answer in the BOSL2 tutorials. I try to create a shape that has rounded
edges along the z axis and chamfers / teardrops at the top and bottom.
While offset_sweep helps to create the chamfers / teardrops it
doesn't have an option to round the side edges. On the other hand,
rounded_prism rounds the side edges nicely but doesn't seem to have
an option to chamfer / teardrop the top and bottom edges.

I think there must be a quite simple solution I just don't see.

Please consider the following simplified(!!!) example:

include <BOSL2/std.scad>

path = [
    [0, 0],
    [30, 20],
    [30, -20],
];

rounded_prism(
    bottom = path,
    height = 10,
    joint_sides = [20, 5, 5],
    // how can I make joint_bot to be a teardrop with the linear part
    // towards the bottom (it will be subtracted from another shape)?
    // alternatively: how can I make joint_bot a chamfer?
    joint_bot = -3,
);

I have experimented with the k values but actually that doesn't make sense
since it describes a curvature.

Alternatively: Can offset_sweep be utilized with something like
joint_sides?


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

You should round your 2d shape with round_corners and then run offset_sweep on that. If you look at example 1 for offset_sweep, that is how it works. Example 10 makes a box with teardrop at the bottom, round top, and rounded vertical edges. On Tue, Jul 14, 2026 at 3:10 AM Thomas Richter via Discuss < discuss@lists.openscad.org> wrote: > Hi all, > > I bumped into the following problem several times and never found an > answer in the BOSL2 tutorials. I try to create a shape that has rounded > edges along the z axis and chamfers / teardrops at the top and bottom. > While ```offset_sweep``` helps to create the chamfers / teardrops it > doesn't have an option to round the side edges. On the other hand, > ```rounded_prism``` rounds the side edges nicely but doesn't seem to have > an option to chamfer / teardrop the top and bottom edges. > > I think there must be a quite simple solution I just don't see. > > Please consider the following simplified(!!!) example: > > ``` > include <BOSL2/std.scad> > > path = [ > [0, 0], > [30, 20], > [30, -20], > ]; > > rounded_prism( > bottom = path, > height = 10, > joint_sides = [20, 5, 5], > // how can I make joint_bot to be a teardrop with the linear part > // towards the bottom (it will be subtracted from another shape)? > // alternatively: how can I make joint_bot a chamfer? > joint_bot = -3, > ); > ``` > > I have experimented with the k values but actually that doesn't make sense > since it describes a curvature. > > Alternatively: Can ```offset_sweep``` be utilized with something like > ```joint_sides```? > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
TR
Thomas Richter
Tue, Jul 14, 2026 10:33 AM

Oh thank you! Of course. I just didn't see it.

Am 14.07.2026 um 12:27 schrieb Adrian Mariano via Discuss discuss@lists.openscad.org:

You should round your 2d shape with round_corners and then run offset_sweep on that.  If you look at example 1 for offset_sweep, that is how it works.  Example 10 makes a box with teardrop at the bottom, round top, and rounded vertical edges.

On Tue, Jul 14, 2026 at 3:10 AM Thomas Richter via Discuss discuss@lists.openscad.org wrote:
Hi all,

I bumped into the following problem several times and never found an answer in the BOSL2 tutorials. I try to create a shape that has rounded edges along the z axis and chamfers / teardrops at the top and bottom. While offset_sweep helps to create the chamfers / teardrops it doesn't have an option to round the side edges. On the other hand, rounded_prism rounds the side edges nicely but doesn't seem to have an option to chamfer / teardrop the top and bottom edges.

I think there must be a quite simple solution I just don't see.

Please consider the following simplified(!!!) example:

include <BOSL2/std.scad>

path = [
    [0, 0],
    [30, 20],
    [30, -20],
];

rounded_prism(
    bottom = path,
    height = 10,
    joint_sides = [20, 5, 5],
    // how can I make joint_bot to be a teardrop with the linear part
    // towards the bottom (it will be subtracted from another shape)?
    // alternatively: how can I make joint_bot a chamfer?
    joint_bot = -3,
);

I have experimented with the k values but actually that doesn't make sense since it describes a curvature.

Alternatively: Can offset_sweep be utilized with something like joint_sides?


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

Oh thank you! Of course. I just didn't see it. > Am 14.07.2026 um 12:27 schrieb Adrian Mariano via Discuss <discuss@lists.openscad.org>: > > You should round your 2d shape with round_corners and then run offset_sweep on that. If you look at example 1 for offset_sweep, that is how it works. Example 10 makes a box with teardrop at the bottom, round top, and rounded vertical edges. > >> On Tue, Jul 14, 2026 at 3:10 AM Thomas Richter via Discuss <discuss@lists.openscad.org> wrote: >> Hi all, >> >> I bumped into the following problem several times and never found an answer in the BOSL2 tutorials. I try to create a shape that has rounded edges along the z axis and chamfers / teardrops at the top and bottom. While ```offset_sweep``` helps to create the chamfers / teardrops it doesn't have an option to round the side edges. On the other hand, ```rounded_prism``` rounds the side edges nicely but doesn't seem to have an option to chamfer / teardrop the top and bottom edges. >> >> I think there must be a quite simple solution I just don't see. >> >> Please consider the following simplified(!!!) example: >> >> ``` >> include <BOSL2/std.scad> >> >> path = [ >> [0, 0], >> [30, 20], >> [30, -20], >> ]; >> >> rounded_prism( >> bottom = path, >> height = 10, >> joint_sides = [20, 5, 5], >> // how can I make joint_bot to be a teardrop with the linear part >> // towards the bottom (it will be subtracted from another shape)? >> // alternatively: how can I make joint_bot a chamfer? >> joint_bot = -3, >> ); >> ``` >> >> I have experimented with the k values but actually that doesn't make sense since it describes a curvature. >> >> Alternatively: Can ```offset_sweep``` be utilized with something like ```joint_sides```? >> _______________________________________________ >> 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