discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Not sure what this error is

JW
Joe Weinpert
Sat, Apr 2, 2022 1:00 AM

An STL file is imported, previewed, and rendered without  a problem but
when I import it twice, offsetting the 2nd one to add to the first one
(just a duplicated pattern) then the error pops up when rendering.

Why can I render when it is only imported once?

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: e_below != SHalfedge_handle() File:
/mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 426

An STL file is imported, previewed, and rendered without a problem but when I import it twice, offsetting the 2nd one to add to the first one (just a duplicated pattern) then the error pops up when rendering. Why can I render when it is only imported once? ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e_below != SHalfedge_handle() File: /mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_3/SNC_FM_decorator.h Line: 426
JB
Jordan Brown
Sat, Apr 2, 2022 2:29 AM

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

 Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never
get an error like this, because if there's only just that one object
then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second
object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard that
would be.

On 4/1/2022 6:00 PM, Joe Weinpert wrote: > An STL file is imported, previewed, and rendered without  a problem > but when I import it twice, offsetting the 2nd one to add to the > first one (just a duplicated pattern) then the error pops up when > rendering. Your STL is malformed. >  Why can I render when it is only imported once? As a general rule, a single import or a single polyhedron() will never get an error like this, because if there's only just that one object then it's not necessary to run the fancy processing over it. You'll probably find that you'll get an error no matter what the second object is - even a lowly cube(). I think we'd be better off if we forced that processing, so that a single malformed object would get the error.  I don't know how hard that would be.
JW
Joe Weinpert
Sat, Apr 2, 2022 3:36 AM

Ok, thanks.

On Fri, Apr 1, 2022 at 10:29 PM Jordan Brown openscad@jordan.maileater.net
wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem but
when I import it twice, offsetting the 2nd one to add to the first one
(just a duplicated pattern) then the error pops up when rendering.

Your STL is malformed.

Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never get
an error like this, because if there's only just that one object then it's
not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second
object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a single
malformed object would get the error.  I don't know how hard that would be.

Ok, thanks. On Fri, Apr 1, 2022 at 10:29 PM Jordan Brown <openscad@jordan.maileater.net> wrote: > On 4/1/2022 6:00 PM, Joe Weinpert wrote: > > An STL file is imported, previewed, and rendered without a problem but > when I import it twice, offsetting the 2nd one to add to the first one > (just a duplicated pattern) then the error pops up when rendering. > > > Your STL is malformed. > > Why can I render when it is only imported once? > > > As a general rule, a single import or a single polyhedron() will never get > an error like this, because if there's only just that one object then it's > not necessary to run the fancy processing over it. > > You'll probably find that you'll get an error no matter what the second > object is - even a lowly cube(). > > I think we'd be better off if we forced that processing, so that a single > malformed object would get the error. I don't know how hard that would be. > >
J
jon
Sat, Apr 2, 2022 10:41 AM

"I think we'd be better off if we forced that processing, so that a
single malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who
import STLs for the first time.

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

 Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never
get an error like this, because if there's only just that one object
then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the
second object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard
that would be.

"I think we'd be better off if we forced that processing, so that a single malformed object would get the error." I agree with Jordan.  We see a lot of these crop up with users who import STLs for the first time. On 4/1/2022 10:29 PM, Jordan Brown wrote: > On 4/1/2022 6:00 PM, Joe Weinpert wrote: >> An STL file is imported, previewed, and rendered without  a problem >> but when I import it twice, offsetting the 2nd one to add to the >> first one (just a duplicated pattern) then the error pops up when >> rendering. > > Your STL is malformed. > >>  Why can I render when it is only imported once? > > As a general rule, a single import or a single polyhedron() will never > get an error like this, because if there's only just that one object > then it's not necessary to run the fancy processing over it. > > You'll probably find that you'll get an error no matter what the > second object is - even a lowly cube(). > > I think we'd be better off if we forced that processing, so that a > single malformed object would get the error.  I don't know how hard > that would be.
RW
Raymond West
Sat, Apr 2, 2022 12:10 PM

I think it should be a warning message, and one that is persistent until
the object is corrected. the message should be visible  every time you
do an f5 or f6. If the software knows there is an error, would it also
know what the error is and where it is? Even with a malformed stl, you
can still scale it in openscad, whereas I believe an error message
allows nothing until the error is corrected.

On 02/04/2022 11:41, jon wrote:

