discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Rendering rotate_sweep() BOSL2 example

RV
Roel Vanhout
Tue, Feb 18, 2025 1:41 PM

Hello all,

When I render (F6) this example from the BOSL2 documentation:

include <BOSL2/std.scad>
bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 348

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 348

I understand what this says and why I get this message, but what is the
canonical way to get this code to render? I tried the obvious by doing a
linear_sweep() and then rotate_extrude() on that, but that doesn't show
anything at all.

Thanks.

Roel

Hello all, When I render (F6) this example from the BOSL2 documentation: include <BOSL2/std.scad> bezpath = [ [15, 30], [10,15], [10, 0], [20, 10], [30,12], [30,-12], [20,-10], [10, 0], [10,-15], [15,-30] ]; path = bezpath_curve(bezpath, splinesteps=32); rotate_sweep( path, closed=false, texture="diamonds", tex_size=[10,10], tex_depth=1, style="concave"); I get WARNING: Mixing 2D and 3D objects is not supported in file bezier_test.scad, line 348 WARNING: Ignoring 3D child object for 2D operation in file bezier_test.scad, line 348 I understand what this says and why I get this message, but what is the canonical way to get this code to render? I tried the obvious by doing a linear_sweep() and then rotate_extrude() on that, but that doesn't show anything at all. Thanks. Roel
AM
Adrian Mariano
Tue, Feb 18, 2025 4:54 PM

That example renders for me. Have you perhaps added a 2d object to your
file which I see is 348 lines long so it perhaps contains some other stuff.

On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss <
discuss@lists.openscad.org> wrote:

Hello all,

When I render (F6) this example from the BOSL2 documentation:

include <BOSL2/std.scad>
bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 348

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 348

I understand what this says and why I get this message, but what is the
canonical way to get this code to render? I tried the obvious by doing a
linear_sweep() and then rotate_extrude() on that, but that doesn't show
anything at all.

Thanks.

Roel


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

That example renders for me. Have you perhaps added a 2d object to your file which I see is 348 lines long so it perhaps contains some other stuff. On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss < discuss@lists.openscad.org> wrote: > Hello all, > > When I render (F6) this example from the BOSL2 documentation: > > include <BOSL2/std.scad> > bezpath = [ > [15, 30], [10,15], > [10, 0], [20, 10], [30,12], > [30,-12], [20,-10], [10, 0], > [10,-15], [15,-30] > ]; > path = bezpath_curve(bezpath, splinesteps=32); > rotate_sweep( > path, closed=false, > texture="diamonds", tex_size=[10,10], > tex_depth=1, style="concave"); > > I get > > WARNING: Mixing 2D and 3D objects is not supported in file > bezier_test.scad, line 348 > > WARNING: Ignoring 3D child object for 2D operation in file > bezier_test.scad, line 348 > > I understand what this says and why I get this message, but what is the > canonical way to get this code to render? I tried the obvious by doing a > linear_sweep() and then rotate_extrude() on that, but that doesn't show > anything at all. > > Thanks. > > Roel > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RV
Roel Vanhout
Wed, Feb 19, 2025 9:20 AM

OK so this one had me stumped for a bit, but it turns out that the actual
problem is that I had a debug_bezier() call in between which I indeed did
not post - I'm not sure what I mixed up there. Either way, here is the full
code where I actually get this warning, which I tried on an otherwise empty
file with only the content below:

include <BOSL2-master/std.scad>

bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
debug_bezier(path);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

Notice the call to debug_bezier() in between, which I hadn't in my initial
post. With this code I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 11

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 11
where line 11 is the rotate_sweep() line , which is why I was thrown off
before.

So it 'works' now in the sense that I know that debug_bezier() has 'side
effects' (if it's proper to call it that?), but I still don't understand
why?

Thanks.

Roel

On Tue, Feb 18, 2025 at 5:54 PM Adrian Mariano avm4@cornell.edu wrote:

That example renders for me. Have you perhaps added a 2d object to your
file which I see is 348 lines long so it perhaps contains some other stuff.

On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss <
discuss@lists.openscad.org> wrote:

Hello all,

