Improve feature: optimize Layout, use external library (SVG Nest?)

Issue #436 closed
Susan Spencer created an issue

Create C++ Library for nesting SVG objects

This SVG-based approach might be needed to implement an efficient, optimized Marker & Layout feature. Issue #416 Marker and Yardage calculator

Github repo for SVGNest javascript project: https://github.com/Jack000/SVGnest There are limitations to this approach, because there can be no interior lines to the SVG objects in this code. This can be remedied by calculating a sophisticated bounding box and using the bounding box as the object to be placed.

Comments (14)

  1. Roman Telezhynskyi repo owner

    Susan, i think we don't need this library at all. We have our own approach. Who said we can't use current?

  2. David Arnold

    I can report calculation of best distribution taking arround 80 mins for a 17 pieces shirt pattern. That is a very long time. my hope is, that additional constraints of future tools such as grainline tool might reduce the option tree a little. I tried to debug and understand what's going on, but all I could see is that there are a hell lot of edges and threads doing something, with a questionable output (I was able to manually optimize it significantly outside the program in 15 mins).

    What I liked very much about the linked library is the posibility to limit the iterations. This is a good way to balance time vs raw material.

  3. Roman Telezhynskyi repo owner

    80 mins for a 17 pieces shirt pattern

    Please, provide additional information:

    • Number of CPU cores/threads.
    • Size of RAM.
    • Valentina version you used.
    • Screenshot of option dialog.
    • The file you used.
  4. David Arnold
    • Intel Core i7
    • 8GB RAM
    • Version 0.4.3.0 (e915...) File is coming, when internet is working agani (I'm on cellphone)
  5. Roman Telezhynskyi repo owner

    Hi @kallaballa ,

    At the moment i'm translating one function after the other. Anyone wants to join the effort?

    This is very interesting project. What help do you want? I am very busy, but think Valentina will benefit from having a second layout algorithm. Unfortunately i don't have Javascript skills to help you convert. But probably i could help you in some way.

  6. Amir Hassan

    Well.. i plan on translating the code pretty literally and then write tests until i get it right. I'm not sure how you could help but it would be certainly appreciated

  7. Roman Telezhynskyi repo owner

    I see three links to documents those describe algorithms behind this implementation. Probably i should read them to better understand an idea.

  8. Log in to comment