"I think we'd be better off if we forced that processing, so that a
single malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who
import STLs for the first time.

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

 Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will
never get an error like this, because if there's only just that one
object then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the
second object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard
that would be.


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

I think it should be a warning message, and one that is persistent until the object is corrected. the message should be visible  every time you do an f5 or f6. If the software knows there is an error, would it also know what the error is and where it is? Even with a malformed stl, you can still scale it in openscad, whereas I believe an error message allows nothing until the error is corrected. On 02/04/2022 11:41, jon wrote: > > "I think we'd be better off if we forced that processing, so that a > single malformed object would get the error." > > I agree with Jordan.  We see a lot of these crop up with users who > import STLs for the first time. > > > On 4/1/2022 10:29 PM, Jordan Brown wrote: >> On 4/1/2022 6:00 PM, Joe Weinpert wrote: >>> An STL file is imported, previewed, and rendered without  a problem >>> but when I import it twice, offsetting the 2nd one to add to the >>> first one (just a duplicated pattern) then the error pops up when >>> rendering. >> >> Your STL is malformed. >> >>>  Why can I render when it is only imported once? >> >> As a general rule, a single import or a single polyhedron() will >> never get an error like this, because if there's only just that one >> object then it's not necessary to run the fancy processing over it. >> >> You'll probably find that you'll get an error no matter what the >> second object is - even a lowly cube(). >> >> I think we'd be better off if we forced that processing, so that a >> single malformed object would get the error.  I don't know how hard >> that would be. > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
RW
Rogier Wolff
Sat, Apr 2, 2022 1:42 PM

On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote:

"I think we'd be better off if we forced that processing, so that a single
malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who import
STLs for the first time.

We see lots of broken STLs that get accepted in other programs.

Would it be an idea to add a simple filter?

  1. for all points:
    after snapping-to-grid:
    If it is a duplcate:
    note that vertex-X maps to vertex-Y.

  2. For all triangles:
    if a vertex-reference
    refers to a vertex on the duplicates list, use the linked vertex.
    if a triangle has two the same vertex references: remove it.

This solves only one of the possible problems with an STL.
Maybe other filters can be added later.

Another option is to allow for an external program to process incoming
STLs. And then to promote using an external STL-fixer in that spot.

Roger. 

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

 Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never
get an error like this, because if there's only just that one object
then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second
object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard that
would be.


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

--
** 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, Apr 02, 2022 at 06:41:29AM -0400, jon wrote: > "I think we'd be better off if we forced that processing, so that a single > malformed object would get the error." > > I agree with Jordan.  We see a lot of these crop up with users who import > STLs for the first time. We see lots of broken STLs that get accepted in other programs. Would it be an idea to add a simple filter? 1) for all points: after snapping-to-grid: If it is a duplcate: note that vertex-X maps to vertex-Y. 2) For all triangles: if a vertex-reference refers to a vertex on the duplicates list, use the linked vertex. if a triangle has two the same vertex references: remove it. This solves only one of the possible problems with an STL. Maybe other filters can be added later. Another option is to allow for an external program to process incoming STLs. And then to promote using an external STL-fixer in that spot. Roger. > > On 4/1/2022 10:29 PM, Jordan Brown wrote: > > On 4/1/2022 6:00 PM, Joe Weinpert wrote: > > > An STL file is imported, previewed, and rendered without  a problem > > > but when I import it twice, offsetting the 2nd one to add to the > > > first one (just a duplicated pattern) then the error pops up when > > > rendering. > > > > Your STL is malformed. > > > > >  Why can I render when it is only imported once? > > > > As a general rule, a single import or a single polyhedron() will never > > get an error like this, because if there's only just that one object > > then it's not necessary to run the fancy processing over it. > > > > You'll probably find that you'll get an error no matter what the second > > object is - even a lowly cube(). > > > > I think we'd be better off if we forced that processing, so that a > > single malformed object would get the error.  I don't know how hard that > > would be. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org -- ** 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.
NH
nop head
Sat, Apr 2, 2022 1:58 PM

The difficult thing to fix is self-intersections.

On Sat, 2 Apr 2022 at 14:42, Rogier Wolff R.E.Wolff@bitwizard.nl wrote:

On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote:

"I think we'd be better off if we forced that processing, so that a

single

malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who import
STLs for the first time.

We see lots of broken STLs that get accepted in other programs.

