Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CutOpt — 2D vágási optimalizáló

Egyszerű, statikus, GitHub Pages-kompatibilis webalkalmazás téglalap alakú táblák / lemezek optimalizált felosztásához.

Funkciók

  • egy alaptábla szélessége és magassága
  • tetszőleges számú, különböző méretű kivágandó elem
  • darabszám elemenként
  • forgatás globálisan és elemenként
  • vágási rés / fűrészlapvastagság (kerf)
  • külön élveszteség: bal, jobb, felső, alsó
  • automatikus újraszámítás
  • mm, cm, m, inch, ft, yd mértékegységek, azonnali átváltással
  • több elrendezési stratégia (MaxRects heurisztikák + több rendezés + determinisztikus random próbák)
  • több tábla automatikus használata, ha egy nem elég
  • SVG vágási terv
  • anyagkihasználás és veszteség
  • CSV és JSON export
  • nyomtatható eredmény
  • localStorage mentés
  • világos / sötét téma
  • nincs backend és nincs külső függőség

GitHub Pages telepítés

  1. Hozz létre egy új GitHub repository-t.
  2. Másold fel a projekt fájljait a repository gyökerébe.
  3. GitHubon: Settings → Pages.
  4. A Build and deployment résznél válaszd: Deploy from a branch.
  5. Branch: main, folder: / (root).
  6. Mentés után a GitHub kiadja a publikus webcímet.

Helyi futtatás

Mivel nincs build folyamat, elég egy egyszerű statikus webszerver:

python -m http.server 8080

Ezután: http://localhost:8080

Az optimalizáló működése

A program MaxRects jellegű 2D téglalap-pakolást használ. Többféle sorrendet és elhelyezési heurisztikát próbál ki, majd azt az eredményt választja, amelyik:

  1. a legkevesebb táblát használja,
  2. azon belül kompaktabb elrendezést ad,
  3. végül kevesebb szabad téglalapra fragmentálja a maradékot.

A kerf a darabok közötti vágási szélesség. A program úgy kezeli, hogy az elhelyezés során a darabokhoz virtuálisan hozzáadja a vágási rést, miközben a tábla hasznos méretét ugyanennyivel kiterjeszti. Így a tábla külső szélén nem számol felesleges plusz vágási rést.

Fontos korlát

Ez egy gyors heurisztikus optimalizáló, nem matematikai bizonyító solver. Nagyon sok gyakorlati esetben jó eredményt ad, de nem garantálja, hogy minden lehetséges bemenetre a globálisan bizonyítható optimumot találja meg.

Ha gyártási környezetben kötelező a csak guillotine-vágás, szemcseirány / szálirány, gépspecifikus vágási sorrend vagy CNC export, az külön algoritmikai réteget igényel.

Licenc

MIT — lásd LICENSE.

About

Egyszerű, statikus, GitHub Pages-kompatibilis webalkalmazás téglalap alakú táblák / lemezek optimalizált felosztásához.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages