discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

render

J
jon
Thu, Mar 2, 2023 11:49 AM

I wonder if my performance issues relate to re-calculating an object
over-and-over again.  I tried something like this

    save = moduleX(x);

    for (i := [1:10000])

        translate(some function)

                 save;

that did not work syntactically, so I have to use

    for (i := [1:10000])

        translate(some function)

                 moduleX(x);

Should I enclose module(x) within render() to get

    for (i := [1:10000])

        translate(some function)

                 render(moduleX(x));

or define moduleX(x) as

    moduleX(x)
    	render()
    		some code
I wonder if my performance issues relate to re-calculating an object over-and-over again.  I tried something like this save = moduleX(x); for (i := [1:10000])    translate(some function)             save; that did not work syntactically, so I have to use for (i := [1:10000])    translate(some function)             moduleX(x); Should I enclose module(x) within render() to get for (i := [1:10000])    translate(some function)             render(moduleX(x)); or define moduleX(x) as moduleX(x) render() some code
NH
nop head
Thu, Mar 2, 2023 9:09 PM

The last case because render() is a module that causes its children's
geometry to be calculated by CGAL and cached.

Or you could do

for (i := [1:10000])

translate(some function)
render()
moduleX(x).

On Thu, 2 Mar 2023 at 11:49, jon jon@jonbondy.com wrote:

I wonder if my performance issues relate to re-calculating an object
over-and-over again.  I tried something like this

save = moduleX(x);

for (i := [1:10000])

translate(some function)

         save;

that did not work syntactically, so I have to use

for (i := [1:10000])

translate(some function)

         moduleX(x);

Should I enclose module(x) within render() to get

for (i := [1:10000])

translate(some function)

         render(moduleX(x));

or define moduleX(x) as

moduleX(x)
render()
some code


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

The last case because render() is a module that causes its children's geometry to be calculated by CGAL and cached. Or you could do for (i := [1:10000]) translate(some function) render() moduleX(x). On Thu, 2 Mar 2023 at 11:49, jon <jon@jonbondy.com> wrote: > I wonder if my performance issues relate to re-calculating an object > over-and-over again. I tried something like this > > save = moduleX(x); > > for (i := [1:10000]) > > translate(some function) > > save; > > that did not work syntactically, so I have to use > > for (i := [1:10000]) > > translate(some function) > > moduleX(x); > > Should I enclose module(x) within render() to get > > for (i := [1:10000]) > > translate(some function) > > render(moduleX(x)); > > or define moduleX(x) as > > moduleX(x) > render() > some code > > > > > > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >