discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

minkowski + mesh is not closed

RD
Revar Desmera
Sat, Oct 1, 2022 9:29 PM

I'm unsure about how big is reasonable using surface(). I have, however, converted 1024x1024 grayscale images to .scad file heightfields and rendered them using BOSL2's heightfield() and cylindrical_heightfield() modules in reasonable time.  (link to img2scad.py script below.)  I would think surface() would be faster, though.

https://raw.githubusercontent.com/revarbat/BOSL2/master/scripts/img2scad.py https://raw.githubusercontent.com/revarbat/BOSL2/master/scripts/img2scad.py
https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-heightfield https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-heightfield
https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-cylindrical_heightfield https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-cylindrical_heightfield

  • Revar

On Oct 1, 2022, at 9:39 AM, Bryan Lee leebc11@acm.org wrote:

I appologize, I haven't really been following this thread.

I guess @Marcus Poller:
By any chance are you trying to create terrain for Unity3D?  I have
a workflow process for that.

Alternately, if you're just trying to recreate an svg curve in

OpenSCAD, do you have a way to extract points from that curve and create a
cube or cylinder or sphere [x1,y1,0] for each point on the curve,
possibly rotated to angle with the last and next points?

Thus Torsten Paul hast written on Sat, Oct 01, 2022 at 03:07:53PM +0200, and, according to prophecy, it shall come to pass that:

On 01.10.22 13:49, Marcus Poller wrote:

Managementsummary: Dimensions too large.

With the inherently high resolution your model has, I see only
one realistic chance but that's based on the experimental roof()


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

I'm unsure about how big is reasonable using `surface()`. I have, however, converted 1024x1024 grayscale images to .scad file heightfields and rendered them using BOSL2's `heightfield()` and `cylindrical_heightfield()` modules in reasonable time. (link to img2scad.py script below.) I would think `surface()` would be faster, though. https://raw.githubusercontent.com/revarbat/BOSL2/master/scripts/img2scad.py <https://raw.githubusercontent.com/revarbat/BOSL2/master/scripts/img2scad.py> https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-heightfield <https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-heightfield> https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-cylindrical_heightfield <https://github.com/revarbat/BOSL2/wiki/shapes3d.scad#functionmodule-cylindrical_heightfield> - Revar > On Oct 1, 2022, at 9:39 AM, Bryan Lee <leebc11@acm.org> wrote: > > I appologize, I haven't really been following this thread. > > I guess @Marcus Poller: > By any chance are you trying to create terrain for Unity3D? I have > a workflow process for that. > > Alternately, if you're just trying to recreate an svg curve in > OpenSCAD, do you have a way to extract points from that curve and create a > cube or cylinder or sphere [x1,y1,0] for each point on the curve, > possibly rotated to angle with the last and next points? > > > Thus Torsten Paul hast written on Sat, Oct 01, 2022 at 03:07:53PM +0200, and, according to prophecy, it shall come to pass that: >> On 01.10.22 13:49, Marcus Poller wrote: >>> Managementsummary: Dimensions too large. >> >> With the inherently high resolution your model has, I see only >> one realistic chance but that's based on the experimental roof() > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
MP
Marcus Poller
Sat, Oct 1, 2022 10:28 PM

Hi Hugo,

/* Sample piece for wooden texture options - uses overhang options and Minkowski*/
/* v2 2022-09-28 translation to English to ease support of OpenSCAD Mailinglist*/
l=100;
//w=2;
h=80;
//eh=0.5;
//pseudo_3d=0.001;
//base_layer_height=0.15;
//warp_protect_distance=4;

module wooden_texture_2d(){
intersection(){
translate([l,0,0]) scale([1/10,1/10]) import("holztextur.svg",center=true);
square([l,h]);
}
}

height = 1;
resolution = .05;

for(z = [0:resolution:height - resolution])
translate([0,0,z])
linear_extrude(resolution)
offset(z)
wooden_texture_2d();

Thank you for taking your time and writing this approach into code!

I had varying results depending on the choosen resolution. It's very easy to crash OpenSCAD (possibly a starvation of RAM) and the performance benefit will be gone when I render several textures the same way.
I will keep playing with it and give the mailinglist an update in a few days. The roof()-function has been proposed as an alternative.

Thank you once more!
Marcus

On Sep 30, 2022, at 3:25 PM, Marcus Poller h-openscad.org@crystaldown.de wrote:

Dear OpenSCAD users,

I am new to this list. Please bear with me, feedback is welcome.

I have got an issue that OpenSCAD tells me my shape was not closed and I do not understand why.

Here's the context:
I want to 3d-print a box that looks like it's made of wood. Therefore I decided to apply a texture (SVG) that resembles the annual rings of a tree. I want to apply that texture to the sides of the box. The printer cannot print overhangs without support structure, but overhanging angles of 45° (from base to overhanging outer side) are fine. So I thought I can convert the SVG to a 3d-structure with 45° rises on every side by using minkowski() and applying a cylindrical cone. Of course I need to cheat and convert the 2d SVG to 3d structure first by applying a linear_extrude() before applying minkowski();

I have tried various combinations to get a slice of wooden texture:

  • minkowski to printable angles, use cube() and intersect() to cut a piece of proper size. Suffers from a drain of CPU for the minkowski
  • minkowski SVG, render, export as STL. Import STL, use cube()+intersect() to cut a piece of proper size. I can provide an example, but its file size is 80 MBytes
  • user intersect, apply minkowski.

Each of the approaches failes in one of those ways:

  • ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. (2022-09-25_probedruck_textur.scad)
  • WARNING: Object may not be a valid 2-manifold and may need repair! (2022-09-11_probedrucke.scad)
  • finishes rendering with an empty screen (2022-09-25_probedruck_textur.scad 3rd piece in x-y-plance)

Affected OpenSCAD Versions:

  • OpenSCAD version 2021.01
  • OpenSCAD version 2022.09.20.ai12175

I do not understand what I'm doing wrong and could use some advice what kind of problem I created. It's very hard to do extensive testing, because each attempt consumes a lot of CPU and patience. As a side it would be nice to get advice on how to cut CPU time.
I attached my samples. The error messages vary between preview and render.

Cheers,
Marcus

<holztextur.svg><2022-09-11_probedrucke.scad><2022-09-25_probedruck_textur.scad>_______________________________________________
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

Hi Hugo, > /* Sample piece for wooden texture options - uses overhang options and Minkowski*/ > /* v2 2022-09-28 translation to English to ease support of OpenSCAD Mailinglist*/ > l=100; > //w=2; > h=80; > //eh=0.5; > //pseudo_3d=0.001; > //base_layer_height=0.15; > //warp_protect_distance=4; > > module wooden_texture_2d(){ > intersection(){ > translate([l,0,0]) scale([1/10,1/10]) import("holztextur.svg",center=true); > square([l,h]); > } > } > > height = 1; > resolution = .05; > > for(z = [0:resolution:height - resolution]) > translate([0,0,z]) > linear_extrude(resolution) > offset(z) > wooden_texture_2d(); Thank you for taking your time and writing this approach into code! I had varying results depending on the choosen resolution. It's very easy to crash OpenSCAD (possibly a starvation of RAM) and the performance benefit will be gone when I render several textures the same way. I will keep playing with it and give the mailinglist an update in a few days. The roof()-function has been proposed as an alternative. Thank you once more! Marcus > > On Sep 30, 2022, at 3:25 PM, Marcus Poller <h-openscad.org@crystaldown.de> wrote: > > > > Dear OpenSCAD users, > > > > I am new to this list. Please bear with me, feedback is welcome. > > > > I have got an issue that OpenSCAD tells me my shape was not closed and I do not understand why. > > > > Here's the context: > > I want to 3d-print a box that looks like it's made of wood. Therefore I decided to apply a texture (SVG) that resembles the annual rings of a tree. I want to apply that texture to the sides of the box. The printer cannot print overhangs without support structure, but overhanging angles of 45° (from base to overhanging outer side) are fine. So I thought I can convert the SVG to a 3d-structure with 45° rises on every side by using minkowski() and applying a cylindrical cone. Of course I need to cheat and convert the 2d SVG to 3d structure first by applying a linear_extrude() before applying minkowski(); > > > > I have tried various combinations to get a slice of wooden texture: > > > > * minkowski to printable angles, use cube() and intersect() to cut a piece of proper size. Suffers from a drain of CPU for the minkowski > > * minkowski SVG, render, export as STL. Import STL, use cube()+intersect() to cut a piece of proper size. I can provide an example, but its file size is 80 MBytes > > * user intersect, apply minkowski. > > > > Each of the approaches failes in one of those ways: > > > > * ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. (2022-09-25_probedruck_textur.scad) > > * WARNING: Object may not be a valid 2-manifold and may need repair! (2022-09-11_probedrucke.scad) > > * finishes rendering with an empty screen (2022-09-25_probedruck_textur.scad 3rd piece in x-y-plance) > > > > Affected OpenSCAD Versions: > > > > * OpenSCAD version 2021.01 > > * OpenSCAD version 2022.09.20.ai12175 > > > > I do not understand what I'm doing wrong and could use some advice what kind of problem I created. It's very hard to do extensive testing, because each attempt consumes a lot of CPU and patience. As a side it would be nice to get advice on how to cut CPU time. > > I attached my samples. The error messages vary between preview and render. > > > > Cheers, > > Marcus > > > > > > <holztextur.svg><2022-09-11_probedrucke.scad><2022-09-25_probedruck_textur.scad>_______________________________________________ > > 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
MP
Marcus Poller
Sat, Oct 1, 2022 10:47 PM

Michael Marx wrote:

how big is the final box?

190mm X 110 mm X 60 mm for the bottom, about the same size for the lid.

how fine-grained do you want the wood effect?

My personal perception is: The deception of wood depends an the amount of details. I would like to go sub-millimeter in line width.

I attached a picture of the current prototype. I am unhappy with it, because the annual rings are not visible all over the surface. I think some more depth would provide more shadow and enhance the deception. I am also thinking about painting the piece. Any elevated fine line will allow for more paint to stick, so any continous fine line would produce more shade. I am further thinking abound sanding the piece, but I guess that would require further elevation of the annual rings.

Performance is a factor of size & fine detail.

I haven't thought about yet. I was under the impression that any shape can be split into a series of surface triangles, that a graphics card can handle a million triangles per second. I just did not see the amount of calculation spent.

You could show an example of say the largest side, with l, h & sf with just:

module sample_piece_flat(){
union(){
cube([l,w,h]);
translate([0,w+eh,0])
rotate([90,0,0])
linear_extrude(eh, convexity=10)
wooden_texture_2d();

That previews quickly.

Yeah, that's great. I'm doing just that

module myminkowski(preview=true){
  if(preview) {
    linear_extrude(extrude_height) children(0);
  } else {
    minkowski() children();
  }
}

That solves my preview performance. :-)

Once I go from preview to render, I still get those error messages. I will need to fix them.

Cheers,
Marcus

-----Original Message-----

From: Marcus Poller [mailto:h-openscad.org@crystaldown.de]

Sent: Sat, 1 Oct 2022 08:26

Subject: [OpenSCAD] minkowski + mesh is not closed

Dear OpenSCAD users,

I am new to this list. Please bear with me, feedback is welcome.

I have got an issue that OpenSCAD tells me my shape was not closed and I do not understand

why.

Here's the context:

I want to 3d-print a box that looks like it's made of wood. Therefore I decided to apply a

texture (SVG) that resembles the annual rings of a tree. I want to apply that texture to

the sides of the box. The printer cannot print overhangs without support structure, but

overhanging angles of 45° (from base to overhanging outer side) are fine. So I thought I

can convert the SVG to a 3d-structure with 45° rises on every side by using minkowski()

and applying a cylindrical cone. Of course I need to cheat and convert the 2d SVG to 3d

structure first by applying a linear_extrude() before applying minkowski();

I have tried various combinations to get a slice of wooden texture:

  • minkowski to printable angles, use cube() and intersect() to cut a piece of proper

size. Suffers from a drain of CPU for the minkowski

  • minkowski SVG, render, export as STL. Import STL, use cube()+intersect() to cut a piece

of proper size. I can provide an example, but its file size is 80 MBytes

  • user intersect, apply minkowski.

Each of the approaches failes in one of those ways:

  • ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. (2022-

09-25_probedruck_textur.scad)

  • WARNING: Object may not be a valid 2-manifold and may need repair! (2022-09-

11_probedrucke.scad)

  • finishes rendering with an empty screen (2022-09-25_probedruck_textur.scad 3rd piece in

x-y-plance)

Affected OpenSCAD Versions:

  • OpenSCAD version 2021.01
  • OpenSCAD version 2022.09.20.ai12175

I do not understand what I'm doing wrong and could use some advice what kind of problem I

created. It's very hard to do extensive testing, because each attempt consumes a lot of

CPU and patience. As a side it would be nice to get advice on how to cut CPU time.

I attached my samples. The error messages vary between preview and render.

Cheers,

Marcus

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com


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

Michael Marx wrote: > how big is the final box? 190mm X 110 mm X 60 mm for the bottom, about the same size for the lid. > how fine-grained do you want the wood effect? My personal perception is: The deception of wood depends an the amount of details. I would like to go sub-millimeter in line width. I attached a picture of the current prototype. I am unhappy with it, because the annual rings are not visible all over the surface. I think some more depth would provide more shadow and enhance the deception. I am also thinking about painting the piece. Any elevated fine line will allow for more paint to stick, so any continous fine line would produce more shade. I am further thinking abound sanding the piece, but I guess that would require further elevation of the annual rings. > Performance is a factor of size & fine detail. I haven't thought about yet. I was under the impression that any shape can be split into a series of surface triangles, that a graphics card can handle a million triangles per second. I just did not see the amount of calculation spent. > You could show an example of say the largest side, with l, h & sf with just: > > module sample_piece_flat(){ > union(){ > cube([l,w,h]); > translate([0,w+eh,0]) > rotate([90,0,0]) > linear_extrude(eh, convexity=10) > wooden_texture_2d(); > That previews quickly. Yeah, that's great. I'm doing just that module myminkowski(preview=true){ if(preview) { linear_extrude(extrude_height) children(0); } else { minkowski() children(); } } That solves my preview performance. :-) Once I go from preview to render, I still get those error messages. I will need to fix them. Cheers, Marcus > > -----Original Message----- > > > From: Marcus Poller [mailto:h-openscad.org@crystaldown.de] > > > Sent: Sat, 1 Oct 2022 08:26 > > > To: discuss@lists.openscad.org > > > Subject: [OpenSCAD] minkowski + mesh is not closed > > > > > > Dear OpenSCAD users, > > > > > > I am new to this list. Please bear with me, feedback is welcome. > > > > > > I have got an issue that OpenSCAD tells me my shape was not closed and I do not understand > > > why. > > > > > > Here's the context: > > > I want to 3d-print a box that looks like it's made of wood. Therefore I decided to apply a > > > texture (SVG) that resembles the annual rings of a tree. I want to apply that texture to > > > the sides of the box. The printer cannot print overhangs without support structure, but > > > overhanging angles of 45° (from base to overhanging outer side) are fine. So I thought I > > > can convert the SVG to a 3d-structure with 45° rises on every side by using minkowski() > > > and applying a cylindrical cone. Of course I need to cheat and convert the 2d SVG to 3d > > > structure first by applying a linear_extrude() before applying minkowski(); > > > > > > I have tried various combinations to get a slice of wooden texture: > > > > > > * minkowski to printable angles, use cube() and intersect() to cut a piece of proper > > > size. Suffers from a drain of CPU for the minkowski > > > * minkowski SVG, render, export as STL. Import STL, use cube()+intersect() to cut a piece > > > of proper size. I can provide an example, but its file size is 80 MBytes > > > * user intersect, apply minkowski. > > > > > > Each of the approaches failes in one of those ways: > > > > > > * ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. (2022- > > > 09-25_probedruck_textur.scad) > > > * WARNING: Object may not be a valid 2-manifold and may need repair! (2022-09- > > > 11_probedrucke.scad) > > > * finishes rendering with an empty screen (2022-09-25_probedruck_textur.scad 3rd piece in > > > x-y-plance) > > > > > > Affected OpenSCAD Versions: > > > > > > * OpenSCAD version 2021.01 > > > * OpenSCAD version 2022.09.20.ai12175 > > > > > > I do not understand what I'm doing wrong and could use some advice what kind of problem I > > > created. It's very hard to do extensive testing, because each attempt consumes a lot of > > > CPU and patience. As a side it would be nice to get advice on how to cut CPU time. > > > I attached my samples. The error messages vary between preview and render. > > > > > > Cheers, > > > Marcus > > > > > > > > > -- > This email has been checked for viruses by AVG antivirus software. > www.avg.com > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
MM
Michael Marx
Sun, Oct 2, 2022 12:28 AM

Once I go from preview to render, I still get those error messages. I will need to fix
them.

If they are repeatable & you can delete or comment out any extraneous code,
post them & I'll have a look. (and give me an expectation of how long it runs for)

Likewise any crashes, it is better if we can catch whatever causes them.

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

> Once I go from preview to render, I still get those error messages. I will need to fix > them. If they are repeatable & you can delete or comment out any extraneous code, post them & I'll have a look. (and give me an expectation of how long it runs for) Likewise any crashes, it is better if we can catch whatever causes them. -- This email has been checked for viruses by AVG antivirus software. www.avg.com
JB
Jordan Brown
Sun, Oct 2, 2022 4:20 AM

On 10/1/2022 3:47 PM, Marcus Poller wrote:

I was under the impression that any shape can be split into a series
of surface triangles, that a graphics card can handle a million
triangles per second.

I am not a strong enough 3D geometry guy to be sure, but I think that
what graphics cards do is linear on the number of triangles, where what
an actual render does is quadratic on the number of triangles.

When you union two things, a graphics card just has to figure out what
pixel is in front.  It doesn't have to figure out that two objects
overlap and so the now-internal surfaces need to be eliminated, new
edges calculated, et cetera.

I think this is why OpenSCAD preview is so much faster than render.

On 10/1/2022 3:47 PM, Marcus Poller wrote: > I was under the impression that any shape can be split into a series > of surface triangles, that a graphics card can handle a million > triangles per second. I am not a strong enough 3D geometry guy to be sure, but I think that what graphics cards do is linear on the number of triangles, where what an actual render does is quadratic on the number of triangles. When you union two things, a graphics card just has to figure out what pixel is in front.  It doesn't have to figure out that two objects overlap and so the now-internal surfaces need to be eliminated, new edges calculated, et cetera. I think this is why OpenSCAD preview is so much faster than render.
RW
Rogier Wolff
Sun, Oct 2, 2022 8:36 AM

On Sat, Oct 01, 2022 at 09:20:56PM -0700, Jordan Brown wrote:

On 10/1/2022 3:47 PM, Marcus Poller wrote:

I was under the impression that any shape can be split into a series
of surface triangles, that a graphics card can handle a million
triangles per second.

I am not a strong enough 3D geometry guy to be sure, but I think that
what graphics cards do is linear on the number of triangles, where what
an actual render does is quadratic on the number of triangles.

I think you can make it near-linear if you use a fractal coordinate
system so that you can quickly eliminate most that will NOT intersect.

When you union two things, a graphics card just has to figure out what
pixel is in front.

This is easy: every pixel of your object (even the internal and
"backside" ones!) is transformed onto XY of your screen. The
transformation also gives "some sort" of a Z which can be ignored for
where to draw that pixel. However, even though it is not really
"distance-to-viewpoint" or anything else physical, the resulting Z
value is monotonic. i.e. for objects/pixels further away it is always
larger. So the trick is to draw and fill in ALL triangles, but once
you get to a pixel, you only draw the pixel if your current Z-value is
less. And when you draw a pizel of course you update the z-value for
that pixel.

Roger. 

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

On Sat, Oct 01, 2022 at 09:20:56PM -0700, Jordan Brown wrote: > On 10/1/2022 3:47 PM, Marcus Poller wrote: > > I was under the impression that any shape can be split into a series > > of surface triangles, that a graphics card can handle a million > > triangles per second. > > I am not a strong enough 3D geometry guy to be sure, but I think that > what graphics cards do is linear on the number of triangles, where what > an actual render does is quadratic on the number of triangles. I think you can make it near-linear if you use a fractal coordinate system so that you can quickly eliminate most that will NOT intersect. > When you union two things, a graphics card just has to figure out what > pixel is in front. This is easy: every pixel of your object (even the internal and "backside" ones!) is transformed onto XY of your screen. The transformation also gives "some sort" of a Z which can be ignored for where to draw that pixel. However, even though it is not really "distance-to-viewpoint" or anything else physical, the resulting Z value is monotonic. i.e. for objects/pixels further away it is always larger. So the trick is to draw and fill in ALL triangles, but once you get to a pixel, you only draw the pixel if your current Z-value is less. And when you draw a pizel of course you update the z-value for that pixel. Roger. -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a is going up. -- Chris Hadfield about flying up the space shuttle.
AG
andrew goh
Mon, Oct 3, 2022 3:27 AM

Hi All, Admins,

I'm just thinking aloud. Can the discussions be on

https://forum.openscad.org/

rather than here in a mailing list?
As the topics are rather varied, a web based forum is a more appropriate
format than do this mailing list.

'mailing list integration' may after all not be necessary, i.e. the
forum and this mailing list can go separate ways.

Thanks,
  Andrew

Hi All, Admins, I'm just thinking aloud. Can the discussions be on https://forum.openscad.org/ rather than here in a mailing list? As the topics are rather varied, a web based forum is a more appropriate format than do this mailing list. 'mailing list integration' may after all not be necessary, i.e. the forum and this mailing list can go separate ways. Thanks,   Andrew
MM
Michael Marx
Mon, Oct 3, 2022 4:13 AM

Andrew,

Short answer, as I'm leaving in 30 seconds, no, that forum is dead.

Long answer a bit later today.

MichaelAtOz

-----Original Message-----
From: andrew goh [mailto:gohandrew@yahoo.com]
Sent: Mon, 3 Oct 2022 14:28
To: discuss@lists.openscad.org
Subject: [OpenSCAD] Forum

Hi All, Admins,

I'm just thinking aloud. Can the discussions be on

https://forum.openscad.org/

rather than here in a mailing list?
As the topics are rather varied, a web based forum is a more appropriate
format than do this mailing list.

'mailing list integration' may after all not be necessary, i.e. the
forum and this mailing list can go separate ways.

Thanks,
Andrew

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

Andrew, Short answer, as I'm leaving in 30 seconds, no, that forum is dead. Long answer a bit later today. MichaelAtOz > -----Original Message----- > From: andrew goh [mailto:gohandrew@yahoo.com] > Sent: Mon, 3 Oct 2022 14:28 > To: discuss@lists.openscad.org > Subject: [OpenSCAD] Forum > > Hi All, Admins, > > I'm just thinking aloud. Can the discussions be on > > https://forum.openscad.org/ > > rather than here in a mailing list? > As the topics are rather varied, a web based forum is a more appropriate > format than do this mailing list. > > 'mailing list integration' may after all not be necessary, i.e. the > forum and this mailing list can go separate ways. > > Thanks, > Andrew -- This email has been checked for viruses by AVG antivirus software. www.avg.com
MM
Michael Marx
Mon, Oct 3, 2022 8:24 AM

Make that tomorrow...

-----Original Message-----
From: Michael Marx [mailto:michael@marx.id.au]
Sent: Mon, 3 Oct 2022 15:14
To: 'OpenSCAD general discussion'
Subject: [OpenSCAD] Re: Forum

Andrew,

Short answer, as I'm leaving in 30 seconds, no, that forum is dead.

Long answer a bit later today.

MichaelAtOz

-----Original Message-----
From: andrew goh [mailto:gohandrew@yahoo.com]
Sent: Mon, 3 Oct 2022 14:28
To: discuss@lists.openscad.org
Subject: [OpenSCAD] Forum

Hi All, Admins,

I'm just thinking aloud. Can the discussions be on

https://forum.openscad.org/

rather than here in a mailing list?
As the topics are rather varied, a web based forum is a more appropriate
format than do this mailing list.

'mailing list integration' may after all not be necessary, i.e. the
forum and this mailing list can go separate ways.

Thanks,
Andrew

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com


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

Make that tomorrow... > -----Original Message----- > From: Michael Marx [mailto:michael@marx.id.au] > Sent: Mon, 3 Oct 2022 15:14 > To: 'OpenSCAD general discussion' > Subject: [OpenSCAD] Re: Forum > > Andrew, > > Short answer, as I'm leaving in 30 seconds, no, that forum is dead. > > Long answer a bit later today. > > MichaelAtOz > > > -----Original Message----- > > From: andrew goh [mailto:gohandrew@yahoo.com] > > Sent: Mon, 3 Oct 2022 14:28 > > To: discuss@lists.openscad.org > > Subject: [OpenSCAD] Forum > > > > Hi All, Admins, > > > > I'm just thinking aloud. Can the discussions be on > > > > https://forum.openscad.org/ > > > > rather than here in a mailing list? > > As the topics are rather varied, a web based forum is a more appropriate > > format than do this mailing list. > > > > 'mailing list integration' may after all not be necessary, i.e. the > > forum and this mailing list can go separate ways. > > > > Thanks, > > Andrew > > > > -- > This email has been checked for viruses by AVG antivirus software. > www.avg.com > _______________________________________________ > 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
MP
Marcus Poller
Mon, Oct 3, 2022 11:32 AM
  • Use roof() import("file.svg") which will directly add the
    45° 3d structure

That's been a failure. The flattened structure does not roof(). It does import and display, but as soon as I use roof(), it disappears.

Reproduction:

Inkscape 1.0.2: Select Image, Extensions -> Modify Path -> Flatten Beziers -> Value 50 -> Apply, Save
OpenSCAD 2022.09.20.ai12175: I had to enable roof in Edit->Preferences->Features->Root->tick_the_box

I attached SVGs and Code to reproduce.

Managementsummary: Dimensions too large.

Extensions -> Modify Path -> Flatten Beziers

I understand that the idea of converting the SVG into something more edgy is to reduce detail and therefore speed up preview.
I will port the idea to my existing models and compare its rendering time.
Flattening could be a nice improvement over other ideas I got from this mailinglist

module wooden_texture(preview=true){
  render()
  if( preview) {
    linear_extrude(1,convexity=10) import("texture_flatten.svg);
  } else {
    minkowski(){
      import("texture_full_detail.svg");
      cylinder(r1=1,r2=0,h=1);
    }
  }
}
> - Use roof() import("file.svg") which will directly add the > 45° 3d structure That's been a failure. The flattened structure does not roof(). It does import and display, but as soon as I use roof(), it disappears. Reproduction: Inkscape 1.0.2: Select Image, Extensions -> Modify Path -> Flatten Beziers -> Value 50 -> Apply, Save OpenSCAD 2022.09.20.ai12175: I had to enable roof in Edit->Preferences->Features->Root->tick_the_box I attached SVGs and Code to reproduce. > > Managementsummary: Dimensions too large. > Extensions -> Modify Path -> Flatten Beziers I understand that the idea of converting the SVG into something more edgy is to reduce detail and therefore speed up preview. I will port the idea to my existing models and compare its rendering time. Flattening could be a nice improvement over other ideas I got from this mailinglist module wooden_texture(preview=true){ render() if( preview) { linear_extrude(1,convexity=10) import("texture_flatten.svg); } else { minkowski(){ import("texture_full_detail.svg"); cylinder(r1=1,r2=0,h=1); } } }