discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Rendering fails (difference between F5 and F6)

JJ
Johan Jonker
Tue, Dec 8, 2015 9:54 PM

A strange problem.
F5 gives a good result (see first image).
F6 seems to forget the main part of the object.

This is my code:
/
difference()
{
union()
{
difference()
{
import("C:\Users\Eigenaar\Documents\Mijn 3D
design\basklarinetbeker buiten v4.stl", convexity = 5);
import("C:\Users\Eigenaar\Documents\Mijn 3D
design\basklarinetbeker binnen v4.stl", convexity = 5);

    }
    translate([0,0,-155]) 
    {
        cylinder(5,(d_btm_inside +d_btm_wall/2)/2, (d_btm_inside

+d_btm_wall/2)/2);
}
}
translate([0,0,-160]) cylinder(11,d_btm_inside/2, d_btm_inside/2);
}/

F5 result:
http://forum.openscad.org/file/n15041/render2.jpg
F6 result:
http://forum.openscad.org/file/n15041/render3.jpg

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

A strange problem. F5 gives a good result (see first image). F6 seems to forget the main part of the object. This is my code: / difference() { union() { difference() { import("C:\\Users\\Eigenaar\\Documents\\Mijn 3D design\\basklarinetbeker buiten v4.stl", convexity = 5); import("C:\\Users\\Eigenaar\\Documents\\Mijn 3D design\\basklarinetbeker binnen v4.stl", convexity = 5); } translate([0,0,-155]) { cylinder(5,(d_btm_inside +d_btm_wall/2)/2, (d_btm_inside +d_btm_wall/2)/2); } } translate([0,0,-160]) cylinder(11,d_btm_inside/2, d_btm_inside/2); }/ F5 result: <http://forum.openscad.org/file/n15041/render2.jpg> F6 result: <http://forum.openscad.org/file/n15041/render3.jpg> -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041.html Sent from the OpenSCAD mailing list archive at Nabble.com.
JJ
Johan Jonker
Tue, Dec 8, 2015 9:56 PM

When I change convexity into 6 (don't now why, just trying something.

I get the following error messages:

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: pe_prev->is_border() ||
!internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate()
File:
/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h
Line: 251
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: pe_prev->is_border() ||
!internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate()
File:
/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h
Line: 251

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15042.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

When I change convexity into 6 (don't now why, just trying something. I get the following error messages: ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: pe_prev->is_border() || !internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate() File: /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h Line: 251 ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: pe_prev->is_border() || !internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate() File: /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h Line: 251 -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15042.html Sent from the OpenSCAD mailing list archive at Nabble.com.
NH
nop head
Tue, Dec 8, 2015 10:02 PM

Odd because AFAIK convexity is only used by OpenCSG and F5. It should not
affect F6.

On 8 December 2015 at 21:56, Johan Jonker johangjonker@zonnet.nl wrote:

When I change convexity into 6 (don't now why, just trying something.

I get the following error messages:

ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: pe_prev->is_border() ||

!internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate()
File:

/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h
Line: 251
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: pe_prev->is_border() ||

!internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate()
File:

/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h
Line: 251

--
View this message in context:
http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15042.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Odd because AFAIK convexity is only used by OpenCSG and F5. It should not affect F6. On 8 December 2015 at 21:56, Johan Jonker <johangjonker@zonnet.nl> wrote: > When I change convexity into 6 (don't now why, just trying something. > > I get the following error messages: > > ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion > violation! Expr: pe_prev->is_border() || > > !internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate() > File: > > /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h > Line: 251 > ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion > violation! Expr: pe_prev->is_border() || > > !internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate() > File: > > /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h > Line: 251 > > > > -- > View this message in context: > http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15042.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
JJ
Johan Jonker
Tue, Dec 8, 2015 11:22 PM

I tried to see if the two imported files need repair.
Meshlab detects some holes and other things, but I can't find and fix them.

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15044.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I tried to see if the two imported files need repair. Meshlab detects some holes and other things, but I can't find and fix them. -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15044.html Sent from the OpenSCAD mailing list archive at Nabble.com.
MK
Marius Kintel
Wed, Dec 9, 2015 5:30 AM

Hi Johan,

This could be related to this FAQ entry, which describes how to repair such things in Meshlab:
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/FAQ#Why_is_my_imported_STL_file_only_showing_up_with_F5_but_not_F6.3F

-Marius

Hi Johan, This could be related to this FAQ entry, which describes how to repair such things in Meshlab: https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/FAQ#Why_is_my_imported_STL_file_only_showing_up_with_F5_but_not_F6.3F -Marius
JJ
Johan Jonker
Wed, Dec 9, 2015 7:17 AM

Hi Kintel,

Thanks for that. It help a lot,. Not I am half way:

One part of the imports is giving an error:

ERROR: CGAL error in CGALUtils::applyBinaryOperator difference: CGAL ERROR:
assertion violation! Expr: itl != it->second.end() File:
/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1102

http://forum.openscad.org/file/n15057/f5f6.jpg

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15057.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Kintel, Thanks for that. It help a lot,. Not I am half way: One part of the imports is giving an error: ERROR: CGAL error in CGALUtils::applyBinaryOperator difference: CGAL ERROR: assertion violation! Expr: itl != it->second.end() File: /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/SNC_external_structure.h Line: 1102 <http://forum.openscad.org/file/n15057/f5f6.jpg> -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15057.html Sent from the OpenSCAD mailing list archive at Nabble.com.
JJ
Johan Jonker
Wed, Dec 9, 2015 8:02 AM

Also an attempt with nettfab did not work.
But that tool is completely new to me, maybe I don't use it in the right
way.

I see some coloured parts on the object. It that a problem? What to do with
that?
http://forum.openscad.org/file/n15058/netfabb.jpg

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15058.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Also an attempt with nettfab did not work. But that tool is completely new to me, maybe I don't use it in the right way. I see some coloured parts on the object. It that a problem? What to do with that? <http://forum.openscad.org/file/n15058/netfabb.jpg> -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15058.html Sent from the OpenSCAD mailing list archive at Nabble.com.
MK
Marius Kintel
Wed, Dec 9, 2015 3:51 PM

Looks like the object imported OK now, which is good.
I don’t know what the next problem is - this is an internal error thrown from a 3rd party library.
We could investigate it if you share your files.

Even better: If you could modify the STL files into the smallest possible files still exhibiting this behavior, that would greatly increase the changes for someone looking at it, as such debugging is very time consuming.

-Marius

On Dec 9, 2015, at 02:17 AM, Johan Jonker johangjonker@zonnet.nl wrote:

Hi Kintel,

Thanks for that. It help a lot,. Not I am half way:

One part of the imports is giving an error:

ERROR: CGAL error in CGALUtils::applyBinaryOperator difference: CGAL ERROR:
assertion violation! Expr: itl != it->second.end() File:
/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/SNC_external_structure.h
Line: 1102

http://forum.openscad.org/file/n15057/f5f6.jpg

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15057.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Looks like the object imported OK now, which is good. I don’t know what the next problem is - this is an internal error thrown from a 3rd party library. We could investigate it if you share your files. Even better: If you could modify the STL files into the smallest possible files still exhibiting this behavior, that would greatly increase the changes for someone looking at it, as such debugging is very time consuming. -Marius > On Dec 9, 2015, at 02:17 AM, Johan Jonker <johangjonker@zonnet.nl> wrote: > > Hi Kintel, > > Thanks for that. It help a lot,. Not I am half way: > > One part of the imports is giving an error: > > ERROR: CGAL error in CGALUtils::applyBinaryOperator difference: CGAL ERROR: > assertion violation! Expr: itl != it->second.end() File: > /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/SNC_external_structure.h > Line: 1102 > > <http://forum.openscad.org/file/n15057/f5f6.jpg> > > > > -- > View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15057.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
JJ
Johan Jonker
Wed, Dec 9, 2015 10:31 PM

Hello Kintel,

The files can be found here:
http://sax.jonker.co/techniek/288-ontwerpen-van-de-beker-van-een-bas-klarinet.html

I change fn to 10 and then increased it until the problem occured.
When fn was 60 the problem occured.
I am sorry these files are 6M bytes.

The first file is the Openscad file producing the outside en inside of the
bell.
The last file is the one I use to substract them.

The error I now get is:
ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion
violation! Expr: pe_prev->is_border() ||
!internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate()
File:
/data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h
Line: 293

thanks

Johan

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15070.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hello Kintel, The files can be found here: http://sax.jonker.co/techniek/288-ontwerpen-van-de-beker-van-een-bas-klarinet.html I change fn to 10 and then increased it until the problem occured. When fn was 60 the problem occured. I am sorry these files are 6M bytes. The first file is the Openscad file producing the outside en inside of the bell. The last file is the one I use to substract them. The error I now get is: ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: pe_prev->is_border() || !internal::Plane_constructor::get_plane(pe_prev->facet(),pe_prev->facet()->plane()).is_degenerate() File: /data/OpenSCAD/libraries-mingw64-master/mxe-w64/usr/x86_64-w64-mingw32.static/include/CGAL/Nef_3/polyhedron_3_to_nef_3.h Line: 293 thanks Johan -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15070.html Sent from the OpenSCAD mailing list archive at Nabble.com.
JJ
Johan Jonker
Wed, Dec 9, 2015 10:43 PM

Another thing:

I tried Meshlab.
and used the filter Remove T-vertices by Edge Collapse.
That did not help.

--
View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15071.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Another thing: I tried Meshlab. and used the filter Remove T-vertices by Edge Collapse. That did not help. -- View this message in context: http://forum.openscad.org/Rendering-fails-difference-between-F5-and-F6-tp15041p15071.html Sent from the OpenSCAD mailing list archive at Nabble.com.