[OpenSCAD] "Lazy union" is now experimental in snapshots

Parkinbot rudolf at digitaldocument.de
Thu Nov 21 07:24:52 EST 2019


This is great news and has the potential to speed up certain OpenSCAD designs
a lot! However it might introduce a bunch of pitfalls for novice users and
lead to indesireable output (mainly misformed STLs), if it gets standard
behavior.  
That's why I expected the implementation to take another path. Mainly in
form of a lazy_union() operator that inhibits implicit union in an on-demand
fashion for its operands or, as proposed by Revar, some kind of pragma
switch, that allows to apply the new semantics only to dedicated code
sections. 
A global switch will likely break a big portion of legacy code and more or
less lead to complete revisioning and testing of complex code chunks, while
a situative switch will be an optional tool that allows to speed up things
specifically "on your own risk", where it makes sense. 




thehans wrote
> The code for this was recently merged and should be available in the
> latest
> nightly snapshots.  As with other experimental features, it must be
> enabled
> in your preferences to make use of it.
> 
> The feature removes "implicit union" from the following builtin modules:
>   - for
>   - children
>   - let
>   - if, if/else
>   - echo
>   - assert
>   - (root aka top-level, and root modifier: '!' )





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



More information about the Discuss mailing list