Would it be an idea to add a simple filter?

  1. for all points:
    after snapping-to-grid:
    If it is a duplcate:
    note that vertex-X maps to vertex-Y.

  2. For all triangles:
    if a vertex-reference
    refers to a vertex on the duplicates list, use the linked vertex.
    if a triangle has two the same vertex references: remove it.

This solves only one of the possible problems with an STL.
Maybe other filters can be added later.

Another option is to allow for an external program to process incoming
STLs. And then to promote using an external STL-fixer in that spot.

     Roger.

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never
get an error like this, because if there's only just that one object
then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second
object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard

that

would be.


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

--
** 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.


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

The difficult thing to fix is self-intersections. On Sat, 2 Apr 2022 at 14:42, Rogier Wolff <R.E.Wolff@bitwizard.nl> wrote: > On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote: > > "I think we'd be better off if we forced that processing, so that a > single > > malformed object would get the error." > > > > I agree with Jordan. We see a lot of these crop up with users who import > > STLs for the first time. > > We see lots of broken STLs that get accepted in other programs. > > Would it be an idea to add a simple filter? > > 1) > for all points: > after snapping-to-grid: > If it is a duplcate: > note that vertex-X maps to vertex-Y. > > 2) For all triangles: > if a vertex-reference > refers to a vertex on the duplicates list, use the linked vertex. > if a triangle has two the same vertex references: remove it. > > > This solves only one of the possible problems with an STL. > Maybe other filters can be added later. > > Another option is to allow for an external program to process incoming > STLs. And then to promote using an external STL-fixer in that spot. > > > Roger. > > > > On 4/1/2022 10:29 PM, Jordan Brown wrote: > > > On 4/1/2022 6:00 PM, Joe Weinpert wrote: > > > > An STL file is imported, previewed, and rendered without a problem > > > > but when I import it twice, offsetting the 2nd one to add to the > > > > first one (just a duplicated pattern) then the error pops up when > > > > rendering. > > > > > > Your STL is malformed. > > > > > > > Why can I render when it is only imported once? > > > > > > As a general rule, a single import or a single polyhedron() will never > > > get an error like this, because if there's only just that one object > > > then it's not necessary to run the fancy processing over it. > > > > > > You'll probably find that you'll get an error no matter what the second > > > object is - even a lowly cube(). > > > > > > I think we'd be better off if we forced that processing, so that a > > > single malformed object would get the error. I don't know how hard > that > > > would be. > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > -- > ** 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. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RD
Revar Desmera
Sat, Apr 2, 2022 6:05 PM

Interesting side thought: if the geom = render() … changes ever get into mainline, it’d be possible to validate and/or repair imported meshes in user-space. BOSL2 already has the validation code. Would get slow for complex meshes though.

-Revar

On Apr 1, 2022, at 7:29 PM, Jordan Brown openscad@jordan.maileater.net wrote:


On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem but when I import it twice, offsetting the 2nd one to add to the first one (just a duplicated pattern) then the error pops up when rendering.

Your STL is malformed.

Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never get an error like this, because if there's only just that one object then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a single malformed object would get the error.  I don't know how hard that would be.


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

Interesting side thought: if the `geom = render() …` changes ever get into mainline, it’d be possible to validate and/or repair imported meshes in user-space. BOSL2 already has the validation code. Would get slow for complex meshes though. -Revar > On Apr 1, 2022, at 7:29 PM, Jordan Brown <openscad@jordan.maileater.net> wrote: > >  > On 4/1/2022 6:00 PM, Joe Weinpert wrote: >> An STL file is imported, previewed, and rendered without a problem but when I import it twice, offsetting the 2nd one to add to the first one (just a duplicated pattern) then the error pops up when rendering. > > Your STL is malformed. > >> Why can I render when it is only imported once? > > As a general rule, a single import or a single polyhedron() will never get an error like this, because if there's only just that one object then it's not necessary to run the fancy processing over it. > > You'll probably find that you'll get an error no matter what the second object is - even a lowly cube(). > > I think we'd be better off if we forced that processing, so that a single malformed object would get the error. I don't know how hard that would be. > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
RW
Rogier Wolff
Sat, Apr 2, 2022 7:22 PM

On Sat, Apr 02, 2022 at 02:58:46PM +0100, nop head wrote:

The difficult thing to fix is self-intersections.

Yes. So

  1. don't have the ambition to fix them.

  2. maybe later someone can find a simple algorithm.

  3. Maybe that doesn't happen often? What would be the common
    STL-error?

    Roger.

On Sat, 2 Apr 2022 at 14:42, Rogier Wolff R.E.Wolff@bitwizard.nl wrote:

On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote:

"I think we'd be better off if we forced that processing, so that a

single

malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who import
STLs for the first time.

We see lots of broken STLs that get accepted in other programs.

Would it be an idea to add a simple filter?

  1. for all points:
    after snapping-to-grid:
    If it is a duplcate:
    note that vertex-X maps to vertex-Y.

  2. For all triangles:
    if a vertex-reference
    refers to a vertex on the duplicates list, use the linked vertex.
    if a triangle has two the same vertex references: remove it.

This solves only one of the possible problems with an STL.
Maybe other filters can be added later.

Another option is to allow for an external program to process incoming
STLs. And then to promote using an external STL-fixer in that spot.

     Roger.

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a problem
but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will never
get an error like this, because if there's only just that one object
then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the second
object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard

that

would be.


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

--
** 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.


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

--
** 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, Apr 02, 2022 at 02:58:46PM +0100, nop head wrote: > The difficult thing to fix is self-intersections. Yes. So 1) don't have the ambition to fix them. 2) maybe later someone can find a simple algorithm. 3) Maybe that doesn't happen often? What would be the common STL-error? Roger. > > On Sat, 2 Apr 2022 at 14:42, Rogier Wolff <R.E.Wolff@bitwizard.nl> wrote: > > > On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote: > > > "I think we'd be better off if we forced that processing, so that a > > single > > > malformed object would get the error." > > > > > > I agree with Jordan. We see a lot of these crop up with users who import > > > STLs for the first time. > > > > We see lots of broken STLs that get accepted in other programs. > > > > Would it be an idea to add a simple filter? > > > > 1) > > for all points: > > after snapping-to-grid: > > If it is a duplcate: > > note that vertex-X maps to vertex-Y. > > > > 2) For all triangles: > > if a vertex-reference > > refers to a vertex on the duplicates list, use the linked vertex. > > if a triangle has two the same vertex references: remove it. > > > > > > This solves only one of the possible problems with an STL. > > Maybe other filters can be added later. > > > > Another option is to allow for an external program to process incoming > > STLs. And then to promote using an external STL-fixer in that spot. > > > > > > Roger. > > > > > > On 4/1/2022 10:29 PM, Jordan Brown wrote: > > > > On 4/1/2022 6:00 PM, Joe Weinpert wrote: > > > > > An STL file is imported, previewed, and rendered without a problem > > > > > but when I import it twice, offsetting the 2nd one to add to the > > > > > first one (just a duplicated pattern) then the error pops up when > > > > > rendering. > > > > > > > > Your STL is malformed. > > > > > > > > > Why can I render when it is only imported once? > > > > > > > > As a general rule, a single import or a single polyhedron() will never > > > > get an error like this, because if there's only just that one object > > > > then it's not necessary to run the fancy processing over it. > > > > > > > > You'll probably find that you'll get an error no matter what the second > > > > object is - even a lowly cube(). > > > > > > > > I think we'd be better off if we forced that processing, so that a > > > > single malformed object would get the error. I don't know how hard > > that > > > > would be. > > > > > _______________________________________________ > > > OpenSCAD mailing list > > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > > > -- > > ** 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. > > _______________________________________________ > > 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 -- ** 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.
NH
nop head
Sat, Apr 2, 2022 8:05 PM

The free Netfabb studio I have will fix holes, degenerate triangles, etc.
You have to pay to fix self intersections though and OpenSCAD will produce
those itself. Most STLs in the wild are broken in my experience.

On Sat, 2 Apr 2022 at 20:22, Rogier Wolff R.E.Wolff@bitwizard.nl wrote:

On Sat, Apr 02, 2022 at 02:58:46PM +0100, nop head wrote:

The difficult thing to fix is self-intersections.

Yes. So

  1. don't have the ambition to fix them.

  2. maybe later someone can find a simple algorithm.

  3. Maybe that doesn't happen often? What would be the common
    STL-error?

     Roger.
    

On Sat, 2 Apr 2022 at 14:42, Rogier Wolff R.E.Wolff@bitwizard.nl

wrote:

On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote:

"I think we'd be better off if we forced that processing, so that a

single

malformed object would get the error."

I agree with Jordan.  We see a lot of these crop up with users who

