Dynamo
Primer for v2.0
Italiano
Italiano
  • Informazioni
  • Introduzione
    • Che cos'è Dynamo e come funziona?
    • Guida introduttiva, comunità e piattaforma di Dynamo
  • Installazione per Dynamo
  • Interfaccia utente
    • Area di lavoro
    • Libreria
  • Nodi e fili
  • Nodi e concetti essenziali
    • Indice dei nodi
    • Geometria per la progettazione computazionale
      • Panoramica sulla geometria
      • Vettore, piano e sistema di coordinate
      • Punti
      • Curve
      • Superfici
      • Solidi
      • Mesh
    • Elementi di base dei programmi
      • Dati
      • Matematica
      • Logica
      • Stringhe
      • Colore
    • Progettazione con elenchi
      • Che cos'è un elenco?
      • Utilizzo di elenchi
      • Elenchi di elenchi
      • Elenchi n-dimensionali
    • Dizionari in Dynamo
      • Che cos'è un dizionario?
      • Nodi Dictionary
      • Dizionari nei blocchi di codice
      • Casi di utilizzo di Revit
  • Pacchetti e nodi personalizzati
    • Nodi personalizzati
      • Introduzione ai nodi personalizzati
      • Creazione di un nodo personalizzato
      • Pubblicazione nella libreria
    • Pacchetti
      • Introduzione ai pacchetti
      • Case study di un pacchetto - Mesh Toolkit
      • Sviluppo di un pacchetto
      • Pubblicazione di un pacchetto
      • Importazione zero-touch
  • Dynamo per Revit
    • Correlazione con Revit
    • Selezione
    • Modifica
    • Creazione
    • Personalizzazione
    • Documentazione
  • Dynamo for Civil 3D
    • Connessione a Civil 3D
    • Per iniziare
    • Libreria di nodi
    • Esempi di workflow
      • Strade
        • Posizionamento di lampioni
      • Gestione catastale
        • Posizionamento dei servizi
      • Impianti di pubblica utilità
        • Ridenominazione di strutture
      • Ferrovia
        • Sagoma dello spazio libero
      • Rilievi
        • Gestione di gruppi di punti
    • Argomenti avanzati
      • Unione di oggetti
      • Python e Civil 3D
    • Dynamo Player
    • Pacchetti utili
    • Risorse
  • Dynamo in Forma Beta
    • Impostazione di Dynamo Player in Forma
    • Aggiunta e condivisione di grafici in Dynamo Player
    • Esecuzione di grafici in Dynamo Player
    • Differenze tra Dynamo compute service e Desktop Dynamo
  • Codifica in Dynamo
    • Blocchi di codice e DesignScript
      • Cos'è un blocco di codice?
      • Sintassi di DesignScript
      • Sintassi abbreviata
      • Funzioni
    • Geometria con DesignScript
      • Nozioni di base della geometria DesignScript
      • Primitive geometriche
      • Matematica vettoriale
      • Curve: punti interpolati e di controllo
      • Traslazione, rotazione e altre trasformazioni
      • Superfici: punti interpolati e di controllo, loft, rivoluzione
      • Parametrizzazione geometrica
      • Intersezione e taglio
      • Operazioni booleane geometriche
      • Generatori di punti di Python
    • Python
      • Nodi Python
      • Python e Revit
      • Impostazione del modello di Python personalizzato
    • Modifiche al linguaggio
  • Procedure ottimali
    • Strategie sui grafici
    • Strategie di scripting
    • Riferimento per lo scripting
    • Gestione del programma
    • Utilizzo efficiente di set di dati di grandi dimensioni in Dynamo
  • Esempi di workflow
    • Introduzione ai workflow
      • Vaso parametrico
      • Punti attrattore
    • Indice concettuale
  • Guida introduttiva per sviluppatori
    • Compilazione di Dynamo dalla sorgente
      • Compilazione di DynamoRevit dalla sorgente
      • Gestione e aggiornamento delle dipendenze in Dynamo
    • Sviluppo per Dynamo
      • Per iniziare
      • Case study zero-touch - Nodo griglia
      • Esecuzione di script Python in nodi zero-touch (C#)
      • Ulteriori informazioni sul concetto di zero-touch
      • Personalizzazione avanzata dei nodi di Dynamo
      • Utilizzo di tipi COM (interoperabilità) nei pacchetti di Dynamo
      • Case study NodeModel - Interfaccia utente personalizzata
      • Aggiornamento di pacchetti e librerie di Dynamo per Dynamo 2.x
      • Aggiornamento di pacchetti e librerie di Dynamo per Dynamo 3.x
      • Estensioni
      • Definizione dell'organizzazione di pacchetti personalizzati (Dynamo 2.0 e versioni successive)
      • Interfaccia della riga di comando di Dynamo
      • Integrazione per Dynamo
      • Sviluppo per Dynamo for Revit
      • Pubblicazione di un pacchetto
      • Creazione di un pacchetto da Visual Studio
      • Estensioni come pacchetti
    • Richieste pull
    • Aspettative di test
    • Esempi
  • Appendice
    • Domande frequenti
    • Programmazione visiva e Dynamo
    • Risorse
    • Note di rilascio
    • Pacchetti utili
    • File di esempio
    • Mappa di integrazione host
    • Download del file PDF
    • Tasti di scelta rapida di Dynamo
Powered by GitBook
On this page
  • Creazione di un progetto di Visual Studio
  • Modalità di lettura di classi e metodi in Dynamo
  • Aggiunta di riferimenti ai pacchetti NuGet di Dynamo
Edit on GitHub
Export as PDF
  1. Guida introduttiva per sviluppatori
  2. Sviluppo per Dynamo

Per iniziare

PreviousSviluppo per DynamoNextCase study zero-touch - Nodo griglia

Last updated 2 months ago

Prima di dedicarci al tema dello sviluppo, è importante costruire una solida base per un nuovo progetto. Nella comunità di sviluppatori di Dynamo sono disponibili diversi modelli di progetto che rappresentano ottimi punti di partenza, ma è ancora più importante comprendere come iniziare un progetto da zero. Creare un progetto dalle fondamenta consente di comprendere meglio il processo di sviluppo.

Creazione di un progetto di Visual Studio

Visual Studio è un potente IDE in cui è possibile creare un progetto, aggiungere riferimenti, creare file .dlls ed eseguire il debug. Quando si crea un nuovo progetto, in Visual Studio viene creata anche una soluzione, una struttura per l'organizzazione dei progetti. Più progetti possono coesistere all'interno di un'unica soluzione ed essere costruiti insieme. Per creare un nodo ZeroTouch, è necessario avviare un nuovo progetto di Visual Studio in cui scrivere una libreria di classi C# e creare un file .dll.

La finestra di un nuovo progetto in Visual Studio

  1. Iniziare aprendo Visual Studio e creando un nuovo progetto: File > New > Project.

  2. Scegliere il modello di progetto Class Library.

  3. Assegnare un nome al progetto (abbiamo denominato il progetto MyCustomNode).

  4. Impostare il percorso del file per il progetto. In questo esempio, lo lasceremo nella posizione di default.

  5. Selezionare Ok.

In Visual Studio si creerà e si aprirà automaticamente un file C#. Dobbiamo assegnargli un nome appropriato, impostare l'area di lavoro e sostituire il codice di default con questo metodo di moltiplicazione.

 namespace MyCustomNode
 {
     public class SampleFunctions
     {
         public static double MultiplyByTwo(double inputNumber)
         {
             return inputNumber * 2.0;
         }
     }
 }
  1. Aprire le finestre Esplora soluzioni e Output da Visualizza.

  2. Rinominare il file Class1.cs con SampleFunctions.cs in Esplora soluzioni a destra.

  3. Aggiungere il codice riportato sopra per la funzione di moltiplicazione. Descriveremo le specifiche di come Dynamo leggerà le classi C# in un secondo momento.

  4. Esplora soluzioni: consente di accedere a tutto ciò che è presente nel progetto.

  5. La finestra Output: ci servirà in seguito per vedere se la creazione è andata a buon fine.

Il passaggio successivo consiste nella creazione del progetto, ma prima di procedere con questa operazione dobbiamo verificare alcune impostazioni. Assicurarsi innanzitutto che l'opzione Any CPU o x64 sia selezionata in Platform target e che l'opzione Prefer 32-bit sia deselezionata in Project Properties.

  1. Aprire le proprietà del progetto selezionando Progetto > "NomeProgetto" > Properties.

  2. Selezionare la pagina Compilazione.

  3. Selezionare Any CPU o x64 dal menu a discesa.

  4. Assicurarsi che l'opzione Preferisci 32 bit sia deselezionata.

Ora possiamo realizzare il progetto per creare un file .dll. A tale scopo, selezionare Compila soluzione dal menu Compilazione o utilizzare il tasto di scelta rapida CTRL+SHIFT+B.

  1. Selezionare Compilazione > Compila soluzione.

  2. È possibile determinare se il progetto è stato creato correttamente controllando la finestra Output.

Se il progetto è stato creato correttamente, nella cartella bin del progetto sarà presente un file .dll denominato MyCustomNode. Per questo esempio abbiamo lasciato il percorso del file del progetto di default di Visual Studio: c:\users\username\documents\visual studio 2015\Projects. Diamo un'occhiata alla struttura dei file del progetto.

  1. La cartella bin contiene il file .dll creato da Visual Studio.

  2. Il file del progetto di Visual Studio.

  3. Il file della classe.

  4. Poiché la configurazione della nostra soluzione è stata impostata su Debug, il file .dll verrà creato in bin\Debug.

Ora possiamo aprire Dynamo e importare il file .dll. Con la funzione Add-ons, accedere alla posizione bin del progetto e selezionare il file .dll da aprire.

  1. Selezionare il pulsante Add-ons per importare un file .dll.

  2. Individuare la posizione del progetto. Il nostro progetto si trova nel percorso dei file di default di Visual Studio: C:\Users\username\Documents\Visual Studio 2015\Projects\MyCustomNode.

  3. Selezionare il file MyCustomNode.dll da importare.

  4. Fare clic su Apri per caricare il file .dll.

Se nella libreria viene creata una categoria denominata MyCustomNode, il file .dll è stato importato correttamente. Tuttavia, Dynamo ha creato due nodi da quello che voleva essere un singolo nodo. Nella sezione successiva spiegheremo perché ciò accade e come Dynamo legge un file .dll.

  1. MyCustomNode nella libreria di Dynamo. La categoria Libreria è determinata dal nome .dll.

  2. SampleFunctions.MultiplyByTwo nell'area di disegno.

Modalità di lettura di classi e metodi in Dynamo

Quando Dynamo carica un file .dll, espone tutti i metodi statici pubblici come nodi. I costruttori, i metodi e le proprietà verranno convertiti rispettivamente nei nodi Create, Action e Query. Nel nostro esempio di moltiplicazione, il metodo MultiplyByTwo() diventa un nodo Action in Dynamo. Ciò è dovuto al fatto che il nome del nodo è stato assegnato in base al metodo e alla classe corrispondenti.

  1. L'input viene denominato inputNumber in base al nome del parametro del metodo.

  2. Per default, l'output viene denominato double perché è il tipo di dati restituito.

  3. Il nodo viene denominato SampleFunctions.MultiplyByTwo, perché si tratta dei nomi della classe e del metodo.

Nell'esempio precedente, è stato creato il nodo Create SampleFunctions aggiuntivo perché non è stato fornito esplicitamente un costruttore e pertanto ne è stato creato uno automaticamente. Per evitare questo problema, è possibile creare un costruttore privato vuoto nella nostra classe SampleFunctions.

namespace MyCustomNode
{
    public class SampleFunctions
    {
        //The empty private constructor.
        //This will be not imported into Dynamo.
        private SampleFunctions() { }

        //The public multiplication method. 
        //This will be imported into Dynamo.
        public static double MultiplyByTwo(double inputNumber)
        {
            return inputNumber * 2.0;
        }
    }
}
  1. Dynamo ha importato il metodo come nodo Create.

Aggiunta di riferimenti ai pacchetti NuGet di Dynamo

Il nodo di moltiplicazione è molto semplice e non sono necessari riferimenti a Dynamo. Se si desidera accedere ad una qualsiasi delle funzionalità di Dynamo per creare, ad esempio, la geometria, sarà necessario fare riferimento ai pacchetti NuGet di Dynamo.

Per fare riferimento a questi pacchetti in un progetto di Visual Studio, scaricare il pacchetto da NuGet nei collegamenti precedenti e fare riferimento manualmente ai file .dll oppure utilizzare Gestione pacchetti NuGet in Visual Studio. Per prima cosa possiamo illustrare come installarli con NuGet in Visual Studio.

  1. Aprire Gestione pacchetti NuGet selezionando Strumenti > Gestione pacchetti NuGet > Gestione pacchetti NuGet per la soluzione.

È Gestione pacchetti NuGet. Questa finestra mostra i pacchetti installati per il progetto e consente all'utente di cercarne altri. Se viene rilasciata una nuova versione del pacchetto DynamoServices, è possibile aggiornare i pacchetti da questa posizione o ripristinare una versione precedente.

  1. Selezionare Sfoglia e cercare DynamoVisualProgramming per visualizzare i pacchetti di Dynamo.

  2. I pacchetti di Dynamo. Selezionandone uno, verranno mostrate la versione corrente e la descrizione del loro contenuto.

  3. Selezionare la versione del pacchetto desiderata e fare clic su Installa. In questo modo viene installato un pacchetto per il progetto specifico in cui si sta lavorando. Poiché si sta utilizzando la release stabile più recente di Dynamo, la versione 1.3, scegliere la versione del pacchetto corrispondente.

Per aggiungere manualmente un pacchetto scaricato dal browser, aprire Gestione riferimenti da Esplora soluzioni e cercare il pacchetto.

  1. Fare clic con il pulsante destro del mouse su Riferimenti e selezionare Aggiungi riferimento.

  2. Selezionare Sfoglia per accedere alla posizione del pacchetto.

Ora che Visual Studio è configurato correttamente e abbiamo aggiunto un file .dll a Dynamo, abbiamo una solida base per i concetti futuri. Questo è solo l'inizio, quindi è bene continuare a seguirci per ulteriori informazioni su come creare un nodo personalizzato.

: pacchetto per la creazione di librerie di nodi zero touch per Dynamo che contiene le seguenti librerie: DynamoUnits.dll, ProtoGeometry.dll

: pacchetto per la creazione di librerie di nodi per Dynamo con interfaccia utente personalizzata in WPF che contiene le seguenti librerie: DynamoCoreWpf.dll, CoreNodeModels.dll, CoreNodeModelWpf.dll

: libreria di DynamoServices per Dynamo

: infrastruttura di unit test e test di sistema per Dynamo che contiene le seguenti librerie: DSIronPython.dll, DynamoApplications.dll, DynamoCore.dll, DynamoInstallDetective.dll, DynamoShapeManager.dll, DynamoUtilities.dll, ProtoCore.dll, VMDataBridge.dll

: infrastruttura di unit test e test di sistema per Dynamo che contiene le seguenti librerie: DynamoCoreTests.dll, SystemTestServices.dll, TestServices.dll

: pacchetto per la creazione di nodi di base per Dynamo che contiene le seguenti librerie: Analysis.dll, GeometryColor.dll, DSCoreNodes.dll

ZeroTouchLibrary
WpfUILibrary
DynamoServices
Core
Test
DynamoCoreNodes
Visual Studio
Creazione di un nuovo progetto in Visual Studio
Configurazione di un nuovo progetto in Visual Studio
Utilizzo di Esplora soluzioni
Impostazioni di creazione di Visual Studio
Creazione di una soluzione
Struttura dei file del progetto
Apertura del file .dll del progetto
Nodi personalizzati
Nodo SampleFunction.MultiplyByTwo in un grafico
Metodo importato come nodo Create
Apertura di Gestione pacchetti NuGet
Gestione pacchetti NuGet
Reference Manager