Oppure

Loading
24/02/23 14:30
Thejuster
Dunque facendo un po' di ricerche sembra che la situazione non sia delle più semplici.

Per iniziare serve un algoritmo di nesting.

Un po' simile alla mia soluzione, ma va implementato con ulteriori passaggi e movimenti.

Penso di strutture il tutto con classi e metodi.
Vediamo cosa tiro fuori.

mire.forumfree.it/ - Mire Engine
C# UI Designer
20/03/23 20:53
Nouty1992
Spam
Ultima modifica effettuata da Thejuster 23/03/23 13:18
09/04/23 16:01
Carlo
Postato originariamente da Thejuster:

Dunque facendo un po' di ricerche sembra che la situazione non sia delle più semplici.

Per iniziare serve un algoritmo di nesting.

Un po' simile alla mia soluzione, ma va implementato con ulteriori passaggi e movimenti.

Penso di strutture il tutto con classi e metodi.
Vediamo cosa tiro fuori.



Il problema si chiama Bin Packing, ci sono vari algoritmi dai più semplici ai più drastici fino ad usare il brute force.
Ho trovato questo progetto C# VS, che pacchettizza i rettangoli velocemente anche se sbordano usando l'algoritmo: SkylineBinPack/GeneticAlgorithm, continua a cercare soluzioni ricorsivamente a meno che non riempia lo spazio al 100%, mentre lavora mostra i risultati. Al termine con Best Solution/Gen in un DatagrdView le soluzioni trovate con l'info della relativa efficienza, cliccando la soluzione mostra la disposizione dei rettangoli.

github.com/anas-899/…
I rettangoli si passano con un file xml, nella cartella esempi ce ne sono un po', congegnati a puzzle per saggiare le potenzialità.

Non ho approfondito ma ecco la spiegazione dell'algoritmo: First-fit-decreasing(FFD)
en.wikipedia.org/wiki/…

In C# si trova trova anche in 3D (lavora con i parallelepipedi) usato dai trasportatori per massimizzare i carichi:
github.com/303248153/…
Ultima modifica effettuata da Carlo 09/04/23 16:41
in programmazione tutto è permesso
11/04/23 10:52
Thejuster
Si l'avevo provato questo sorgente
Anche se non mi ha aspirato molta fiducia.
Magari posso dargli una toccatina e riprovarci.

Ma svelo l'arcano.
Quello per cui mi serve, e per ottimizzare dei tagli per vetro.

Purtroppo, il vetro non essendo un materiale molto flessibile o stabile, ha bisogno di essere tagliato in un modo specifico. Rimando scarti facilmente staccabili.
Perché anche per tranciare o aprire il vetro bisogna fare molta attenzione.

Solitamente le ottimizzazioni escono in questo modo.
Avendo un taglio netto per tutto l'asse, e relativi altri pezzi in taglio orizzontale.

Incrociare tagli, o scarti nel bel mezzo di lastre di grandi dimensioni sarebbe un problema.

Però, vedrò cosa posso fare.

mire.forumfree.it/ - Mire Engine
C# UI Designer
12/04/23 16:17
bernie
Anche nel settore del legno succede la stessa cosa, ho visto macchine per tagliare i vetri jumbo che per ottimizzare il taglio lasciano lo sfrido tra due pezzi in maniera da avere più tagli dritti possibili.
aaa
16/04/23 17:49
Thejuster
Si esattamente,
Servono algoritmi scritti ad hoc.
Appositamente per quello che serve.
Un algoritmo di nasting generico non andrebbe bene.
mire.forumfree.it/ - Mire Engine
C# UI Designer