[OpenSCAD] sumUp() to Replace Difference() (in most cases)
pproj at posteo.de
Thu Oct 6 18:13:48 EDT 2016
hmm.. there must be a misunderstanding.
i have stated that sumUp() is slower than difference() in complex
projects (thats its main drawback) and asked if it can be hardcoded to
make it faster...
i think we are of the same opinion on that. i believe the cleanliness of
code, reduction of nesting and thus redundancy by far outweigh the very
unpleasant fact that i have to wait for several minutes for a complex
model to render, and this would have been times faster with the messier
On 06.10.2016 23:45, Ronaldo Persiano wrote:
> Interesting approach. I don't have any reason to question your
> statement that sumUp() could favor modelling complex projects. I have
> no experience on that and have to give it a try. But I don't
> understand why you say it is faster. Ultimately, sumUp will perform
> the same boolean operations. I compared the CSG tree your code
> generated with the CSG tree generated for a code I wrote to produce
> the same model using directly the boolean operations. The CSG tree of
> sumUp is a lot bigger than the later. The preview time of sumUp was a
> bit bigger.
> 2016-10-06 16:55 GMT-03:00 pproj at posteo.de <pproj at posteo.de>:
>> hello after few years of work on my quite complex cad project,
>> which i created using openscad .(my love to openscad was hampered by
>> quite few a limittions for a compex project- but i am still working
>> with it)
>> i have decided it is time to share with others some of the things i
>> have discovered and developed in the years of use.
>> i will start with the sumUp(). which is an advanced replacement for
>> the difference() keyword and allows for holes inside modules, and
>> reduced nesting producing simpler code among other things.
>> i have put it it under:
>> https://github.com/solidboredom/sumUp 
>> but to show you why i have been using it so much: it can produce
>> this example. the code below and the lib is all you need
>> //== modules below ==
>> module lidWithNailsAndWasher()
>> add() //washer
>> addAfterRemoving() //top cover without holes
>> i have been quite happy with thhe library (actually its
>> predecessor) so i hope you will find it useful too.
>> i have been using it so much i would like to have its approach
>> somehow integrated in openscad itself.
>> this perhaps could resolve its main drawback: speed on complex
>> models: openscad creates a lot groups and getting much slower on
>> complex models than with the difference().
>> i would also like to share another library: essentially a human(not
>> linear algebra robot) oriented syntax rewrite library for basic
>> openscad operations i use a lot, but still need to make it ready for
>> publishing and documented first.
>> so whats your take folks?
>> OpenSCAD mailing list
>> Discuss at lists.openscad.org
>  https://github.com/solidboredom/sumUp
> OpenSCAD mailing list
> Discuss at lists.openscad.org
More information about the Discuss