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