GB
Glenn Butcher
Fri, Jul 18, 2025 2:09 PM
I have a rather complicated model, thought I'd run a speed comparison
between CGAL and Manifold renders. I did this at the command line in
order to use the time command. Here's a screenshot of the model:
The following is run on a 12-core AMD/16GB machine, Ubuntu OS, OpenSCAD
version reported at the bottom:
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad --backend=manifold -o wwall.stl wwall.scad
Geometries in cache: 412
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 103
CGAL cache size in bytes: 0
Total rendering time: 0:00:51.037
Top level object is a 3D object (manifold):
Status: NoError
Genus: 31
Vertices: 420014
Facets: 840148
real 0m51.787s
user 2m28.472s
sys 0m12.415s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad -o wwall.stl wwall.scad
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: CGAL error in CGALUtils::applyUnion3D: CGAL ERROR: assertion
violation!
Expr: itl != it->second.end()
File: /usr/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1078
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
EXPORT-WARNING: Exported object may not be a valid 2-manifold and may
need repair
Geometries in cache: 413
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 1
CGAL cache size in bytes: 61781376
Total rendering time: 0:12:25.389
Top level object is a 3D object (Nef polyhedron):
Simple: no
Vertices: 32480
Halfedges: 141852
Edges: 70926
Halffacets: 76922
Facets: 38461
Volumes: 2
WARNING: Object may not be a valid 2-manifold and may need repair!
real 12m26.287s
user 12m23.918s
sys 0m2.237s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ openscad -v
OpenSCAD version 2025.07.17
Manifold renders more quickly than even the preview in GUI OpenSCAD, and
its renders navigate more smoothly when panning, rotating and zooming.
I'd say just scrap both preview and CGAL.
FWIW,
Glenn Butcher
I have a rather complicated model, thought I'd run a speed comparison
between CGAL and Manifold renders. I did this at the command line in
order to use the time command. Here's a screenshot of the model:
The following is run on a 12-core AMD/16GB machine, Ubuntu OS, OpenSCAD
version reported at the bottom:
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad --backend=manifold -o wwall.stl wwall.scad
Geometries in cache: 412
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 103
CGAL cache size in bytes: 0
Total rendering time: 0:00:51.037
Top level object is a 3D object (manifold):
Status: NoError
Genus: 31
Vertices: 420014
Facets: 840148
real 0m51.787s
user 2m28.472s
sys 0m12.415s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad -o wwall.stl wwall.scad
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: CGAL error in CGALUtils::applyUnion3D: CGAL ERROR: assertion
violation!
Expr: itl != it->second.end()
File: /usr/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1078
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
EXPORT-WARNING: Exported object may not be a valid 2-manifold and may
need repair
Geometries in cache: 413
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 1
CGAL cache size in bytes: 61781376
Total rendering time: 0:12:25.389
Top level object is a 3D object (Nef polyhedron):
Simple: no
Vertices: 32480
Halfedges: 141852
Edges: 70926
Halffacets: 76922
Facets: 38461
Volumes: 2
WARNING: Object may not be a valid 2-manifold and may need repair!
real 12m26.287s
user 12m23.918s
sys 0m2.237s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ openscad -v
OpenSCAD version 2025.07.17
Manifold renders more quickly than even the preview in GUI OpenSCAD, and
its renders navigate more smoothly when panning, rotating and zooming.
I'd say just scrap both preview and CGAL.
FWIW,
Glenn Butcher
SL
Steve Lelievre
Fri, Jul 18, 2025 3:03 PM
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and particularly
the uneven texturing used to simulate the faces of the blocks used for
the walls - just like chiselled granite. How did you achieve that
texturing? It just so happens that I'm currently looking for a way to
roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering in
preparation to3d printing. And, I regularly use the % modifier to add
guides or diagnostic shapes during development of models. So I'd still
like to have the preview functionality even if the underlying mechanisms
were changed.
Cheers, Steve
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and particularly
the uneven texturing used to simulate the faces of the blocks used for
the walls - just like chiselled granite. How did you achieve that
texturing? It just so happens that I'm currently looking for a way to
roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
> I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering in
preparation to3d printing. And, I regularly use the % modifier to add
guides or diagnostic shapes during development of models. So I'd still
like to have the preview functionality even if the underlying mechanisms
were changed.
Cheers, Steve
GB
Glenn Butcher
Fri, Jul 18, 2025 3:41 PM
Regarding texture: That turned into a sub-hobby. I used a "coherent
noise" library, aptly named libnoise, to make a program to generate
texture data. Since I was writing the program, I made an output option
a row-columm text file ingestible by OpenSCAD's surface() operator.
The texture definition is a network of libnoise operators, probably
needs a separate thread to discuss. I did the stones in the render in
two steps: 1) a script to make the separate stones as .stl files, 2) a
script to load them and add the wall foundation, doors, windows, and
corbels.
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open the
script. Has got me thinking about just command-line rendering, just to
keep from waiting for the preview render.
On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and particularly
the uneven texturing used to simulate the faces of the blocks used for
the walls - just like chiselled granite. How did you achieve that
texturing? It just so happens that I'm currently looking for a way to
roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering
in preparation to3d printing. And, I regularly use the % modifier to
add guides or diagnostic shapes during development of models. So I'd
still like to have the preview functionality even if the underlying
mechanisms were changed.
Cheers, Steve
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Regarding texture: That turned into a sub-hobby. I used a "coherent
noise" library, aptly named libnoise, to make a program to generate
texture data. Since I was writing the program, I made an output option
a row-columm text file ingestible by OpenSCAD's surface() operator.
The texture definition is a network of libnoise operators, probably
needs a separate thread to discuss. I did the stones in the render in
two steps: 1) a script to make the separate stones as .stl files, 2) a
script to load them and add the wall foundation, doors, windows, and
corbels.
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open the
script. Has got me thinking about just command-line rendering, just to
keep from waiting for the preview render.
On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
> Hi Glenn,
>
> An off-topic reply: I'm quite impressed by your model and particularly
> the uneven texturing used to simulate the faces of the blocks used for
> the walls - just like chiselled granite. How did you achieve that
> texturing? It just so happens that I'm currently looking for a way to
> roughen smooth surfaces.
>
> On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
>> I'd say just scrap both preview and CGAL.
>
> Just a casual reaction: Based on execution times alone, I'd probably
> agree. But I like preview because of $preview, which lets me have
> multipart models assembled in preview and broken apart for rendering
> in preparation to3d printing. And, I regularly use the % modifier to
> add guides or diagnostic shapes during development of models. So I'd
> still like to have the preview functionality even if the underlying
> mechanisms were changed.
>
> Cheers, Steve
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
JB
Jon Bondy
Fri, Jul 18, 2025 4:01 PM
Glenn:
Doesn't OpenSCAD display the computational time? Why would you need to
run it at the command prompt (which adds program load time)? Are you
implying that the times that OpenSCAD state are inaccurate?
Jon
On 7/18/2025 10:09 AM, Glenn Butcher via Discuss wrote:
I have a rather complicated model, thought I'd run a speed comparison
between CGAL and Manifold renders. I did this at the command line in
order to use the time command. Here's a screenshot of the model:
The following is run on a 12-core AMD/16GB machine, Ubuntu OS,
OpenSCAD version reported at the bottom:
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad --backend=manifold -o wwall.stl wwall.scad
Geometries in cache: 412
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 103
CGAL cache size in bytes: 0
Total rendering time: 0:00:51.037
Top level object is a 3D object (manifold):
Status: NoError
Genus: 31
Vertices: 420014
Facets: 840148
real 0m51.787s
user 2m28.472s
sys 0m12.415s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
openscad -o wwall.stl wwall.scad
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation!
Expr: e_below != SHalfedge_handle()
File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 418
ERROR: CGAL error in CGALUtils::applyUnion3D: CGAL ERROR: assertion
violation!
Expr: itl != it->second.end()
File: /usr/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1078
ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
EXPORT-WARNING: Exported object may not be a valid 2-manifold and may
need repair
Geometries in cache: 413
Geometry cache size in bytes: 53609520
CGAL Polyhedrons in cache: 1
CGAL cache size in bytes: 61781376
Total rendering time: 0:12:25.389
Top level object is a 3D object (Nef polyhedron):
Simple: no
Vertices: 32480
Halfedges: 141852
Edges: 70926
Halffacets: 76922
Facets: 38461
Volumes: 2
WARNING: Object may not be a valid 2-manifold and may need repair!
real 12m26.287s
user 12m23.918s
sys 0m2.237s
glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ openscad -v
OpenSCAD version 2025.07.17
Manifold renders more quickly than even the preview in GUI OpenSCAD,
and its renders navigate more smoothly when panning, rotating and
zooming. I'd say just scrap both preview and CGAL.
FWIW,
Glenn Butcher
OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
Glenn:
Doesn't OpenSCAD display the computational time? Why would you need to
run it at the command prompt (which adds program load time)? Are you
implying that the times that OpenSCAD state are inaccurate?
Jon
On 7/18/2025 10:09 AM, Glenn Butcher via Discuss wrote:
>
> I have a rather complicated model, thought I'd run a speed comparison
> between CGAL and Manifold renders. I did this at the command line in
> order to use the time command. Here's a screenshot of the model:
>
> The following is run on a 12-core AMD/16GB machine, Ubuntu OS,
> OpenSCAD version reported at the bottom:
>
> glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
> openscad --backend=manifold -o wwall.stl wwall.scad
> Geometries in cache: 412
> Geometry cache size in bytes: 53609520
> CGAL Polyhedrons in cache: 103
> CGAL cache size in bytes: 0
> Total rendering time: 0:00:51.037
> Top level object is a 3D object (manifold):
> Status: NoError
> Genus: 31
> Vertices: 420014
> Facets: 840148
>
> real 0m51.787s
> user 2m28.472s
> sys 0m12.415s
>
> glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ time
> openscad -o wwall.stl wwall.scad
> ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
> violation!
> Expr: e_below != SHalfedge_handle()
> File: /usr/include/CGAL/Nef_3/SNC_FM_decorator.h
> Line: 418
> ERROR: CGAL error in CGALUtils::applyUnion3D: CGAL ERROR: assertion
> violation!
> Expr: itl != it->second.end()
> File: /usr/include/CGAL/Nef_3/SNC_external_structure.h
> Line: 1078
> ERROR: The given mesh is not closed! Unable to convert to CGALNefGeometry.
> EXPORT-WARNING: Exported object may not be a valid 2-manifold and may
> need repair
> Geometries in cache: 413
> Geometry cache size in bytes: 53609520
> CGAL Polyhedrons in cache: 1
> CGAL cache size in bytes: 61781376
> Total rendering time: 0:12:25.389
> Top level object is a 3D object (Nef polyhedron):
> Simple: no
> Vertices: 32480
> Halfedges: 141852
> Edges: 70926
> Halffacets: 76922
> Facets: 38461
> Volumes: 2
> WARNING: Object may not be a valid 2-manifold and may need repair!
>
> real 12m26.287s
> user 12m23.918s
> sys 0m2.237s
>
> glenn@bena:~/Railroading/Antonito/Antonito_Depot/WWall-Copy$ openscad -v
> OpenSCAD version 2025.07.17
>
> Manifold renders more quickly than even the preview in GUI OpenSCAD,
> and its renders navigate more smoothly when panning, rotating and
> zooming. I'd say just scrap both preview and CGAL.
>
> FWIW,
> Glenn Butcher
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email todiscuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
JB
Jon Bondy
Fri, Jul 18, 2025 4:05 PM
Regarding texture: That turned into a sub-hobby. I used a "coherent
noise" library, aptly named libnoise, to make a program to generate
texture data. Since I was writing the program, I made an output
option a row-columm text file ingestible by OpenSCAD's surface()
operator. The texture definition is a network of libnoise operators,
probably needs a separate thread to discuss. I did the stones in the
render in two steps: 1) a script to make the separate stones as .stl
files, 2) a script to load them and add the wall foundation, doors,
windows, and corbels.
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open
the script. Has got me thinking about just command-line rendering,
just to keep from waiting for the preview render.
On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and
particularly the uneven texturing used to simulate the faces of the
blocks used for the walls - just like chiselled granite. How did you
achieve that texturing? It just so happens that I'm currently looking
for a way to roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering
in preparation to3d printing. And, I regularly use the % modifier to
add guides or diagnostic shapes during development of models. So I'd
still like to have the preview functionality even if the underlying
mechanisms were changed.
Cheers, Steve
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
The BOSL2 Library has an extensive texturing feature already in place...
https://github.com/BelfrySCAD/BOSL2/wiki/skin.scad#function-texture
Jon
On 7/18/2025 11:41 AM, Glenn Butcher via Discuss wrote:
> Regarding texture: That turned into a sub-hobby. I used a "coherent
> noise" library, aptly named libnoise, to make a program to generate
> texture data. Since I was writing the program, I made an output
> option a row-columm text file ingestible by OpenSCAD's surface()
> operator. The texture definition is a network of libnoise operators,
> probably needs a separate thread to discuss. I did the stones in the
> render in two steps: 1) a script to make the separate stones as .stl
> files, 2) a script to load them and add the wall foundation, doors,
> windows, and corbels.
>
> Regarding rendering: Just a visceral reaction on my part. The preview
> render of the snapshot doesn't navigate as smoothly as the Manifold
> render, and preview takes an ungodly long time when I initially open
> the script. Has got me thinking about just command-line rendering,
> just to keep from waiting for the preview render.
>
> On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
>> Hi Glenn,
>>
>> An off-topic reply: I'm quite impressed by your model and
>> particularly the uneven texturing used to simulate the faces of the
>> blocks used for the walls - just like chiselled granite. How did you
>> achieve that texturing? It just so happens that I'm currently looking
>> for a way to roughen smooth surfaces.
>>
>> On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
>>> I'd say just scrap both preview and CGAL.
>>
>> Just a casual reaction: Based on execution times alone, I'd probably
>> agree. But I like preview because of $preview, which lets me have
>> multipart models assembled in preview and broken apart for rendering
>> in preparation to3d printing. And, I regularly use the % modifier to
>> add guides or diagnostic shapes during development of models. So I'd
>> still like to have the preview functionality even if the underlying
>> mechanisms were changed.
>>
>> Cheers, Steve
>>
>>
>>
>> _______________________________________________
>> 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
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
SL
Steve Lelievre
Fri, Jul 18, 2025 4:05 PM
Ah, Surface. Of course!
I can just grab a random dither image from the web, and I’ll be on my way.
I got bogged down trying to figure out how to do it with some kind of
randomness generated within Openscad itself.
Thanks for the lead.
Steve
On Fri, 18 Jul 2025 at 08:41, Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
Regarding texture: That turned into a sub-hobby. I used a "coherent
noise" library, aptly named libnoise, to make a program to generate
texture data. Since I was writing the program, I made an output option
a row-columm text file ingestible by OpenSCAD's surface() operator.
The texture definition is a network of libnoise operators, probably
needs a separate thread to discuss. I did the stones in the render in
two steps: 1) a script to make the separate stones as .stl files, 2) a
script to load them and add the wall foundation, doors, windows, and
corbels.
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open the
script. Has got me thinking about just command-line rendering, just to
keep from waiting for the preview render.
On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and particularly
the uneven texturing used to simulate the faces of the blocks used for
the walls - just like chiselled granite. How did you achieve that
texturing? It just so happens that I'm currently looking for a way to
roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering
in preparation to3d printing. And, I regularly use the % modifier to
add guides or diagnostic shapes during development of models. So I'd
still like to have the preview functionality even if the underlying
mechanisms were changed.
Cheers, Steve
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Ah, Surface. Of course!
I can just grab a random dither image from the web, and I’ll be on my way.
I got bogged down trying to figure out how to do it with some kind of
randomness generated within Openscad itself.
Thanks for the lead.
Steve
On Fri, 18 Jul 2025 at 08:41, Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
> Regarding texture: That turned into a sub-hobby. I used a "coherent
> noise" library, aptly named libnoise, to make a program to generate
> texture data. Since I was writing the program, I made an output option
> a row-columm text file ingestible by OpenSCAD's surface() operator.
> The texture definition is a network of libnoise operators, probably
> needs a separate thread to discuss. I did the stones in the render in
> two steps: 1) a script to make the separate stones as .stl files, 2) a
> script to load them and add the wall foundation, doors, windows, and
> corbels.
>
> Regarding rendering: Just a visceral reaction on my part. The preview
> render of the snapshot doesn't navigate as smoothly as the Manifold
> render, and preview takes an ungodly long time when I initially open the
> script. Has got me thinking about just command-line rendering, just to
> keep from waiting for the preview render.
>
> On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
> > Hi Glenn,
> >
> > An off-topic reply: I'm quite impressed by your model and particularly
> > the uneven texturing used to simulate the faces of the blocks used for
> > the walls - just like chiselled granite. How did you achieve that
> > texturing? It just so happens that I'm currently looking for a way to
> > roughen smooth surfaces.
> >
> > On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
> >> I'd say just scrap both preview and CGAL.
> >
> > Just a casual reaction: Based on execution times alone, I'd probably
> > agree. But I like preview because of $preview, which lets me have
> > multipart models assembled in preview and broken apart for rendering
> > in preparation to3d printing. And, I regularly use the % modifier to
> > add guides or diagnostic shapes during development of models. So I'd
> > still like to have the preview functionality even if the underlying
> > mechanisms were changed.
> >
> > Cheers, Steve
> >
> >
> >
> > _______________________________________________
> > 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
>
JB
Jon Bondy
Fri, Jul 18, 2025 4:06 PM
I agree: Preview has many useful uses [sic]
Jon
On 7/18/2025 11:03 AM, Steve Lelievre via Discuss wrote:
Hi Glenn,
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering
in preparation to3d printing. And, I regularly use the % modifier to
add guides or diagnostic shapes during development of models. So I'd
still like to have the preview functionality even if the underlying
mechanisms were changed.
Cheers, Steve
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
I agree: Preview has many useful uses [sic]
Jon
On 7/18/2025 11:03 AM, Steve Lelievre via Discuss wrote:
> Hi Glenn,
>
> On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
>> I'd say just scrap both preview and CGAL.
>
> Just a casual reaction: Based on execution times alone, I'd probably
> agree. But I like preview because of $preview, which lets me have
> multipart models assembled in preview and broken apart for rendering
> in preparation to3d printing. And, I regularly use the % modifier to
> add guides or diagnostic shapes during development of models. So I'd
> still like to have the preview functionality even if the underlying
> mechanisms were changed.
>
> Cheers, Steve
>
>
>
> _______________________________________________
> OpenSCAD mailing list
> To unsubscribe send an email to discuss-leave@lists.openscad.org
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
JB
Jordan Brown
Fri, Jul 18, 2025 4:40 PM
On 7/18/2025 8:41 AM, Glenn Butcher via Discuss wrote:
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open
the script. Has got me thinking about just command-line rendering,
just to keep from waiting for the preview render.
If you don't like your model previewing on load... turn off
Design/Automatic Reload and Preview.
I think that for most models preview is still a bit faster than Manifold.
Preview has # and %.
Manifold color/transparency handling isn't quite all there yet. (Not to
say that preview's doesn't have problems.)
I understand the use case for $preview for two alternate forms, but do
note that having a top-level boolean and using the Customizer gives you
almost the same thing.
On 7/18/2025 8:41 AM, Glenn Butcher via Discuss wrote:
> Regarding rendering: Just a visceral reaction on my part. The preview
> render of the snapshot doesn't navigate as smoothly as the Manifold
> render, and preview takes an ungodly long time when I initially open
> the script. Has got me thinking about just command-line rendering,
> just to keep from waiting for the preview render.
If you don't like your model previewing on load... turn off
Design/Automatic Reload and Preview.
I think that for most models preview is still a bit faster than Manifold.
Preview has # and %.
Manifold color/transparency handling isn't quite all there yet. (Not to
say that preview's doesn't have problems.)
I understand the use case for $preview for two alternate forms, but do
note that having a top-level boolean and using the Customizer gives you
almost the same thing.
GS
Guenther Sohler
Fri, Jul 18, 2025 7:00 PM
No fancy lib required here to created tiled walls.
All Tiles types can easily be adopted , new ideas probably easily
implemented
https://imgur.com/a/6wZAaqz
from openscad import *
round = circle(r=15)
tile=hull((cube([2,2,4])+[4,4,0]), cube([10,10,1])).rotx(90)
wall = [tile+[10i,0,10j] for i in range(10) for j in range(4)]
wrap(wall, round).show()
On Fri, Jul 18, 2025 at 5:41 PM Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
Regarding texture: That turned into a sub-hobby. I used a "coherent
noise" library, aptly named libnoise, to make a program to generate
texture data. Since I was writing the program, I made an output option
a row-columm text file ingestible by OpenSCAD's surface() operator.
The texture definition is a network of libnoise operators, probably
needs a separate thread to discuss. I did the stones in the render in
two steps: 1) a script to make the separate stones as .stl files, 2) a
script to load them and add the wall foundation, doors, windows, and
corbels.
Regarding rendering: Just a visceral reaction on my part. The preview
render of the snapshot doesn't navigate as smoothly as the Manifold
render, and preview takes an ungodly long time when I initially open the
script. Has got me thinking about just command-line rendering, just to
keep from waiting for the preview render.
On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
Hi Glenn,
An off-topic reply: I'm quite impressed by your model and particularly
the uneven texturing used to simulate the faces of the blocks used for
the walls - just like chiselled granite. How did you achieve that
texturing? It just so happens that I'm currently looking for a way to
roughen smooth surfaces.
On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
I'd say just scrap both preview and CGAL.
Just a casual reaction: Based on execution times alone, I'd probably
agree. But I like preview because of $preview, which lets me have
multipart models assembled in preview and broken apart for rendering
in preparation to3d printing. And, I regularly use the % modifier to
add guides or diagnostic shapes during development of models. So I'd
still like to have the preview functionality even if the underlying
mechanisms were changed.
Cheers, Steve
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
No fancy lib required here to created tiled walls.
All Tiles types can easily be adopted , new ideas probably easily
implemented
https://imgur.com/a/6wZAaqz
from openscad import *
round = circle(r=15)
tile=hull((cube([2,2,4])+[4,4,0]), cube([10,10,1])).rotx(90)
wall = [tile+[10*i,0,10*j] for i in range(10) for j in range(4)]
wrap(wall, round).show()
On Fri, Jul 18, 2025 at 5:41 PM Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:
> Regarding texture: That turned into a sub-hobby. I used a "coherent
> noise" library, aptly named libnoise, to make a program to generate
> texture data. Since I was writing the program, I made an output option
> a row-columm text file ingestible by OpenSCAD's surface() operator.
> The texture definition is a network of libnoise operators, probably
> needs a separate thread to discuss. I did the stones in the render in
> two steps: 1) a script to make the separate stones as .stl files, 2) a
> script to load them and add the wall foundation, doors, windows, and
> corbels.
>
> Regarding rendering: Just a visceral reaction on my part. The preview
> render of the snapshot doesn't navigate as smoothly as the Manifold
> render, and preview takes an ungodly long time when I initially open the
> script. Has got me thinking about just command-line rendering, just to
> keep from waiting for the preview render.
>
> On 7/18/2025 9:03 AM, Steve Lelievre via Discuss wrote:
> > Hi Glenn,
> >
> > An off-topic reply: I'm quite impressed by your model and particularly
> > the uneven texturing used to simulate the faces of the blocks used for
> > the walls - just like chiselled granite. How did you achieve that
> > texturing? It just so happens that I'm currently looking for a way to
> > roughen smooth surfaces.
> >
> > On 2025-07-18 7:09 a.m., Glenn Butcher via Discuss wrote:
> >> I'd say just scrap both preview and CGAL.
> >
> > Just a casual reaction: Based on execution times alone, I'd probably
> > agree. But I like preview because of $preview, which lets me have
> > multipart models assembled in preview and broken apart for rendering
> > in preparation to3d printing. And, I regularly use the % modifier to
> > add guides or diagnostic shapes during development of models. So I'd
> > still like to have the preview functionality even if the underlying
> > mechanisms were changed.
> >
> > Cheers, Steve
> >
> >
> >
> > _______________________________________________
> > 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
>
JB
Jon Bondy
Fri, Jul 18, 2025 7:53 PM
Guenther:
Your code does not work in OpenSCAD, at least not here.
If you are providing an example that does not work in OpenSCAD (the
language under discussion in this forum), please label it as such. If
your code requires something other than standard OpenSCAD, please label
it as such.
Thanks
Jon
On 7/18/2025 3:00 PM, Guenther Sohler via Discuss wrote:
from openscad import *
round = circle(r=15)
tile=hull((cube([2,2,4])+[4,4,0]), cube([10,10,1])).rotx(90)
wall = [tile+[10i,0,10j] for i in range(10) for j in range(4)]
wrap(wall, round).show()
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com
Guenther:
Your code does not work in OpenSCAD, at least not here.
If you are providing an example that does not work in OpenSCAD (the
language under discussion in this forum), please label it as such. If
your code requires something other than standard OpenSCAD, please label
it as such.
Thanks
Jon
On 7/18/2025 3:00 PM, Guenther Sohler via Discuss wrote:
> from openscad import *
>
> round = circle(r=15)
> tile=hull((cube([2,2,4])+[4,4,0]), cube([10,10,1])).rotx(90)
>
> wall = [tile+[10*i,0,10*j] for i in range(10) for j in range(4)]
>
> wrap(wall, round).show()
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com