Dopo aver creato alcuni nodi personalizzati, il passaggio successivo consiste nell'iniziare a organizzarli e pubblicarli tramite pacchetti, un modo pratico per memorizzare e condividere i nodi con la comunità di Dynamo.
Dynamo offre numerose funzionalità predefinite e dispone anche di un'ampia libreria di pacchetti in grado di estendere in modo significativo le sue potenzialità. Un pacchetto è una raccolta di nodi personalizzati o funzionalità aggiuntive. Dynamo Package Manager è un portale che consente alla comunità di scaricare qualsiasi pacchetto pubblicato online. Questi set di strumenti sono stati sviluppati da terze parti per estendere le funzionalità principali di Dynamo, sono accessibili a tutti e sono pronti per il download con un semplice clic.
Un progetto open source, come Dynamo, si basa su questo tipo di coinvolgimento della comunità. Grazie a sviluppatori di terze parti dedicati, Dynamo è in grado di estendere il suo ambito di applicazione ai workflow di diversi settori. Per questo motivo, il team di Dynamo ha compiuto sforzi concertati per snellire lo sviluppo e la pubblicazione dei pacchetti (che saranno discussi in modo più dettagliato nelle sezioni seguenti).
Il modo più semplice per installare un pacchetto consiste nell'utilizzare l'opzione di menu Pacchetti nell'interfaccia di Dynamo. Adesso si può passare direttamente al pacchetto e installarne uno. In questo esempio rapido, verrà installato un comune pacchetto per la creazione di pannelli quadrangolari su una griglia.
In Dynamo, accedere a Pacchetti > Package Manager.
Sulla barra di ricerca, cercare "quads from rettangular grid". Dopo alcuni minuti, si dovrebbero vedere tutti i pacchetti che corrispondono alla query di ricerca. Si desidera selezionare il primo pacchetto con il nome corrispondente.
Fare clic su Installa per aggiungere il pacchetto alla libreria, quindi accettare la conferma. Fatto.
Notare che ora è presente un altro gruppo nella libreria di Dynamo denominato "buildz". Questo nome si riferisce allo sviluppatore del pacchetto e il nodo personalizzato viene posizionato in questo gruppo. È possibile iniziare ad utilizzarlo immediatamente.
Utilizzare Code Block per definire rapidamente una griglia rettangolare, generare il risultato in un nodo Polygon.ByPoints, quindi in un nodo Surface.ByPatch per visualizzare l'elenco di pannelli rettangolari appena creati.
L'esempio riportato sopra si concentra su un pacchetto con un nodo personalizzato, ma si utilizza lo stesso processo per il download di pacchetti con diversi nodi personalizzati e file di dati di supporto. Ora si dimostrerà ciò con un pacchetto più completo: DynamoUnfold.
Come nell'esempio precedente, iniziare selezionando Pacchetti > Package Manager.
Questa volta, si cercherà "DynamoUnfold", una parola. Quando vengono visualizzati i pacchetti, scaricarli facendo clic su Installa per aggiungere DynamoUnfold alla libreria di Dynamo.
Nella libreria di Dynamo, è presente un gruppo DynamoUnfold con più categorie e nodi personalizzati.
Ora, si può dare un'occhiata alla struttura dei file del pacchetto.
Innanzitutto, accedere a Pacchetti > Package Manager > Pacchetti installati.
Quindi, fare clic su Mostra directory principale per aprire la cartella principale per questo pacchetto.
Verrà aperta la directory principale del pacchetto. Notare che sono presenti 3 cartelle e un file.
La cartella bin contiene i file .dll. Questo pacchetto di Dynamo è stato sviluppato utilizzando la funzionalità zero-touch, pertanto i nodi personalizzati sono contenuti in questa cartella.
La cartella dyf contiene i nodi personalizzati. Questo pacchetto non è stato sviluppato utilizzando nodi personalizzati di Dynamo, pertanto questa cartella è vuota per questo pacchetto.
La cartella extra contiene tutti i file aggiuntivi, inclusi i file di esempio.
Il file pkg è un file di testo di base che definisce le impostazioni del pacchetto. Lo si può ignorare per adesso.
Aprendo la cartella "extra", si notano alcuni file di esempio scaricati con l'installazione. Non tutti i pacchetti dispongono di file di esempio, ma è possibile trovarli se fanno parte di un pacchetto.
Aprire "SphereUnfold".
Dopo aver aperto il file e aver fatto clic su "Esegui" nel risolutore, è presente una sfera spiegata. File di esempio come questi sono utili per imparare ad utilizzare un nuovo pacchetto di Dynamo.
In Package Manager, è possibile cercare i pacchetti utilizzando le opzioni di ordinamento e filtraggio disponibili nella scheda Cerca pacchetti. Sono disponibili diversi filtri per il programma host, lo stato (nuovo, obsoleto o non obsoleto) e la presenza o meno di dipendenze nel pacchetto.
Ordinando i pacchetti, è possibile identificare i pacchetti più votati o più scaricati oppure trovare i pacchetti con aggiornamenti recenti.
È inoltre possibile accedere a ulteriori dettagli su ciascun pacchetto facendo clic su Visualizza dettagli. Viene aperto un pannello laterale in Package Manager, in cui è possibile trovare informazioni quali il confronto delle versioni e le dipendenze, l'URL del sito Web o del repository, le informazioni sulla licenza e così via.
Un altro modo per scoprire i pacchetti di Dynamo consiste nell'esplorare il sito Web di Dynamo Package Manager. Qui si possono trovare le statistiche sui pacchetti e le classifiche degli autori. È inoltre possibile scaricare i file di pacchetto da Dynamo Package Manager, ma eseguire questa operazione direttamente da Dynamo è un processo più agevole.
Se si desidera vedere dove vengono mantenuti i file di pacchetto, nella parte superiore del browser fare clic su Dynamo > Preferenze > Impostazioni pacchetto > Posizioni di nodi e pacchetti; da qui è possibile trovare la directory della cartella principale corrente.
Per default, i pacchetti vengono installati in una posizione simile a questo percorso delle cartelle: C:/Utenti/[nome utente]/AppData/Roaming/Dynamo/[versione di Dynamo].
La comunità di Dynamo è in costante crescita e in continua evoluzione. Esplorando di tanto in tanto Dynamo Package Manager, si noteranno alcuni nuovi e interessanti miglioramenti. Nelle seguenti sezioni, verranno esaminati in modo più approfondito i pacchetti, dalla prospettiva dell'utente finale fino al programmatore del pacchetto di Dynamo.
Dynamo Mesh Toolkit fornisce strumenti per importare mesh da formati di file esterni, creare mesh da oggetti della geometria di Dynamo e generare manualmente mesh in base ai vertici e agli indici. La libreria fornisce inoltre strumenti per modificare e correggere mesh o estrarre sezioni orizzontali da utilizzare nella fabbricazione.
Dynamo Mesh Toolkit fa parte del costante programma di ricerca sulle mesh di Autodesk e, come tale, continuerà a crescere nei prossimi anni. Si prevede di aggiungere frequentemente nuovi metodi nel toolkit e pertanto gli utenti sono invitati a contattare il team di Dynamo per eventuali commenti, bug e suggerimenti per le nuove funzionalità.
Nel seguente esercizio sono illustrate alcune operazioni di base sulle mesh mediante Mesh Toolkit. Nell'esercizio, si interseca una mesh con una serie di piani, il che può risultare complesso dal punto di vista computazionale se si utilizzano solidi. A differenza di un solido, una mesh presenta una risoluzione impostata e non è definita matematicamente, ma topologicamente; è possibile definire questa risoluzione in base all'attività in corso. Per ulteriori dettagli sulle relazioni tra mesh e solidi, è possibile fare riferimento al capitolo Geometria per la progettazione computazionale di questa guida introduttiva. Per un esame più approfondito di Mesh Toolkit, è possibile fare riferimento alla pagina Wiki di Dynamo. Passare al pacchetto nell'esercizio riportato di seguito.
In Dynamo, accedere a Pacchetti > Package Manager... sulla barra dei menu superiore. Nel campo di ricerca, digitare MeshToolkit, tutta una parola. Fare clic su Installa e accettare le conferme per avviare il download. È semplicissimo.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
In questo esempio, si esaminerà il nodo Intersect in Mesh Toolkit. Si importerà una mesh e la si intersecherà con una serie di piani di input per creare sezioni. Questo è il punto di partenza per la preparazione del modello per la fabbricazione su un taglierino laser, un taglierino a getto d'acqua o una fresa CNC.
Iniziare aprendo Mesh-Toolkit_Intersect-Mesh.dyn in Dynamo.
File Path: individuare il file mesh da importare (stanford_bunny_tri.obj). I tipi di file supportati sono .mix e .obj.
Mesh.ImportFile: collegare il percorso del file per importare la mesh.
Point.ByCoordinates: creare un punto, che sarà il centro di un arco.
Arc.ByCenterPointRadiusAngle: creare un arco attorno al punto. Questa curva verrà utilizzata per posizionare una serie di piani. __ Di seguito vengono descritte le impostazioni disponibili: __
radius: 40, startAngle: -90, endAngle:0
Creare una serie di piani orientati lungo l'arco.
Code Block: consente di creare 25 numeri compresi tra 0 e 1.
Curve.PointAtParameter: collegare l'arco all'input curve e l'output del blocco di codice all'input param per estrarre una serie di punti lungo la curva.
Curve.TangentAtParameter: collegare gli stessi input del nodo precedente.
Plane.ByOriginNormal: collegare i punti all'input origin e i vettori all'input normal per creare una serie di piani in corrispondenza di ogni punto.
Quindi, si utilizzeranno questi piani per intersecare la mesh.
Mesh.Intersect: intersecare i piani con la mesh importata, creando una serie di contorni di PolyCurve. Fare clic con il pulsante destro del mouse sul nodo e impostare il collegamento sul più lungo.
PolyCurve.Curves: dividere le PolyCurve nei relativi frammenti di curva.
Curve.EndPoint: estrarre i punti finali di ogni curva.
NurbsCurve.ByPoints: utilizzare i punti per costruire una curva NURBS. Utilizzare un nodo booleano impostato su True per chiudere le curve.
Prima di continuare, disattivare l'anteprima per alcuni nodi, ad esempio: Mesh.ImportFile, Curve.EndPoint, Plane.ByOriginNormal e Arc.ByCenterPointRadiusAngle per vedere meglio il risultato.
Surface.ByPatch: costruire superfici chiuse per ogni contorno per creare sezioni della mesh.
Aggiungere un secondo insieme di sezioni per un effetto di waffle/cassa delle uova.
Si potrebbe notare che le operazioni di intersezione vengono calcolate più rapidamente con una mesh rispetto ad un solido confrontabile. I workflow, come quello illustrato in questo esercizio, si prestano anche all'utilizzo delle mesh.
Dynamo offre diversi modi per creare un pacchetto per l'utilizzo personale o per la condivisione con la comunità di Dynamo. Nel case study riportato di seguito, si esaminerà in maniera dettagliata la configurazione di un pacchetto smontandone uno esistente. Questo case study si basa sulle lezioni del capitolo precedente, fornendo un gruppo di nodi personalizzati per il mappaggio della geometria, tramite le coordinate UV, da una superficie di Dynamo ad un'altra.
Si utilizzerà un pacchetto di esempio che mostra il mappaggio UV di punti da una superficie ad un'altra. Sono già stati illustrati i principi fondamentali dello strumento nella sezione di questa guida introduttiva. I file riportati di seguito mostrano com'è possibile prendere il concetto di mappaggio UV e sviluppare un set di strumenti per una libreria pubblicabile.
In questa immagine, si associa un punto da una superficie ad un'altra utilizzando le coordinate UV. Il pacchetto si basa su questo concetto, ma con una geometria più complessa.
Nel capitolo precedente, sono stati esaminati i metodi per la suddivisione di una superficie in pannelli in Dynamo in base alle curve definite nel piano XY. Questo case study estende questi concetti per altre quote della geometria. Si installerà questo pacchetto una volta creato per dimostrare com'è stato sviluppato. Nella sezione successiva, verrà illustrato come questo pacchetto è stato pubblicato.
In Dynamo, fare clic su Pacchetti > Package Manager e cercare il pacchetto "MapToSurface" (tutta una parola). Fare clic su Installa per avviare il download e aggiungere il pacchetto alla libreria.
Dopo l'installazione, i nodi personalizzati dovrebbero essere disponibili nella sezione Moduli aggiuntivi > DynamoPrimer.
Dopo aver installato il pacchetto, esaminarne in maniera dettagliata la configurazione.
Il pacchetto che si sta creando utilizza cinque nodi personalizzati che sono stati generati come riferimento. Si esaminerà in maniera dettagliata la funzione di ogni nodo di seguito. Alcuni nodi personalizzati si basano su altri nodi personalizzati e i grafici mostrano un layout per consentire ad altri utenti di comprendere ciò in maniera chiara.
Si tratta di un pacchetto semplice con cinque nodi personalizzati. Nei passaggi riportati di seguito, verrà descritta brevemente la configurazione di ogni nodo personalizzato.
È un nodo di base personalizzato e uno su cui sono basati tutti gli altri nodi di mappaggio. In sostanza, il nodo associa un punto da una coordinata UV della superficie di origine alla posizione della coordinata UV della superficie di destinazione. Poiché i punti sono la geometria più primitiva, dalla quale viene creata una geometria più complessa, è possibile utilizzare questa logica per associare la geometria 2D e persino 3D da una superficie ad un'altra.
La logica di estensione dei punti associati dalla geometria 1D alla geometria 2D è illustrata semplicemente con i poligoni qui. Notare che è stato nidificato il nodo PointsToSurface in questo nodo personalizzato. In questo modo è possibile associare i punti di ogni poligono alla superficie e quindi rigenerare il poligono da tali punti associati. Mantenendo la struttura dei dati appropriata (un elenco di elenchi di punti), è possibile mantenere i poligoni separati dopo averli ridotti ad un gruppo di punti.
La stessa logica si applica qui come nel nodo PolygonsToSurface. Invece di associare i punti poligonali, si stanno associando i punti di controllo di una curva NURBS.
OffsetPointsToSurface
Questo nodo risulta un po' più complesso, ma il concetto è semplice: come il nodo PointsToSurface, questo nodo associa i punti da una superficie ad un'altra. Tuttavia, considera anche i punti che non si trovano sulla superficie di origine originale, calcola la loro distanza dal parametro UV più vicino e associa questa distanza alla normale della superficie di destinazione nel punto della coordinata UV corrispondente. Ciò risulta più utile quando si esaminano i file di esempio.
Questo è un nodo semplice che crea una superficie parametrica da associare dalla griglia di origine ad una superficie ondulata nei file di esempio.
I file di esempio sono disponibili nella cartella principale del pacchetto. Fare clic su Package Manager > scheda Pacchetti installati.
Accanto a MapToSurface, fare clic sul menu con i puntini verticali > Mostra directory principale.
Quindi, aprire la cartella extra, che contiene tutti i file del pacchetto che non sono nodi personalizzati. Questo è il percorso in cui vengono memorizzati i file di esempio (se presenti) per i pacchetti di Dynamo. Nelle schermate riportate di seguito sono mostrati i concetti illustrati in ogni file di esempio.
Utilizzando un workflow simile, questo file di esercizio mostra una configurazione per il mappaggio di cerchi (o poligoni che rappresentano cerchi) da una superficie ad un'altra. Viene utilizzato il nodo "PolygonsToSurface".
Questo file di esempio aggiunge una certa complessità utilizzando il nodo NurbsCrvToSurface. Viene eseguito l'offset della superficie di destinazione ad una determinata distanza e la curva NURBS viene associata alla superficie di destinazione originale e alla superficie di offset. Da qui, viene eseguito il loft delle due curve associate per creare una superficie, che viene poi ispessita. Questo solido risultante ha un'ondulazione che è rappresentativa delle normali della superficie di destinazione.
Questo file di esempio illustra come associare una PolySurface pieghettata da una superficie di origine ad una superficie di destinazione. La superficie di origine e quella di destinazione sono rispettivamente una superficie rettangolare che si estende sulla griglia e una superficie di rivoluzione.
Indica la PolySurface di origine associata dalla superficie di origine alla superficie di destinazione.
Poiché i nodi personalizzati sono in grado di associare diversi tipi di curve, quest'ultimo file fa riferimento ad un file SVG esportato da Illustrator e associa le curve importate ad una superficie di destinazione.
Analizzando la sintassi di un file .svg, le curve vengono convertite dal formato .xml nelle PolyCurve di Dynamo.
Le curve importate vengono associate ad una superficie di destinazione. Questo consente di progettare in modo esplicito (fare clic e puntare) una suddivisione in pannelli in Illustrator, importarla in Dynamo e applicarla ad una superficie di destinazione.
L'importazione zero-touch si riferisce a un semplice metodo di puntamento e clic per l'importazione di librerie C#. Dynamo consentirà di leggere i metodi pubblici di un file .dll e di convertirli in nodi di Dynamo. È possibile utilizzare la funzione zero-touch per sviluppare nodi e pacchetti personalizzati e per importare librerie esterne nell'ambiente di Dynamo.
File DLL
Nodi di Dynamo
Con la funzione zero-touch, è possibile infatti importare una libreria che non è stata necessariamente sviluppata per Dynamo e creare una suite di nuovi nodi. La funzionalità zero-touch corrente dimostra la mentalità multipiattaforma del progetto di Dynamo.
In Dynamo, creare un nuovo file e selezionare File > Importa libreria.
Quindi, individuare il file .dll.
Nella finestra a comparsa, accedere alla cartella Release nella directory di installazione di AForge. Probabilmente si troverà in una cartella simile a quella seguente: C:\Programmi (x86)\AForge.NET\Framework\Release.
AForge.Imaging.dll: per questo case study si desidera utilizzare solo questo file della libreria AForge. Selezionare questo file .dll e fare clic su Apri.
Tornando a Dynamo, dovrebbe essere visualizzato un gruppo di nodi AForge aggiunto alla Libreria. Ora è possibile accedere alla libreria delle immagini AForge dal programma visivo in uso.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
Ora che la libreria è stata importata, questo primo esercizio consentirà di iniziare con facilità (01-EdgeDetection.dyn). Per mostrare come applicare i filtri alle immagini AForge, si procederà con l'elaborazione di base di un'immagine di esempio. Verrà utilizzato il nodo Watch Image per mostrare i risultati e applicare i filtri in Dynamo in modo simile a quelli in Photoshop
Il nodo File Path fornisce semplicemente una stringa del percorso dell'immagine selezionata. Successivamente, è necessario convertirla in un file di immagine utilizzabile in Dynamo.
Utilizzare File From Path per convertire l'elemento del percorso del file in un'immagine nell'ambiente di Dynamo.
Collegare il nodo File Path al nodo File.FromPath.
Per convertire questo file in un'immagine, utilizzare il nodo Image.ReadFromFile.
Infine, osservare il risultato. Rilasciare un nodo Watch Image nell'area di disegno e collegarlo a Image.ReadFromFile. Non è stato ancora utilizzato AForge, ma è stata importata correttamente un'immagine in Dynamo.
In AForge.Imaging.AForge.Imaging.Filters (nel menu di navigazione), si noterà che è disponibile una vasta gamma di filtri. Ora si utilizzerà uno di questi filtri per desaturare un'immagine in base ai valori soglia.
Rilasciare tre dispositivi di scorrimento nell'area di disegno, modificarne gli intervalli in modo che siano compresi tra 0 e 1 e i valori di incremento corrispondenti in modo che siano 0.01.
Aggiungere il nodo Grayscale.Grayscale all'area di disegno. Si tratta di un filtro di AForge che applica un filtro della scala di grigi ad un'immagine. Collegare i tre dispositivi di scorrimento del punto 1 a cr, cg e cb. Modificare i dispositivi di scorrimento superiore e inferiore in modo che il valore 1 e il dispositivo di scorrimento centrale abbiano un valore pari a 0.
Per applicare il filtro Grayscale, è necessario eseguire un'azione sull'immagine. Per questo, viene utilizzato BaseFilter.Apply. Collegare l'immagine all'input image e Grayscale.Grayscale all'input baseFilter.
Collegandola ad un nodo Watch Image, viene visualizzata un'immagine desaturata.
Si può avere il controllo su come desaturare questa immagine in base ai valori soglia per rosso, verde e blu. Questi vengono definiti dagli input nel nodo Grayscale.Grayscale. Notare che l'immagine risulta abbastanza attenuata perché il valore verde è impostato su 0 nel dispositivo di scorrimento.
Modificare i dispositivi di scorrimento superiore e inferiore in modo che il valore 0 e il dispositivo di scorrimento centrale abbiano un valore pari a 1. In questo modo, si ottiene un'immagine desaturata più leggibile.
Utilizzare l'immagine desaturata e applicarvi un altro filtro. L'immagine desaturata presenta un certo livello di contrasto, quindi si cercherà di verificare il rilevamento degli spigoli.
Aggiungere un nodo SobelEdgeDetector.SobelEdgeDetector all'area di disegno.
Collegarlo a BaseUsingCopyPartialFilter.Apply e collegare l'immagine desaturata all'input image di questo nodo.
SobelEdgeDetector ha evidenziato gli spigoli in una nuova immagine.
Se si esegue lo zoom avanti, il rilevamento degli spigoli ha richiamato i contorni delle bolle con i pixel. La libreria AForge dispone di strumenti per ottenere risultati simili a questi e creare la geometria di Dynamo. Verranno descritti nel prossimo esercizio.
Dopo aver introdotto alcune operazioni di base per l'elaborazione di immagini, si utilizzerà un'immagine per gestire la geometria di Dynamo. A livello elementare, in questo esercizio si intende eseguire una "traccia dal vivo" di un'immagine utilizzando AForge e Dynamo. Si tratta di un esercizio semplice in cui vengono estratti rettangoli da un'immagine di riferimento, ma sono disponibili strumenti in AForge per operazioni più complesse. Si utilizzerà 02-RectangleCreation.dyn dei file degli esercizi scaricati.
Con il nodo File Path, accedere a grid.jpg nella cartella degli esercizi.
Collegare le serie rimanenti di nodi riportati sopra per mostrare una griglia parametrica dell'itinerario.
Dopo aver aggiunto uno strumento BlobCounter all'area di disegno, è necessario un modo per elaborare l'immagine (simile allo strumento BaseFilter.Apply nell'esercizio precedente).
Purtroppo il nodo Process Image non è immediatamente visibile nella libreria di Dynamo. Ciò è dovuto al fatto che la funzione potrebbe non essere visibile nel codice sorgente di AForge. Per risolvere questo problema, occorrerà trovare una soluzione alternativa.
Aggiungere un nodo Python all'area di disegno e aggiungere il seguente codice al nodo Python. Questo codice importa la libreria AForge, quindi elabora l'immagine importata.
Collegando l'output image all'input del nodo Python, si ottiene un risultato AForge.Imaging.BlobCounter dal nodo Python.
Collegare l'output dello script di Python a BlobCounterBase.GetObjectRectangles. In questo modo vengono letti gli oggetti in un'immagine, in base ad un valore soglia, e vengono estratti rettangoli quantificati dallo spazio in pixel.
Aggiungendo un altro nodo Python all'area di disegno, collegarlo a GetObjectRectangles e immettere il codice riportato di seguito. Così verrà creato un elenco organizzato di oggetti di Dynamo.
Trasporre l'output del nodo Python del passaggio precedente. Vengono creati quattro elenchi, ciascuno dei quali rappresenta X, Y, larghezza e altezza per ciascun rettangolo.
Utilizzando Code Block, organizzare i dati in una struttura che contiene il nodo Rectangle.ByCornerPoints (codice riportato di seguito).
È presente una serie di rettangoli che rappresentano i quadrati bianchi presenti nell'immagine. Attraverso la programmazione, è stato fatto qualcosa (all'incirca) simile a una traccia dal vivo in Illustrator.
Tuttavia, occorre ancora fare un po' di ordine. Se si esegue lo zoom avanti, è possibile vedere che sono presenti alcuni piccoli rettangoli indesiderati.
Successivamente, verranno scritti dei codici per eliminare i rettangoli indesiderati.
Inserire un nodo Python tra il nodo GetObjectRectangles e un altro nodo Python. Il codice del nodo è riportato di seguito e rimuove tutti i rettangoli che si trovano al di sotto di una determinata dimensione.
Con i rettangoli superflui eliminati, solo per divertimento, creare una superficie da questi rettangoli ed estruderli ad una distanza basata sulle loro aree.
Infine, modificare l'input both_sides in false; si ottiene un'estrusione in una direzione. Immergendo questo elemento nella resina, si ottiene un tavolo di design.
Accanto a DynamoUnfold, selezionare il menu delle opzioni .
Questo file di esempio illustra com'è possibile utilizzare PointsToSurface per eseguire la suddivisione di una superficie in pannelli in base ad una griglia di rettangoli. Questo processo dovrebbe risultare familiare, poiché è stato dimostrato un workflow simile nel .
In questa sezione è illustrato come utilizzare la funzione zero-touch per importare una libreria di terze parti. Per informazioni sullo sviluppo della propria libreria zero-touch, fare riferimento alla .
I pacchetti zero-touch sono un buon complemento ai nodi personalizzati definiti dall'utente. Nella tabella riportata di seguito sono elencati alcuni pacchetti che utilizzano le librerie C#. Per informazioni più dettagliate sui pacchetti, visitare la dell'Appendice.
In questo case study, sarà mostrato come importare la libreria .dll esterna. AForge è una solida libreria che offre una vasta gamma di funzionalità, dall'elaborazione delle immagini all'intelligenza artificiale. Verrà fatto riferimento alla classe di immagini in AForge per eseguire alcuni esercizi di elaborazione delle immagini riportati di seguito.
Per iniziare, scaricare AForge. Nella , selezionare [Download Installer] ed eseguire l'installazione dopo il completamento del download.
Aggiungere un nodo File Path all'area di disegno e selezionare "soapbubbles.jpg" dalla cartella degli esercizi scaricati (credito fotografico: ).
Nel passaggio successivo, si desidera fare riferimento ai quadrati bianchi presenti nell'immagine e convertirli nella geometria di Dynamo effettiva. AForge dispone di molti potenti strumenti di visione artificiale. Si utilizzerà uno strumento particolarmente importante per la libreria chiamato .
Nei passaggi successivi sono illustrati alcuni suggerimenti che dimostrano familiarità con l'. Non è necessario apprenderli tutti per far funzionare Dynamo. È qualcosa di più di una dimostrazione dell'utilizzo delle librerie esterne con tutta la flessibilità dell'ambiente Dynamo.
Questi sono esempi di base, ma i concetti qui delineati sono trasferibili a straordinarie applicazioni reali. La visione artificiale può essere utilizzata per un'intera serie di processi. Per citarne alcuni: lettori di codici a barre, corrispondenza della prospettiva, e . Per argomenti più avanzati su AForge correlati a questo esercizio, leggere .
Logo/Immagine | Nome |
Nelle sezioni precedenti, sono stati analizzati i dettagli su come il pacchetto MapToSurface è configurato con nodi personalizzati e file di esempio. Ma com'è possibile pubblicare un pacchetto che è stato sviluppato localmente? Questo case study mostra come pubblicare un pacchetto da un gruppo di file in una cartella locale.
Esistono diversi modi per pubblicare un pacchetto. Di seguito è riportato il processo consigliato: pubblicare localmente, sviluppare localmente, quindi pubblicare in linea. Si inizierà con una cartella contenente tutti i file del pacchetto.
Prima di passare alla pubblicazione del pacchetto MapToSurface, se il pacchetto è stato installato dalla lezione precedente, disinstallarlo in modo da non utilizzare pacchetti identici.
Iniziare accedendo a Pacchetti > Package Manager > scheda Pacchetti installati > accanto a MapToSurface, fare clic sul menu con i puntini verticali > Elimina.
Quindi riavviare Dynamo. Alla riapertura, quando si seleziona la finestra Gestisci pacchetti, MapToSurface non dovrebbe più essere presente. Ora si è pronti per cominciare dall'inizio.
È possibile pubblicare nodi e pacchetti personalizzati da Dynamo Sandbox nella versione 2.17 e successive, purché non presentino dipendenze API host. Nelle versioni precedenti, la pubblicazione di nodi e pacchetti personalizzati è abilitata solo in Dynamo for Revit e Dynamo for Civil 3D.
Scaricare il file di esempio facendo clic sul collegamento seguente.
Un elenco completo di file di esempio è disponibile nell'Appendice.
Questo è il primo invio per il pacchetto e tutti i file di esempio e i nodi personalizzati sono stati inseriti in una cartella. Una volta preparata questa cartella, è possibile caricarla in Dynamo Package Manager.
Questa cartella contiene cinque nodi personalizzati (.dyf).
Contiene inoltre cinque file di esempio (.dyn) e un file vettoriale importato (.svg). Questi file fungeranno da esercizi introduttivi per mostrare all'utente come utilizzare i nodi personalizzati.
In Dynamo, iniziare facendo clic su Pacchetti > Package Manager > scheda Pubblica nuovo pacchetto.
Nella scheda Pubblica un pacchetto, compilare i campi pertinenti sul lato sinistro della finestra.
Successivamente, verranno aggiunti i file di pacchetto. È possibile aggiungere i file uno ad una o intere cartelle selezionando Aggiungi directory (1). Per aggiungere file che non sono in formato .dyf, assicurarsi di modificare il tipo di file nella finestra del browser in "Tutti i file (.)". Notare che verrà aggiunto indistintamente ogni file, il nodo personalizzato (.dyf) o il file di esempio (.dyn). Dynamo consentirà di suddividere questi elementi quando si pubblica il pacchetto.
Dopo aver selezionato la cartella MapToSurface, Package Manager ne mostra il contenuto. Se si sta caricando un pacchetto personalizzato con una struttura di cartelle complessa e non si desidera che Dynamo apporti modifiche a tale struttura, è possibile attivare il pulsante di commutazione Mantieni struttura delle cartelle. Questa opzione è destinata agli utenti avanzati; se il pacchetto non è stato appositamente impostato in un modo specifico, è consigliabile lasciare disattivato questo pulsante di commutazione e consentire a Dynamo di organizzare i file in base alle esigenze. Fare clic su Avanti per continuare.
Qui, è possibile visualizzare un'anteprima di come Dynamo organizzerà i file di pacchetto prima della pubblicazione. Fare clic su Fine per continuare.
Pubblicare facendo clic su Pubblica localmente (1). Se si sta seguendo questa procedura, assicurarsi di fare clic su Pubblica localmente e non Pubblica in linea per evitare di creare un gruppo di pacchetti duplicati in Package Manager.
Dopo la pubblicazione, i nodi personalizzati devono essere disponibili nel gruppo "DynamoPrimer" o nella libreria di Dynamo.
Ora osservare la directory principale per vedere in che modo Dynamo ha formattato il pacchetto appena creato. A tale scopo, accedere alla scheda Pacchetti installati > accanto a MapToSurface, fare clic sul menu con i puntini verticali > selezionare Mostra directory principale.
Si noti che la directory principale si trova nella posizione locale del pacchetto (tenere presente che il pacchetto è stato pubblicato "localmente"). Dynamo fa attualmente riferimento a questa cartella per la lettura di nodi personalizzati. È pertanto importante pubblicare la directory localmente in una posizione di cartella permanente (ad esempio, non sul desktop). Di seguito è riportata la suddivisione delle cartelle del pacchetto di Dynamo.
La cartella bin contiene i file .dll creati con le librerie C# o zero-touch. Non sono disponibili per questo pacchetto, pertanto questa cartella è vuota per questo esempio.
La cartella dyf contiene i nodi personalizzati. Se si apre questa finestra, verranno visualizzati tutti i nodi personalizzati (file .dyf) per questo pacchetto.
La cartella extra contiene tutti i file aggiuntivi. Questi file probabilmente saranno file di Dynamo (.dyn) o eventuali file aggiuntivi richiesti (.svg, .xls, .jpeg, .sat, ecc.).
Il file pkg è un file di testo di base che definisce le impostazioni del pacchetto. Questa opzione è automatica in Dynamo, ma può essere modificata se si desidera accedere ai dettagli.
Nota Seguire questa procedura solo se si sta effettivamente pubblicando un pacchetto personalizzato.
Quando si è pronti per la pubblicazione, nella finestra Pacchetti > Package Manager > Pacchetti installati, selezionare il pulsante a destra del pacchetto che si desidera pubblicare e scegliere Pubblica.
Se si sta aggiornando un pacchetto già pubblicato, scegliere Pubblica versione. Dynamo aggiornerà il pacchetto in linea in base ai nuovi file nella directory principale del pacchetto. È semplicissimo.
Quando si aggiornano i file nella cartella principale del pacchetto pubblicato, è anche possibile pubblicare una nuova versione del pacchetto selezionando Pubblica versione... nella finestra Pacchetti personali. Questo è un modo semplice per apportare gli aggiornamenti necessari al contenuto e condividerli con la comunità. Pubblica versione funziona solo se si è il gestore del pacchetto.