Anybody know what ss_circle.has_on(sp) means?

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Anybody know what ss_circle.has_on(sp) means?

nophead
I am getting this error from a fairly simple polyhedron when CGAL operates on it. It looks fine in the thrown together view and I think the code used to work in older versions of OpenSCAD. I don't remember seeing this error before but I could be wrong about that.


ERROR: CGAL error in CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: ss_circle.has_on(sp) File: /opt/mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_3/polygon_mesh_to_nef_3.h Line: 263


If I export it as an STL before involving CGAL and import it I can use it with CGAL. So whatever the problem is STL export cleans it up.


polyhedron(points = 

    [[0, 10, 0], [10, 0, 0], [0, -10, 0], [-10, 0, 0], [0, 10, 100], [9.80581, 0, 98.0388], [0, -10, 100], [-9.80581, 0, 101.961], [30, 10, 150], [38.5749, 0, 144.855], [30, -10, 150], [21.4251, 0, 155.145]], 

  faces = [[3, 2, 1, 0], [0, 1, 5, 4], [4, 5, 9, 8], [1, 2, 6, 5], [5, 6, 10, 9], [2, 3, 7, 6], [6, 7, 11, 10], [3, 0, 4, 7], [7, 4, 8, 11], [8, 9, 10, 11]]);


Perhaps it doesn't like quads because they will be triangles when read from STL.



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

Parkinbot
On 2017.1.20 it renders without any probs




--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

nophead
Will it union with a unit cube though?

On 3 December 2017 at 10:03, Parkinbot <[hidden email]> wrote:
On 2017.1.20 it renders without any probs




--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

Parkinbot
sorry forgot to tell this. Yes!



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

nophead
Thanks. So looks like a regression then as I am on Windows snapshot version 2017.11.12 (git 7cb1e93).



On 3 December 2017 at 11:05, Parkinbot <[hidden email]> wrote:
sorry forgot to tell this. Yes!



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

nophead
Seems to be this as my library info shows CGAL 4.10: https://github.com/openscad/openscad/issues/2139

On 3 December 2017 at 11:23, nop head <[hidden email]> wrote:
Thanks. So looks like a regression then as I am on Windows snapshot version 2017.11.12 (git 7cb1e93).



On 3 December 2017 at 11:05, Parkinbot <[hidden email]> wrote:
sorry forgot to tell this. Yes!



--
Sent from: http://forum.openscad.org/

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

kintel
Administrator
> On Dec 3, 2017, at 7:09 AM, nop head <[hidden email]> wrote:
>
> Seems to be this as my library info shows CGAL 4.10: https://github.com/openscad/openscad/issues/2139
>
That sounds likely; CGAL used to have a precondition check for planar faces, but they removed this in CGAL-4.10, causing the polyhedron builder to fail later in the process if given slightly non-planar polygons (note: I guess most polygons are technically non-planar when specified using floating point numbers).

Since we don’t know exactly what CGAL accepts, we catch the exceptions thrown from CGAL and rebuild the polyhedron using triangles if it fails.
..but we don’t yet know exactly what exceptions are caused by non-planar input..

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

nophead
I converted my quads to triangles and forced my end caps to be exactly planer polygons and it works. So the latest Windows snapshot was released with this regression.The test suite appears to catch it so it appears not to have been tested.

On 3 December 2017 at 17:50, Marius Kintel <[hidden email]> wrote:
> On Dec 3, 2017, at 7:09 AM, nop head <[hidden email]> wrote:
>
> Seems to be this as my library info shows CGAL 4.10: https://github.com/openscad/openscad/issues/2139
>
That sounds likely; CGAL used to have a precondition check for planar faces, but they removed this in CGAL-4.10, causing the polyhedron builder to fail later in the process if given slightly non-planar polygons (note: I guess most polygons are technically non-planar when specified using floating point numbers).

Since we don’t know exactly what CGAL accepts, we catch the exceptions thrown from CGAL and rebuild the polyhedron using triangles if it fails.
..but we don’t yet know exactly what exceptions are caused by non-planar input..

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

kintel
Administrator
> On Dec 3, 2017, at 1:31 PM, nop head <[hidden email]> wrote:
>
> I converted my quads to triangles and forced my end caps to be exactly planer polygons and it works. So the latest Windows snapshot was released with this regression.The test suite appears to catch it so it appears not to have been tested.
>
We don’t test productions builds, and we don’t currently run tests on Windows, so anything triggered by 3rd party libraries rely on Travis CI being run against those libraries.

Can you reproduce this using the test suite locally?

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Reply | Threaded
Open this post in threaded view
|

Re: Anybody know what ss_circle.has_on(sp) means?

nophead
I can try when I get home. I am in Tenerife at the moment. I don't have the dev setup on this laptop. It uses a hell of lot of disk space.

On 3 December 2017 at 18:35, Marius Kintel <[hidden email]> wrote:
> On Dec 3, 2017, at 1:31 PM, nop head <[hidden email]> wrote:
>
> I converted my quads to triangles and forced my end caps to be exactly planer polygons and it works. So the latest Windows snapshot was released with this regression.The test suite appears to catch it so it appears not to have been tested.
>
We don’t test productions builds, and we don’t currently run tests on Windows, so anything triggered by 3rd party libraries rely on Travis CI being run against those libraries.

Can you reproduce this using the test suite locally?

 -Marius


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org