When I render (F6) this example from the BOSL2 documentation:

include <BOSL2/std.scad>
bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 348

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 348

I understand what this says and why I get this message, but what is the
canonical way to get this code to render? I tried the obvious by doing a
linear_sweep() and then rotate_extrude() on that, but that doesn't show
anything at all.

Thanks.

Roel


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

OK so this one had me stumped for a bit, but it turns out that the actual problem is that I had a debug_bezier() call in between which I indeed did not post - I'm not sure what I mixed up there. Either way, here is the full code where I actually get this warning, which I tried on an otherwise empty file with only the content below: include <BOSL2-master/std.scad> bezpath = [ [15, 30], [10,15], [10, 0], [20, 10], [30,12], [30,-12], [20,-10], [10, 0], [10,-15], [15,-30] ]; path = bezpath_curve(bezpath, splinesteps=32); debug_bezier(path); rotate_sweep( path, closed=false, texture="diamonds", tex_size=[10,10], tex_depth=1, style="concave"); Notice the call to debug_bezier() in between, which I hadn't in my initial post. With this code I get WARNING: Mixing 2D and 3D objects is not supported in file bezier_test.scad, line 11 WARNING: Ignoring 3D child object for 2D operation in file bezier_test.scad, line 11 where line 11 is the rotate_sweep() line , which is why I was thrown off before. So it 'works' now in the sense that I know that debug_bezier() has 'side effects' (if it's proper to call it that?), but I still don't understand why? Thanks. Roel On Tue, Feb 18, 2025 at 5:54 PM Adrian Mariano <avm4@cornell.edu> wrote: > That example renders for me. Have you perhaps added a 2d object to your > file which I see is 348 lines long so it perhaps contains some other stuff. > > On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss < > discuss@lists.openscad.org> wrote: > >> Hello all, >> >> When I render (F6) this example from the BOSL2 documentation: >> >> include <BOSL2/std.scad> >> bezpath = [ >> [15, 30], [10,15], >> [10, 0], [20, 10], [30,12], >> [30,-12], [20,-10], [10, 0], >> [10,-15], [15,-30] >> ]; >> path = bezpath_curve(bezpath, splinesteps=32); >> rotate_sweep( >> path, closed=false, >> texture="diamonds", tex_size=[10,10], >> tex_depth=1, style="concave"); >> >> I get >> >> WARNING: Mixing 2D and 3D objects is not supported in file >> bezier_test.scad, line 348 >> >> WARNING: Ignoring 3D child object for 2D operation in file >> bezier_test.scad, line 348 >> >> I understand what this says and why I get this message, but what is the >> canonical way to get this code to render? I tried the obvious by doing a >> linear_sweep() and then rotate_extrude() on that, but that doesn't show >> anything at all. >> >> Thanks. >> >> Roel >> >> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >
AM
Adrian Mariano
Wed, Feb 19, 2025 11:17 AM

Do you actually want to render this with debug_bezier() in there?  Seems
like a strange thing to do.  In order to do that you have to run
linear_extrude on debug_bezier so that it becomes 3d instead of 2d.  Or you
need to make the path 3d before passing it, so debug_bezier(path3d(path)).

On Wed, Feb 19, 2025 at 4:21 AM Roel Vanhout roel.vanhout@gmail.com wrote:

OK so this one had me stumped for a bit, but it turns out that the actual
problem is that I had a debug_bezier() call in between which I indeed did
not post - I'm not sure what I mixed up there. Either way, here is the full
code where I actually get this warning, which I tried on an otherwise empty
file with only the content below:

include <BOSL2-master/std.scad>

bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
debug_bezier(path);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

Notice the call to debug_bezier() in between, which I hadn't in my initial
post. With this code I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 11

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 11
where line 11 is the rotate_sweep() line , which is why I was thrown off
before.

So it 'works' now in the sense that I know that debug_bezier() has 'side
effects' (if it's proper to call it that?), but I still don't understand
why?

Thanks.

Roel

On Tue, Feb 18, 2025 at 5:54 PM Adrian Mariano avm4@cornell.edu wrote:

That example renders for me. Have you perhaps added a 2d object to your
file which I see is 348 lines long so it perhaps contains some other stuff.

On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss <
discuss@lists.openscad.org> wrote:

Hello all,

When I render (F6) this example from the BOSL2 documentation:

include <BOSL2/std.scad>
bezpath = [
[15, 30], [10,15],
[10,  0], [20, 10], [30,12],
[30,-12], [20,-10], [10, 0],
[10,-15], [15,-30]
];
path = bezpath_curve(bezpath, splinesteps=32);
rotate_sweep(
path, closed=false,
texture="diamonds", tex_size=[10,10],
tex_depth=1, style="concave");

I get

WARNING: Mixing 2D and 3D objects is not supported in file
bezier_test.scad, line 348

WARNING: Ignoring 3D child object for 2D operation in file
bezier_test.scad, line 348

I understand what this says and why I get this message, but what is the
canonical way to get this code to render? I tried the obvious by doing a
linear_sweep() and then rotate_extrude() on that, but that doesn't show
anything at all.

Thanks.

Roel


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

Do you actually want to render this with debug_bezier() in there? Seems like a strange thing to do. In order to do that you have to run linear_extrude on debug_bezier so that it becomes 3d instead of 2d. Or you need to make the path 3d before passing it, so debug_bezier(path3d(path)). On Wed, Feb 19, 2025 at 4:21 AM Roel Vanhout <roel.vanhout@gmail.com> wrote: > OK so this one had me stumped for a bit, but it turns out that the actual > problem is that I had a debug_bezier() call in between which I indeed did > not post - I'm not sure what I mixed up there. Either way, here is the full > code where I actually get this warning, which I tried on an otherwise empty > file with only the content below: > > include <BOSL2-master/std.scad> > > bezpath = [ > [15, 30], [10,15], > [10, 0], [20, 10], [30,12], > [30,-12], [20,-10], [10, 0], > [10,-15], [15,-30] > ]; > path = bezpath_curve(bezpath, splinesteps=32); > debug_bezier(path); > rotate_sweep( > path, closed=false, > texture="diamonds", tex_size=[10,10], > tex_depth=1, style="concave"); > > Notice the call to debug_bezier() in between, which I hadn't in my initial > post. With this code I get > > WARNING: Mixing 2D and 3D objects is not supported in file > bezier_test.scad, line 11 > > WARNING: Ignoring 3D child object for 2D operation in file > bezier_test.scad, line 11 > where line 11 is the rotate_sweep() line , which is why I was thrown off > before. > > So it 'works' now in the sense that I know that debug_bezier() has 'side > effects' (if it's proper to call it that?), but I still don't understand > why? > > Thanks. > > Roel > > > > On Tue, Feb 18, 2025 at 5:54 PM Adrian Mariano <avm4@cornell.edu> wrote: > >> That example renders for me. Have you perhaps added a 2d object to your >> file which I see is 348 lines long so it perhaps contains some other stuff. >> >> On Tue, Feb 18, 2025 at 08:42 Roel Vanhout via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> Hello all, >>> >>> When I render (F6) this example from the BOSL2 documentation: >>> >>> include <BOSL2/std.scad> >>> bezpath = [ >>> [15, 30], [10,15], >>> [10, 0], [20, 10], [30,12], >>> [30,-12], [20,-10], [10, 0], >>> [10,-15], [15,-30] >>> ]; >>> path = bezpath_curve(bezpath, splinesteps=32); >>> rotate_sweep( >>> path, closed=false, >>> texture="diamonds", tex_size=[10,10], >>> tex_depth=1, style="concave"); >>> >>> I get >>> >>> WARNING: Mixing 2D and 3D objects is not supported in file >>> bezier_test.scad, line 348 >>> >>> WARNING: Ignoring 3D child object for 2D operation in file >>> bezier_test.scad, line 348 >>> >>> I understand what this says and why I get this message, but what is the >>> canonical way to get this code to render? I tried the obvious by doing a >>> linear_sweep() and then rotate_extrude() on that, but that doesn't show >>> anything at all. >>> >>> Thanks. >>> >>> Roel >>> >>> >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >>