discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

somewhat off topic: turning a surface into a manifold

JB
Jon Bondy
Sun, Sep 15, 2024 6:48 PM

I scanned some mushrooms on a tree with a 3D scanner, so I have a
surface, but the object is not closed, solid, or manifold.  Any tips
about how to take a surface and add structure to it behind to enable it
to be printed?

Thanks!

Jon

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

I scanned some mushrooms on a tree with a 3D scanner, so I have a surface, but the object is not closed, solid, or manifold.  Any tips about how to take a surface and add structure to it behind to enable it to be printed? Thanks! Jon -- This email has been checked for viruses by AVG antivirus software. www.avg.com
MP
Marcus Poller
Sun, Sep 15, 2024 8:22 PM

Hi Jon,

I scanned some mushrooms on a tree with a 3D scanner, so I have a surface,
but the object is not closed, solid, or manifold.  Any tips about how to
take a surface and add structure to it behind to enable it to be printed?

I am glad you ask.

(1) it will hurt.

(2) you may like my very experimental workaround.

Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option.

Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space.
Your triangles are supposed to form a closed volume...
... which they aren't
... that is why you can't process the file with any tool.

If instead of using three coordinates to build a triangle...
... let us use three cubes on these coordinates to build a volume.

Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull()
. You can render this shape to get a volume.
Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview.
That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates).

If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume.

Instructions:
In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name.
Run as

python3 stl_to_polyhedron.py >tree_with_mushrooms.scad

@mailinglist:
What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL?

Cheers,
Marcus

Hi Jon, > I scanned some mushrooms on a tree with a 3D scanner, so I have a surface, > but the object is not closed, solid, or manifold.  Any tips about how to > take a surface and add structure to it behind to enable it to be printed? I am glad you ask. (1) it will hurt. (2) you may like my very experimental workaround. Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option. Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space. Your triangles are supposed to form a closed volume... ... which they aren't ... that is why you can't process the file with any tool. If instead of using three coordinates to build a triangle... ... let us use three cubes on these coordinates to build a volume. Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull() . You can render this shape to get a volume. Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview. That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates). If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume. Instructions: In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name. Run as python3 stl_to_polyhedron.py >tree_with_mushrooms.scad @mailinglist: What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL? Cheers, Marcus
JJ
jon jonbondy.com
Sun, Sep 15, 2024 8:38 PM

Marcus:

Thank you.  Where do I find Python3 to install, please.  Is Python3 just
regular Python, or something different?  I know nothing about Python.

Jon

On 9/15/2024 4:22 PM, Marcus Poller wrote:

Hi Jon,

I scanned some mushrooms on a tree with a 3D scanner, so I have a surface,
but the object is not closed, solid, or manifold.  Any tips about how to
take a surface and add structure to it behind to enable it to be printed?

I am glad you ask.

(1) it will hurt.

(2) you may like my very experimental workaround.

Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option.

Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space.
Your triangles are supposed to form a closed volume...
... which they aren't
... that is why you can't process the file with any tool.

If instead of using three coordinates to build a triangle...
... let us use three cubes on these coordinates to build a volume.

Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull()
. You can render this shape to get a volume.
Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview.
That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates).

If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume.

Instructions:
In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name.
Run as

  python3 stl_to_polyhedron.py >tree_with_mushrooms.scad

@mailinglist:
What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL?

Cheers,
Marcus

Marcus: Thank you.  Where do I find Python3 to install, please.  Is Python3 just regular Python, or something different?  I know nothing about Python. Jon On 9/15/2024 4:22 PM, Marcus Poller wrote: > Hi Jon, > >> I scanned some mushrooms on a tree with a 3D scanner, so I have a surface, >> but the object is not closed, solid, or manifold.  Any tips about how to >> take a surface and add structure to it behind to enable it to be printed? > I am glad you ask. > > (1) it will hurt. > > (2) you may like my very experimental workaround. > > Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option. > > Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space. > Your triangles are supposed to form a closed volume... > ... which they aren't > ... that is why you can't process the file with any tool. > > If instead of using three coordinates to build a triangle... > ... let us use three cubes on these coordinates to build a volume. > > Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull() > . You can render this shape to get a volume. > Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview. > That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates). > > If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume. > > Instructions: > In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name. > Run as > > python3 stl_to_polyhedron.py >tree_with_mushrooms.scad > > > @mailinglist: > What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL? > > Cheers, > Marcus >
JJ
jon jonbondy.com
Sun, Sep 15, 2024 8:45 PM

