[OpenSCAD] Getting more information

Dan Shriver tabbydan at gmail.com
Thu Jul 4 17:05:43 EDT 2019


So it seems like I only get the:

DEPRECATED: Using ranges of the form [begin:end] with begin value greater
than the end value is deprecated.

warning under a special case:
and the message appears partway through a bunch of other debug messages
(suggesting it built one structure, and then later hits the error doing the
difference or the later mirror.  Also nothing is drawn because there is a
problem somewhere.
I should mention I DO have loops where start is greater than end, but in
the cases I intend to be that way, I have an index value of -1.   I have
also recoded things so the other case [start: end] always uses [start: 1:
end] when end is intended to be >  start.

difference() {
    arches2(16);
    mirror([0,0,1]) {
       arches2(16,true); //subtract a SOLID version
    }
}
mirror([0,0,1]) {
       arches2(16);
    }

If I do arches2(16)  I can render the object and it looks fine.  Likewise
when I preview -> thrown together that I don't see any purple / pink facets
only purple pink edges.

If I union arches2(16) with a cube I get the: "ERROR: CGAL error in
CGAL_Nef_polyhedron3(): CGAL ERROR: assertion violation! Expr: e_below !=
SHalfedge_handle() File:
/opt/mxe/usr/x86_64-w64-mingw32.static.posix/include/CGAL/Nef_3/SNC_FM_decorator.h
Line: 426" message
I also get that message (twice) if I simply do this:


    arches2(16,2);
mirror([0,0,1]) {
       arches2(16,2);
    }


arches2(16) does a skin over a bunch of 16 vertex polygons (that you can
roughly view as being horsehoes, wishbones, arches).  The second numeric
argument represents a thickness (it has a default value), a boolean
argument (default false) determines if the object is "solid" (that is not
horseshoe shaped but a convex polygon with no concavity, also with fewer
vertices)

So I'm confused how to approach debugging this.

On Thu, Jul 4, 2019 at 2:12 PM A. Craig West <acraigwest at gmail.com> wrote:

> I'm sure I used to get the same warning with for (i = v) as well, but I
> can no longer replicate that behaviour (even in 2015.03)
>
> On Thu, 4 Jul 2019, 14:07 adrianv, <avm4 at cornell.edu> wrote:
>
>> The warning is new in a recent version of the code.  But the code
>> behavior is
>> the same.  If v=[] and you write for(i=[0:len(v)-1]) then the loop will go
>> over -1 and 0.
>>
>>
>> acwest wrote
>> > I think I based my answer on an older version of the code, the case I
>> had
>> > in mind works properly now.
>> >
>> > On Thu, 4 Jul 2019, 13:41 adrianv, <
>>
>> > avm4@
>>
>> > > wrote:
>> >
>> >> acwest wrote
>> >> > On Thu, 4 Jul 2019, 10:28 Dan Shriver, <
>> >>
>> >> > tabbydan@
>> >>
>> >> > > wrote:
>> >> >
>> >> >> Likewise, I sometimes get this warning:
>> >> >>
>> >> >>
>> >> >> DEPRECATED: Using ranges of the form [begin:end] with begin value
>> >> greater
>> >> >> than the end value is deprecated.
>> >> >>
>> >> >>
>> >> >> But I can't see any loop where the starting value is bigger than the
>> >> end
>> >> >> value.
>> >> >>
>> >> >
>> >> > I mostly get this message when I do a for over an empty array. I
>> >> consider
>> >> > this behaviour to be a bug, really
>> >>
>> >> To loop over an empty array you want to write for(i=[0:-1]) and because
>> >> of
>> >> how ranges work, this range is the same as [-1:0], so it will give you
>> -1
>> >> and 0.  I'm not sure how anybody thought it could ever be desirable
>> for a
>> >> range [a:b] to be interpreted as [b:a], but that's the situation.  My
>> >> understanding is that the warning is a preliminary step to changing the
>> >> behavior.
>> >>
>> >> But if you just always write [a:1:b] then everything will work the way
>> it
>> >> should.  The loop for(i=[0:1:-1]) will correctly loop over an empty
>> >> array,
>> >> giving no loop steps.
>> >>
>> >>
>> >>
>> >> --
>> >> Sent from: http://forum.openscad.org/
>> >>
>> >> _______________________________________________
>> >> OpenSCAD mailing list
>> >>
>>
>> > Discuss at .openscad
>>
>> >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>> >>
>> >
>> > _______________________________________________
>> > OpenSCAD mailing list
>>
>> > Discuss at .openscad
>>
>> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>>
>>
>>
>>
>>
>> --
>> Sent from: http://forum.openscad.org/
>>
>> _______________________________________________
>> OpenSCAD mailing list
>> Discuss at lists.openscad.org
>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>>
> _______________________________________________
> OpenSCAD mailing list
> Discuss at lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscad.org/pipermail/discuss_lists.openscad.org/attachments/20190704/ac6da058/attachment.html>


More information about the Discuss mailing list