discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: YAPDOR (yet another part disappears on render) question

J
jon
Tue, Nov 9, 2021 11:43 PM

When I run (F5) your code (using the 2021.01 version of OpenSCAD) I see
the following:

Rendering Polygon Mesh using CGAL...
ERROR: The given mesh is not closed! Unable to convert to
CGAL_Nef_Polyhedron.
Geometries in cache: 6
Geometry cache size in bytes: 26272

I tried commenting out one() and then two() and then tried an F6.  It
all seems to work fine now.  I imagine something is in the cache which
is changing the original behavior (with ERROR).

A bit puzzling but I see this now with F6, and without error messages...

Jon

On 11/9/2021 6:26 PM, Gryffyn via Discuss wrote:

one();
two();

module one() {
    // stick
    echo("Starting ONE");
    translate([0, 0, 0])
    linear_extrude(height=16)
    polygon(points= [[0, 0],[-0.250000011875, -0.25000000096],[0,
-0.50000000101],[0.24999999732, -0.25000000096],[0, 0]]);
    echo("Finishing ONE");
}

module two() {
    echo("objpoints TWO start");
    // small one
    obj_points1 =[[-1.750000003085, -1.500000001215],[-0.250000011875,
-1.000000000205],[-0.500000009195, -1.250000001165],[-0.250000011875,
-1.000000000205],[0, -1.000000000205],[0,
-1.750000000355],[0.24999999732, -1.250000001165],[0.24999999732,
-1.750000000355],[0.24999999732, -1.000000000205],[0.24999999732,
-1.250000001165],[0.24999999732, -1.000000000205],[0.999999996565,
-1.000000000205],[1.24999999389, -1.250000001165],[0.999999996565,
-1.000000000205],[1.74999999581, -1.250000001165],[1.49999999121,
-1.250000001165],[0.999999996565, -1.000000000205],[1.24999999389,
-1.000000000205],[0.999999996565, -0.750000000155],[0.749999999245,
-0.50000000101],[0.999999996565, -0.50000000101],[1.74999999581,
-0.50000000101],[1.24999999389, -0.25000000096],[1.74999999581,
0],[0.999999996565, -0.25000000096],[1.49999999121,
0],[0.749999999245, -0.25000000096],[0.749999999245,
-0.25000000096],[0.999999996565, 0.24999999914],[0.999999996565,
0.49999999919],[1.24999999389, 0.749999999245],[0.999999996565,
0.49999999919],[1.24999999389, 0.999999999295],[0.24999999732,
0.24999999914],[0.499999994645, 1.249999999345],[0.24999999732,
0.999999999295],[0.24999999732, 1.249999999345],[0.24999999732,
0.49999999919],[0.24999999732, 0.49999999919],[0, 0.749999999245],[0,
0.24999999914],[0, 0.24999999914],[-0.75000000652,
1.249999999345],[-0.250000011875, 0.49999999919],[-0.500000009195,
0.49999999919],[-0.75000000652, 0.999999999295],[-0.75000000652,
0.749999999245],[-0.75000000652, 0.749999999245],[-0.75000000652,
0.49999999919],[-0.500000009195, 0.49999999919],[-0.75000000652,
0.49999999919],[-0.500000009195, 0.24999999914],[-0.250000011875,
0],[-0.500000009195, 0],[-1.500000005765,
0.24999999914],[-0.75000000652, 0],[-0.75000000652,
0],[-1.00000000384, 0],[-0.75000000652,
-0.25000000096],[-1.500000005765, -0.50000000101],[-0.500000009195,
-0.50000000101],[-1.500000005765, -1.000000000205],[-0.75000000652,
-0.750000000155],[-1.750000003085, -1.500000001215],[-0.250000011875,
-0.25000000096],[0, 0],[0.24999999732, -0.25000000096],[0,
-0.50000000101],[-0.250000011875, -0.25000000096]];
    echo("objpoints TWO end");
    echo("objpaths TWO start");
    obj_paths1
=[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]];
    echo("objpaths TWO end");
    echo("Starting TWO");
    // FAILS
    translate([0, 0, 2])
    linear_extrude(height=0.2)
    polygon(obj_points1, obj_paths1);
    echo("Finishing TWO");
}