Never mind.  I found and installed Python, 3.126, from here:

https://www.python.org/downloads/release/python-3126/

After installation, typing "py" at a command line does not work. Typing
"python" brings me to the Microsoft Store.  Typing "python3" brings me
top the MS store.  Typing "python3.12" does not work.  Typing
"python3.12.6" does not work.

On 9/15/2024 4:22 PM, Marcus Poller wrote:

Hi Jon,

I scanned some mushrooms on a tree with a 3D scanner, so I have a surface,
but the object is not closed, solid, or manifold.  Any tips about how to
take a surface and add structure to it behind to enable it to be printed?

I am glad you ask.

(1) it will hurt.

(2) you may like my very experimental workaround.

Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option.

Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space.
Your triangles are supposed to form a closed volume...
... which they aren't
... that is why you can't process the file with any tool.

If instead of using three coordinates to build a triangle...
... let us use three cubes on these coordinates to build a volume.

Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull()
. You can render this shape to get a volume.
Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview.
That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates).

If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume.

Instructions:
In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name.
Run as

  python3 stl_to_polyhedron.py >tree_with_mushrooms.scad

@mailinglist:
What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL?

Cheers,
Marcus

Never mind.  I found and installed Python, 3.126, from here: https://www.python.org/downloads/release/python-3126/ After installation, typing "py" at a command line does not work. Typing "python" brings me to the Microsoft Store.  Typing "python3" brings me top the MS store.  Typing "python3.12" does not work.  Typing "python3.12.6" does not work. On 9/15/2024 4:22 PM, Marcus Poller wrote: > Hi Jon, > >> I scanned some mushrooms on a tree with a 3D scanner, so I have a surface, >> but the object is not closed, solid, or manifold.  Any tips about how to >> take a surface and add structure to it behind to enable it to be printed? > I am glad you ask. > > (1) it will hurt. > > (2) you may like my very experimental workaround. > > Let's discuss your options first: Can your slicer deal with the 2d surface and generate a printed result? You would prefer that option. > > Here is the idea: Most 3d scanners produce an STL. STL is a list of triangles in 3d space. > Your triangles are supposed to form a closed volume... > ... which they aren't > ... that is why you can't process the file with any tool. > > If instead of using three coordinates to build a triangle... > ... let us use three cubes on these coordinates to build a volume. > > Run your STL through the attached script. It will generate an OpenSCAD-shape using translate() cube() and hull() > . You can render this shape to get a volume. > Depending on the amount of coordinates, it will take minutes to hours to render your scan. You will not be able to alter the camera angle in preview. You will not be able to zoom in preview. > That will convert your 2d surface area into a 3d volume, that can be handled by most tools. Since it is autogenerated, you cannot postprocess it in any meaningful way (too many coordinates). > > If you find this 2d->3d conversion helpfull, you may like to add an additional center cube to hull() to get a closed volume. > > Instructions: > In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file name. > Run as > > python3 stl_to_polyhedron.py >tree_with_mushrooms.scad > > > @mailinglist: > What is the correct call for a command line OpenSCAD to read a source file and auto generate an STL? > > Cheers, > Marcus >
LM
Leonard Martin Struttmann
Sun, Sep 15, 2024 9:11 PM

Try googling how to add python to path

On Sun, Sep 15, 2024, 3:45 PM jon jonbondy.com via Discuss <
discuss@lists.openscad.org> wrote:

Never mind.  I found and installed Python, 3.126, from here:

https://www.python.org/downloads/release/python-3126/

After installation, typing "py" at a command line does not work. Typing
"python" brings me to the Microsoft Store.  Typing "python3" brings me
top the MS store.  Typing "python3.12" does not work.  Typing
"python3.12.6" does not work.

On 9/15/2024 4:22 PM, Marcus Poller wrote:

Hi Jon,

I scanned some mushrooms on a tree with a 3D scanner, so I have a

surface,

but the object is not closed, solid, or manifold.  Any tips about how to
take a surface and add structure to it behind to enable it to be

printed?

I am glad you ask.

(1) it will hurt.

(2) you may like my very experimental workaround.

Let's discuss your options first: Can your slicer deal with the 2d

surface and generate a printed result? You would prefer that option.

Here is the idea: Most 3d scanners produce an STL. STL is a list of

triangles in 3d space.

Your triangles are supposed to form a closed volume...
... which they aren't
... that is why you can't process the file with any tool.

If instead of using three coordinates to build a triangle...
... let us use three cubes on these coordinates to build a volume.

Run your STL through the attached script. It will generate an

OpenSCAD-shape using translate() cube() and hull()

. You can render this shape to get a volume.
Depending on the amount of coordinates, it will take minutes to hours to

render your scan. You will not be able to alter the camera angle in
preview. You will not be able to zoom in preview.

That will convert your 2d surface area into a 3d volume, that can be

handled by most tools. Since it is autogenerated, you cannot postprocess it
in any meaningful way (too many coordinates).

If you find this 2d->3d conversion helpfull, you may like to add an

additional center cube to hull() to get a closed volume.

Instructions:
In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file

name.

Run as

  python3 stl_to_polyhedron.py >tree_with_mushrooms.scad

@mailinglist:
What is the correct call for a command line OpenSCAD to read a source

file and auto generate an STL?

Cheers,
Marcus


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

Try googling how to add python to path On Sun, Sep 15, 2024, 3:45 PM jon jonbondy.com via Discuss < discuss@lists.openscad.org> wrote: > Never mind. I found and installed Python, 3.126, from here: > > https://www.python.org/downloads/release/python-3126/ > > After installation, typing "py" at a command line does not work. Typing > "python" brings me to the Microsoft Store. Typing "python3" brings me > top the MS store. Typing "python3.12" does not work. Typing > "python3.12.6" does not work. > > > On 9/15/2024 4:22 PM, Marcus Poller wrote: > > Hi Jon, > > > >> I scanned some mushrooms on a tree with a 3D scanner, so I have a > surface, > >> but the object is not closed, solid, or manifold. Any tips about how to > >> take a surface and add structure to it behind to enable it to be > printed? > > I am glad you ask. > > > > (1) it will hurt. > > > > (2) you may like my very experimental workaround. > > > > Let's discuss your options first: Can your slicer deal with the 2d > surface and generate a printed result? You would prefer that option. > > > > Here is the idea: Most 3d scanners produce an STL. STL is a list of > triangles in 3d space. > > Your triangles are supposed to form a closed volume... > > ... which they aren't > > ... that is why you can't process the file with any tool. > > > > If instead of using three coordinates to build a triangle... > > ... let us use three cubes on these coordinates to build a volume. > > > > Run your STL through the attached script. It will generate an > OpenSCAD-shape using translate() cube() and hull() > > . You can render this shape to get a volume. > > Depending on the amount of coordinates, it will take minutes to hours to > render your scan. You will not be able to alter the camera angle in > preview. You will not be able to zoom in preview. > > That will convert your 2d surface area into a 3d volume, that can be > handled by most tools. Since it is autogenerated, you cannot postprocess it > in any meaningful way (too many coordinates). > > > > If you find this 2d->3d conversion helpfull, you may like to add an > additional center cube to hull() to get a closed volume. > > > > Instructions: > > In the file stl_to_polyhedron.py replace "zoe4.stl" with your STL-file > name. > > Run as > > > > python3 stl_to_polyhedron.py >tree_with_mushrooms.scad > > > > > > @mailinglist: > > What is the correct call for a command line OpenSCAD to read a source > file and auto generate an STL? > > > > Cheers, > > Marcus > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
MP
Marcus Poller
Tue, Sep 17, 2024 10:48 AM

Hi Jon,

Never mind.  I found and installed Python, 3.126, from here:
After installation, typing "py" at a command line does not work.

I cannot support Python remotely, I do not support Windows at all.
I can offer: Send me your STL (preferably upload it and send me a download link) and I will process it for you.

Cheers,
Marcus

Hi Jon, > Never mind.  I found and installed Python, 3.126, from here: > After installation, typing "py" at a command line does not work. I cannot support Python remotely, I do not support Windows at all. I can offer: Send me your STL (preferably upload it and send me a download link) and I will process it for you. Cheers, Marcus