discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Is a BOSL2 rounded_prism not a "real" solid?

TR
Thomas Richter
Mon, Jul 13, 2026 4:21 PM

Hi all,

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

include <BOSL2/std.scad>

eps = 0.1;
eps2 = 2 * eps;

path = [
    [-1, -3],
    [30, -20],
    [30, 20],
    [-1, 3],
];

render() difference() {
    cube([40, 40, 10]);
    
    down(eps)
    right(2)
    back(10)
    #rounded_prism(
        bottom = path,
        height = 10 + eps2,
        joint_sides = 3,
        anchor = BOTTOM+LEFT
    );
}

Why is the rounded_prism nit subtracted from the cube when rendering the model? I had to # the rounded_prism to see it at all.

After Preview (F5):

After Render (F6):

Hi all, please consider the following simplified(!!!) example: ``` include <BOSL2/std.scad> eps = 0.1; eps2 = 2 * eps; path = [ [-1, -3], [30, -20], [30, 20], [-1, 3], ]; render() difference() { cube([40, 40, 10]); down(eps) right(2) back(10) #rounded_prism( bottom = path, height = 10 + eps2, joint_sides = 3, anchor = BOTTOM+LEFT ); } ``` Why is the rounded_prism nit subtracted from the cube when rendering the model? I had to # the rounded_prism to see it at all. After Preview (F5): After Render (F6):
LM
Leonard Martin Struttmann
Mon, Jul 13, 2026 4:31 PM

Replacing the rounded_prism() call with

linear_extrude(height = 10 + eps2)
polygon( path );

...works correctly.

Interesting.

Replacing the rounded_prism() call with linear_extrude(height = 10 + eps2) polygon( path ); ...works correctly. Interesting.
TR
Thomas Richter
Mon, Jul 13, 2026 4:33 PM

I found it by myself. The path was in the wrong order. Seems I have a hard time to get my mind to clockwise paths for the bottom surface if seen from above. I did it the other way around for years and it's not easy to get rid of that mental model.

Works with this path:

path = [
    [-1, -3],
    [-1, 3],
    [30, 20],
    [30, -20],
];

Am 13.07.2026 um 18:21 schrieb Thomas Richter tomselektropost@googlemail.com:

Hi all,

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

include <BOSL2/std.scad>

eps = 0.1;
eps2 = 2 * eps;

path = [
   [-1, -3],
   [30, -20],
   [30, 20],
   [-1, 3],
];

render() difference() {
   cube([40, 40, 10]);

   down(eps)
   right(2)
   back(10)
   #rounded_prism(
       bottom = path,
       height = 10 + eps2,
       joint_sides = 3,
       anchor = BOTTOM+LEFT
   );
}

Why is the rounded_prism nit subtracted from the cube when rendering the model? I had to # the rounded_prism to see it at all.

After Preview (F5):

<Bildschirmfoto 2026-07-13 um 18.18.40.png>

After Render (F6):

<Bildschirmfoto 2026-07-13 um 18.18.50.png>

I found it by myself. The path was in the wrong order. Seems I have a hard time to get my mind to clockwise paths for the bottom surface if seen from above. I did it the other way around for years and it's not easy to get rid of that mental model. Works with this path: ``` path = [ [-1, -3], [-1, 3], [30, 20], [30, -20], ]; ``` > Am 13.07.2026 um 18:21 schrieb Thomas Richter <tomselektropost@googlemail.com>: > > Hi all, > > please consider the following simplified(!!!) example: > > > ``` > include <BOSL2/std.scad> > > eps = 0.1; > eps2 = 2 * eps; > > path = [ > [-1, -3], > [30, -20], > [30, 20], > [-1, 3], > ]; > > render() difference() { > cube([40, 40, 10]); > > down(eps) > right(2) > back(10) > #rounded_prism( > bottom = path, > height = 10 + eps2, > joint_sides = 3, > anchor = BOTTOM+LEFT > ); > } > ``` > > Why is the rounded_prism nit subtracted from the cube when rendering the model? I had to # the rounded_prism to see it at all. > > After Preview (F5): > > <Bildschirmfoto 2026-07-13 um 18.18.40.png> > > After Render (F6): > > <Bildschirmfoto 2026-07-13 um 18.18.50.png>