When I run (F5) your code (using the 2021.01 version of OpenSCAD) I see the following: Rendering Polygon Mesh using CGAL... ERROR: The given mesh is not closed! Unable to convert to CGAL_Nef_Polyhedron. Geometries in cache: 6 Geometry cache size in bytes: 26272 I tried commenting out one() and then two() and then tried an F6.  It all seems to work fine now.  I imagine something is in the cache which is changing the original behavior (with ERROR). A bit puzzling but I see this now with F6, and without error messages... Jon On 11/9/2021 6:26 PM, Gryffyn via Discuss wrote: > > one(); > two(); > > module one() { >     // stick >     echo("Starting ONE"); >     translate([0, 0, 0]) >     linear_extrude(height=16) >     polygon(points= [[0, 0],[-0.250000011875, -0.25000000096],[0, > -0.50000000101],[0.24999999732, -0.25000000096],[0, 0]]); >     echo("Finishing ONE"); > } > > module two() { >     echo("objpoints TWO start"); >     // small one >     obj_points1 =[[-1.750000003085, -1.500000001215],[-0.250000011875, > -1.000000000205],[-0.500000009195, -1.250000001165],[-0.250000011875, > -1.000000000205],[0, -1.000000000205],[0, > -1.750000000355],[0.24999999732, -1.250000001165],[0.24999999732, > -1.750000000355],[0.24999999732, -1.000000000205],[0.24999999732, > -1.250000001165],[0.24999999732, -1.000000000205],[0.999999996565, > -1.000000000205],[1.24999999389, -1.250000001165],[0.999999996565, > -1.000000000205],[1.74999999581, -1.250000001165],[1.49999999121, > -1.250000001165],[0.999999996565, -1.000000000205],[1.24999999389, > -1.000000000205],[0.999999996565, -0.750000000155],[0.749999999245, > -0.50000000101],[0.999999996565, -0.50000000101],[1.74999999581, > -0.50000000101],[1.24999999389, -0.25000000096],[1.74999999581, > 0],[0.999999996565, -0.25000000096],[1.49999999121, > 0],[0.749999999245, -0.25000000096],[0.749999999245, > -0.25000000096],[0.999999996565, 0.24999999914],[0.999999996565, > 0.49999999919],[1.24999999389, 0.749999999245],[0.999999996565, > 0.49999999919],[1.24999999389, 0.999999999295],[0.24999999732, > 0.24999999914],[0.499999994645, 1.249999999345],[0.24999999732, > 0.999999999295],[0.24999999732, 1.249999999345],[0.24999999732, > 0.49999999919],[0.24999999732, 0.49999999919],[0, 0.749999999245],[0, > 0.24999999914],[0, 0.24999999914],[-0.75000000652, > 1.249999999345],[-0.250000011875, 0.49999999919],[-0.500000009195, > 0.49999999919],[-0.75000000652, 0.999999999295],[-0.75000000652, > 0.749999999245],[-0.75000000652, 0.749999999245],[-0.75000000652, > 0.49999999919],[-0.500000009195, 0.49999999919],[-0.75000000652, > 0.49999999919],[-0.500000009195, 0.24999999914],[-0.250000011875, > 0],[-0.500000009195, 0],[-1.500000005765, > 0.24999999914],[-0.75000000652, 0],[-0.75000000652, > 0],[-1.00000000384, 0],[-0.75000000652, > -0.25000000096],[-1.500000005765, -0.50000000101],[-0.500000009195, > -0.50000000101],[-1.500000005765, -1.000000000205],[-0.75000000652, > -0.750000000155],[-1.750000003085, -1.500000001215],[-0.250000011875, > -0.25000000096],[0, 0],[0.24999999732, -0.25000000096],[0, > -0.50000000101],[-0.250000011875, -0.25000000096]]; >     echo("objpoints TWO end"); >     echo("objpaths TWO start"); >     obj_paths1 > =[[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]]; >     echo("objpaths TWO end"); >     echo("Starting TWO"); >     // FAILS >     translate([0, 0, 2]) >     linear_extrude(height=0.2) >     polygon(obj_points1, obj_paths1); >     echo("Finishing TWO"); > }