import

STLs for the first time.

We see lots of broken STLs that get accepted in other programs.

Would it be an idea to add a simple filter?

  1. for all points:
    after snapping-to-grid:
    If it is a duplcate:
    note that vertex-X maps to vertex-Y.

  2. For all triangles:
    if a vertex-reference
    refers to a vertex on the duplicates list, use the linked

vertex.

   if a triangle has two the same vertex references: remove it.

This solves only one of the possible problems with an STL.
Maybe other filters can be added later.

Another option is to allow for an external program to process incoming
STLs. And then to promote using an external STL-fixer in that spot.

     Roger.

On 4/1/2022 10:29 PM, Jordan Brown wrote:

On 4/1/2022 6:00 PM, Joe Weinpert wrote:

An STL file is imported, previewed, and rendered without  a

problem

but when I import it twice, offsetting the 2nd one to add to the
first one (just a duplicated pattern) then the error pops up when
rendering.

Your STL is malformed.

Why can I render when it is only imported once?

As a general rule, a single import or a single polyhedron() will

never

get an error like this, because if there's only just that one

object

then it's not necessary to run the fancy processing over it.

You'll probably find that you'll get an error no matter what the

second

object is - even a lowly cube().

I think we'd be better off if we forced that processing, so that a
single malformed object would get the error.  I don't know how hard

that

would be.


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

+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.


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

--
** 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.


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

The free Netfabb studio I have will fix holes, degenerate triangles, etc. You have to pay to fix self intersections though and OpenSCAD will produce those itself. Most STLs in the wild are broken in my experience. On Sat, 2 Apr 2022 at 20:22, Rogier Wolff <R.E.Wolff@bitwizard.nl> wrote: > On Sat, Apr 02, 2022 at 02:58:46PM +0100, nop head wrote: > > The difficult thing to fix is self-intersections. > > Yes. So > 1) don't have the ambition to fix them. > 2) maybe later someone can find a simple algorithm. > 3) Maybe that doesn't happen often? What would be the common > STL-error? > > Roger. > > > > > On Sat, 2 Apr 2022 at 14:42, Rogier Wolff <R.E.Wolff@bitwizard.nl> > wrote: > > > > > On Sat, Apr 02, 2022 at 06:41:29AM -0400, jon wrote: > > > > "I think we'd be better off if we forced that processing, so that a > > > single > > > > malformed object would get the error." > > > > > > > > I agree with Jordan. We see a lot of these crop up with users who > import > > > > STLs for the first time. > > > > > > We see lots of broken STLs that get accepted in other programs. > > > > > > Would it be an idea to add a simple filter? > > > > > > 1) > > > for all points: > > > after snapping-to-grid: > > > If it is a duplcate: > > > note that vertex-X maps to vertex-Y. > > > > > > 2) For all triangles: > > > if a vertex-reference > > > refers to a vertex on the duplicates list, use the linked > vertex. > > > if a triangle has two the same vertex references: remove it. > > > > > > > > > This solves only one of the possible problems with an STL. > > > Maybe other filters can be added later. > > > > > > Another option is to allow for an external program to process incoming > > > STLs. And then to promote using an external STL-fixer in that spot. > > > > > > > > > Roger. > > > > > > > > On 4/1/2022 10:29 PM, Jordan Brown wrote: > > > > > On 4/1/2022 6:00 PM, Joe Weinpert wrote: > > > > > > An STL file is imported, previewed, and rendered without a > problem > > > > > > but when I import it twice, offsetting the 2nd one to add to the > > > > > > first one (just a duplicated pattern) then the error pops up when > > > > > > rendering. > > > > > > > > > > Your STL is malformed. > > > > > > > > > > > Why can I render when it is only imported once? > > > > > > > > > > As a general rule, a single import or a single polyhedron() will > never > > > > > get an error like this, because if there's only just that one > object > > > > > then it's not necessary to run the fancy processing over it. > > > > > > > > > > You'll probably find that you'll get an error no matter what the > second > > > > > object is - even a lowly cube(). > > > > > > > > > > I think we'd be better off if we forced that processing, so that a > > > > > single malformed object would get the error. I don't know how hard > > > that > > > > > would be. > > > > > > > _______________________________________________ > > > > OpenSCAD mailing list > > > > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > > > > > > -- > > > ** 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. > > > _______________________________________________ > > > 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 > > > -- > ** 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. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >