# Open nest (come si usa?)

**URL:** <https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680>\
**Category:** Grasshopper\
**Created:** [3 Ottobre 2019, 2:40pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680 "2019-10-03T14:40:56Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [3 Ottobre 2019, 2:40pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/1 "2019-10-03T14:40:57Z")

</div>

ciao a tutti,  
qualcuno (dotato di sana pazienza) sarebbe così buono da spiegarmi come adoperare opennest (in grasshopper) per eseguire dei “semplici” nesting di sagome 2d chiuse in fogli rettangolari impostando distanza minima tra figure e bordo foglio?  
ho caricato l definizione di opennest e il componente ma poi mi perdo nel suo utilizzo per me poco comprensibile…  
importare/associare le curve già presenti in rhino-----?  
impostare le dimensioni del foglio per il nesting------?  
impostare le distanze da mantenere come offset-----?  
grazie

---

<div class="post-metadata">

**Author:** ![MarcoTraverso](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/marcotraverso/32/17249_2.png) [@MarcoTraverso](https://it.discourse.mcneel.com/u/MarcoTraverso)\
**Post date:** [3 Ottobre 2019, 3:21pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/2 "2019-10-03T15:21:57Z")

</div>

Ciao Marco,

Colleghi il/i bordo/i del foglio/fogli in Sheets, poi la lista di sagome in Geo. La distanza è in “Spacing” e gli altri parametri sembrano relativamente chiari…

In particolare lo spacing è la distanza minima tra le varie sagome. La distanza tra le sagome e il bordo del foglio è la metà di quel valore, quindi se si vuole specificare quella occorre fare un offset del bordo del foglio prima di collegarlo ad OpenNest.

Cos’è in particolare che non ti torna?

[OpenNest-example.3dm](https://it.discourse.mcneel.com/uploads/short-url/ct4DqhPboU0oRdvhocyWD4vMQUI.3dm) (61,3 KB) [OpenNest-example.gh](https://it.discourse.mcneel.com/uploads/short-url/kkCBSSuArOQSOXwNDYH4TCWsJrp.gh) (5,8 KB)

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [3 Ottobre 2019, 6:00pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/3 "2019-10-03T18:00:07Z")

</div>

Ciao Marco,  
Grazie per la risposta, stasera non apro il pc ma domani riprovo, mi pare di aver già collegato le entità alle relative voci in ingresso ma mi indica un errore in geo… domani riprovo

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [4 Ottobre 2019, 12:27pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/4 "2019-10-04T12:27:46Z")

</div>

ciao Marco,  
ho riprovato con la definizione opennest di gh  
imposto il foglio, imposto il set di curve (geo)  
imposto uno slide per lo spacing  
lascio il placement settato a 1  
(ps come variabile penso si riferisca al numero di copie per figura o sbaglio?)  
rotation ho scollegato lo slide

il componente di opennest risulta rosso con messaggio che “non è stato possibile caricare il fle o l’assembly opennest.lib o una delle possibili dipendenze”

il file opennest.lib l’ho caricato nella cartella Component…

i dubbi da neofita sono molti:  
il componente di opennest non risulta caricato ogni volta che chiudo e riapro gh non compare nell’interfaccia e devo ricaricarlo… deduco che sbaglio qualcosa nel farlo…  
non esiste un modo per interrogare le singole voci di input di un componente per capirne il loro significato/funzione?  
stessa cosa per gli output di un componente…?

ad esempio opennest in uscita ha sheets, geo, id, transform e ids

infine, se le figure che devo andare a inserire nel nesting sono composte da una sagoma chiusa ma con all’interno uno o più tracciati anche aperti che sono le sue reference come posso agire per ottenere il relativo nesting corretto?  
considera che per praticità mantengo raggruppati figura di sagoma taglio e relative incisioni/reference ma le colloco in due distinti layer.

scusa la lungaggine 🙂

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [4 Ottobre 2019, 12:41pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/5 "2019-10-04T12:41:10Z")

</div>

aggioranamento,  
il componente l’ho caricato correttamente e compare anche dopo unload gh e load gh  
ma il messaggio di errore persiste

---

<div class="post-metadata">

**Author:** ![MarcoTraverso](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/marcotraverso/32/17249_2.png) [@MarcoTraverso](https://it.discourse.mcneel.com/u/MarcoTraverso)\
**Post date:** [4 Ottobre 2019, 1:18pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/6 "2019-10-04T13:18:59Z")

</div>

Per quanto riguarda il corretto caricamento dei vari componenti una volta spostati nella cartella Libraries di Grasshopper, prima di aprire Rhino/Grasshopper bisogna “sbloccarli”, facendo clic col pulsante destro e spuntando l’opzione “Anulla Blocco” in basso a destra, e occorre farlo sia per i file gha che per le dll (per OpenNest ci sono minkowski.dll e OpenNestLib.dll)

 ![sblocco%20plugin](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/5/5edfa81309bae694876b99c47e552507b2c12d9f.png)

Ma alla fine l’esempio che ho allegato ti funziona o continua a dare errore?

> [@illo76](#):
>
> non esiste un modo per interrogare le singole voci di input di un componente per capirne il loro significato/funzione?  
> stessa cosa per gli output di un componente…?

Le informazioni disponibili sono quelle che vedi quando passi sopra ai vari input output col puntatore del mouse. In questo caso non ci sono informazioni aggiuntive. Dipende da come lo sviluppatore ha creato il plugin.

> [@illo76](#):
>
> ad esempio opennest in uscita ha sheets, geo, id, transform e ids

- Sheets contiene i bordi dei fogli (più di uno nel caso in cui le forme non entrino tutte in uno solo)
- geo contiene le sagome trasformate
- id contiene gli id delle sagome
- IDS contiene gli id dei fogli corrispondent a ciascuna sagoma - (riferimento alla lista precedente) - contiene una lista di soli zero se un solo foglio contiene tutte le sagome, altrimenti vi sarà anche 1,2 e così via
- transform contiene la matrice di trasformazione per ogni sagoma

> [@illo76](#):
>
> infine, se le figure che devo andare a inserire nel nesting sono composte da una sagoma chiusa ma con all’interno uno o più tracciati anche aperti che sono le sue reference come posso agire per ottenere il relativo nesting corretto?

Nel caso di tracciato chiuso, sul file di esempio dice di creare una planar srf a partire dalle due curve.

In alternativa, oppure se il tracciato è aperto, puoi usare la matrice di trasformazione relativa ad una sagoma e applicarla ai tracciati interni a quella sagoma.

> [@illo76](#):
>
> considera che per praticità mantengo raggruppati figura di sagoma taglio e relative incisioni/reference ma le colloco in due distinti layer.

Gruppi e layer sono ignorati da Grasshopper quando si collega un componente alla geometria di Rhino. A volte si possono fare i gruppi direttamente in Grasshopper, ma in questo caso non serve perché OpenNest non supporta i gruppi, quindi devi utilizzare le matrici di trasformazione.

A seconda di come è strutturato il file di Rhino (nomi, layer ecc.) si potrebbe anche automatizzare il tutto…

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [4 Ottobre 2019, 6:54pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/7 "2019-10-04T18:54:00Z")

</div>

ciao Marco,  
ho provato da casa e su rhino v6 tutto funziona caricando il tuo file esempio  
non colgo però il significato/funzionamento deli parametri in ingresso rotation, iteration, seed  
placement penso siano le combinazioni che vuoi possa generare per scegliere la migliore…

lo sblocco del add opennest di grasshopper non mi compare nel pc al lavoro e credo sia dovuto alle restrizioni di sicurezza… cercherò di venrne a capo

farò un pò d prove  
intanto grazie ancora per le risposte

---

<div class="post-metadata">

**Author:** ![MarcoTraverso](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/marcotraverso/32/17249_2.png) [@MarcoTraverso](https://it.discourse.mcneel.com/u/MarcoTraverso)\
**Post date:** [4 Ottobre 2019, 11:27pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/8 "2019-10-04T23:27:42Z")

</div>

Ciao Marco,

> [@illo76](#):
>
> lo sblocco del add opennest di grasshopper non mi compare nel pc al lavoro e credo sia dovuto alle restrizioni di sicurezza…

Già penso sia quello il problema…

> [@illo76](#):
>
> non colgo però il significato/funzionamento deli parametri in ingresso

Rotation dà le possibili rotazioni intorno all’asse Z - ad esempio 3 =\> può ruotare di multipli di 120°, 4=\> multipli di 90° e così via

Il seed è sempre un numero che genera una diversasequenza di numeri “pseudo” casuali. In questo caso al suo variare cambia la soluzione proposta.

Le iterazioni - se in numero maggiore di 1 - dovrebbero teoricamente ottimizzare maggiormente il risultato, il che porta a differenze quando si hanno molte sagome e bisogno di elevata ottimizzazione.

Placement non ho capito bene a cosa si riferisca, comunque al suo variare cambia la soluzione proposta, come hai notato anche tu.

Buon fine settimana!

Marco

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [5 Ottobre 2019, 6:43am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/9 "2019-10-05T06:43:42Z")

</div>

Ciao e grazie per gli aiuti,  
Rotation però è strano, perché se setto il valore pari a 1 vuol dire che dovrei aver dato il massimo grado di libertà di rotazione delle sagome… e invece mi pare queste restino vincolate alla loro posizione originaria…  
Resta strano che non sia previsto un indice con descrizione dei parametri ma che si debba agire per interpretazione deduttiva

Buon fine settimana anche a te e a tutti quanti 😉

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [5 Ottobre 2019, 7:43am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/10 "2019-10-05T07:43:43Z")

</div>

Devi fare 360°/rotation per avere il numero di gradi di rotazione ammessi tipo 360/2=il pezzo può ruotare di 180°

---

<div class="post-metadata">

**Author:** ![illo76](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/illo76/32/17751_2.png) [@illo76](https://it.discourse.mcneel.com/u/illo76)\
**Post date:** [5 Ottobre 2019, 8:11am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/11 "2019-10-05T08:11:31Z")

</div>

Ok, grazie per la precisazione Lucio

---

<div class="post-metadata">

**Author:** ![patrikaw](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/patrikaw/32/16652_2.png) [@patrikaw](https://it.discourse.mcneel.com/u/patrikaw)\
**Post date:** [29 Dicembre 2020, 6:26pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/12 "2020-12-29T18:26:22Z")

</div>

![immagine](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/8/8d1c6b5df618fac6ec2ccae9525dbcd8743f679e.jpeg) scusate avrei bisogno di caricare dei plugin di grashopper e nel Mcneel wiki mi dice che è possibile farlo sbloccando la security ma nella mia finestra di dialogo non compare questa opzione qualche idea?!

---

<div class="post-metadata">

**Author:** ![Gambler](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/gambler/32/16276_2.png) [@Gambler](https://it.discourse.mcneel.com/u/Gambler)\
**Post date:** [29 Dicembre 2020, 7:09pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/13 "2020-12-29T19:09:22Z")

</div>

Ciao, non vorrei avere frainteso, ma penso che la voce compare solo su files che scarichi da internet, che arrivano quindi da un altro computer.  
Se apri una finestra di dialogo su un file della tua macchina è giusto che non compaia la voce.

---

<div class="post-metadata">

**Author:** ![patrikaw](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/patrikaw/32/16652_2.png) [@patrikaw](https://it.discourse.mcneel.com/u/patrikaw)\
**Post date:** [29 Dicembre 2020, 9:17pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/14 "2020-12-29T21:17:54Z")

</div>

E si grazie per il consiglio domani proveró a fare così 😊

---

<div class="post-metadata">

**Author:** ![lucio\_zadra](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/lucio_zadra/32/16361_2.png) [@lucio\_zadra](https://it.discourse.mcneel.com/u/lucio_zadra)\
**Post date:** [29 Dicembre 2020, 10:14pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/15 "2020-12-29T22:14:38Z")

</div>

Confermo quanto detto da Fabio, il blocco lo mette Windows solo sui files provenienti dall’esterno e considerati potenzialmente dannosi.  
Se non c’è il blocco puoi procedere ad attivare il plugin in Rhino.

---

<div class="post-metadata">

**Author:** ![mb1](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/mb1/32/9243_2.png) [@mb1](https://it.discourse.mcneel.com/u/mb1)\
**Post date:** [4 Marzo 2021, 6:13pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/16 "2021-03-04T18:13:56Z")

</div>

Buongiorno,  
mi chiamo Marcello e sono un utente relativamente ‘giovane’ di Grasshopper.

Ho un problema rispetto al plug-in Opennest che non riesco a risolvere: è possibile ottimizzare il nesting dei pezzi (input in Geo) su diversi fogli di partenza (input in Sheets)? diciamo che, data una serie di sagome di progetto (di dimensione e forma diversa) vorrei trovare qual’è la combinazione che ottimizza la produzione/taglio avendo a disposizione dal magazzino diverse dimensioni di foglio di materiale.

nel file .gh che allego funziona ‘quasi tutto’, solo che i fogli che ho caricato come ‘magazzino’ vengono utilizzati come una lista e non ottimizzati liberamente.

[20210305\_581\_computo pannelli composito.gh](https://it.discourse.mcneel.com/uploads/short-url/2LQEommdwyE2cDgixFvNQEFvrrC.gh) (24,5 KB)

grazie

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [4 Marzo 2021, 9:22pm UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/17 "2021-03-04T21:22:47Z")

</div>

[https://youtu.be/Q9IkLC7JAms](https://youtu.be/Q9IkLC7JAms) non so se può servire.

Se non sbaglio “iterazioni” ottimizza le posizioni su singolo foglio.  
Se hai più fogli potresti calcolare la combinazione che lascia una superficie non utilizzata minore.

---

<div class="post-metadata">

**Author:** ![mb1](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/mb1/32/9243_2.png) [@mb1](https://it.discourse.mcneel.com/u/mb1)\
**Post date:** [5 Marzo 2021, 8:33am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/18 "2021-03-05T08:33:55Z")

</div>

grazie della risposta,  
effettivamente questa è una possibilità. Rimane però che il processo di nesting riempie prima uno dei formati forniti e poi a seguire gli altri, quindi se gli si mettono a disposizione molti fogli tenderà per quanto possibile ad utilizzare solo il primo della lista.  
una possibilità che mi è venuta in mente è quella di mescolare ‘random’ i formati con il componente Jitter, ma sarebbe comunque un modo poco ‘scientifico’ di procedere…

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [5 Marzo 2021, 8:53am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/19 "2021-03-05T08:53:37Z")

</div>

> [@mb1](#):
>
> Rimane però che il processo di nesting riempie prima uno dei formati forniti e poi a seguire gli altr

Quanti fogli sono? E che forma hanno?

---

<div class="post-metadata">

**Author:** ![mb1](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/mb1/32/9243_2.png) [@mb1](https://it.discourse.mcneel.com/u/mb1)\
**Post date:** [5 Marzo 2021, 9:03am UTC](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680/20 "2021-03-05T09:03:35Z")

</div>

ti faccio un esempio.

io ho una serie di pannelli da produrre: allego l’elenco [20210226\_581\_computo pannelli composito\_MB.pdf](https://it.discourse.mcneel.com/uploads/short-url/pVdk8RBa9xm0nsInqBhbwGyAIka.pdf) (6,1 KB)

il produttore mi mette a disposizione due formati: 1500x3500mm o 1620x3500mm

per minimizzare gli sfidi di lavorazione dovrei riuscire a fare il nesting su entrambi i formati (perchè certi pannelli si adattano meglio ad uno dei formati e certi altri ad un’altro)

grazie.

[Pagina seguente](https://it.discourse.mcneel.com/t/open-nest-come-si-usa/2680.md?page=2)
