DynamoDS / RefineryToolkits

The Autodesk Refinery Toolkit
Apache License 2.0
48 stars 28 forks source link

Additional algorithms #121

Closed Vanman989 closed 5 years ago

Vanman989 commented 5 years ago

As part of my first request. Guillotine method and shelf packing algorithms would be great for packing revit views on sheets

radumg commented 5 years ago

@SHKnudsen to clarify which algorithms we already use, it looks like it's Guillotine already, but unsure. @Vanman989, Sylvester is on holiday for 2 weeks, so this will take some time.

If we find that we already use Guillotine or a similar algorithm and that we can use our current nodes to pack views on sheets, I will likely close this issue as the package isn't solely focused on bin-packing and adding more algorithms will make it more complex to use and we need to strike a balance between useful and easy to use.

SHKnudsen commented 5 years ago

hi @Vanman989,

We use an optimized variation of the Guillotine algorithm called The Maximal Rectangles Algorithms theres a pretty interesting article that describes different bin packing algorithms here http://pds25.egloos.com/pds/201504/21/98/RectangleBinPack.pdf

As @radumg mentioned this package is more for GD workflows which is why we chose the algorithm that packs most rectangles. If you have a look at the article there are examples of how to implement all the different algorithms and a Shelf packing algorithm is fairly easy to make, but it might not fit in the use cases this package was made for.

radumg commented 5 years ago

Hi @Vanman989 , we'll close this issue for now but will keep track of it as a feature request for the roadmap, hopefully to be addressed at a later date.