# Esempi

Se si cercano esempi su come sviluppare Dynamo, consultare le seguenti risorse:

#### Esempi di repository <a href="#sample-repositories" id="sample-repositories"></a>

Di seguito sono riportati alcuni esempi di modelli di Visual Studio che è possibile utilizzare per avviare un progetto personalizzato:

* [**ZeroTouchEssentials**](https://github.com/DynamoDS/ZeroTouchEssentials)**:** modello per i nodi zero-touch di base.
  * Restituire più output: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloNodeModel.cs#L15-L24)
  * Utilizzare un oggetto geometria nativo da Dynamo: [codice](https://github.com/DynamoDS/ZeroTouchEssentials/blob/9917fd8159afc9e7bdb2944c960155a496e0b2dc/ZeroTouchEssentials/ZeroTouchEssentials.cs#L86-L89)
  * Proprietà di esempio (nodo Query): [codice](https://github.com/DynamoDS/ZeroTouchEssentials/blob/9917fd8159afc9e7bdb2944c960155a496e0b2dc/ZeroTouchEssentials/ZeroTouchEssentials.cs#L48)
* [**HelloDynamo**](https://github.com/teocomi/HelloDynamo)**:** modelli per i nodi NodeModel di base e la personalizzazione della vista.
  * Modello NodeModel di base: [HelloNodeModel.cs](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/HelloNodeModel.cs)
    * Definire gli attributi del nodo (nomi di input/output, descrizioni, tipi): [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloNodeModel.cs#L15)
    * Restituire un nodo null se non sono presenti input: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloNodeModel.cs#L34-L36)
    * Creare una chiamata di funzione: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloNodeModel.cs#L39)
  * Modello di personalizzazione della vista NodeModel di base: [HelloGui.cs](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/HelloGui.cs), [HelloGuiNodeView.cs](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/HelloGuiNodeView.cs), [Slider.xaml](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/Slider.xaml), [Slider.xaml.cs](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/Slider.xaml.cs)
    * Avvisare l'interfaccia utente che un elemento deve essere aggiornato: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloGui.cs#L27)
    * Personalizzare NodeModel: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/HelloGuiNodeView.cs#L11)
    * Definire gli attributi del dispositivo di scorrimento: [codice](https://github.com/teocomi/HelloDynamo/blob/6c5333d731d58043c12e84cd3244cdbafbe74934/HelloDynamo/HelloNodeModel/Slider.xaml#L10)
    * Determinare la logica di interazione per il dispositivo di scorrimento: [codice](https://github.com/teocomi/HelloDynamo/blob/master/HelloDynamo/HelloNodeModel/Slider.xaml.cs)
* [**DynamoSamples**](https://github.com/DynamoDS/DynamoSamples)**:** modelli per nodi zero-touch, interfaccia utente personalizzata, test ed estensioni delle viste.
  * [Esempi di interfaccia utente](https://github.com/DynamoDS/DynamoSamples/tree/master/src/SampleLibraryUI)
    * Creare un nodo dell'interfaccia utente personalizzato di base: [CustomNodeModel.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryUI/Examples/CustomNodeModel.cs)
    * Creare un menu a discesa: [DropDown.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryUI/Examples/DropDown.cs)
  * [Test](https://github.com/DynamoDS/DynamoSamples/tree/master/src/SampleLibraryTests)
    * Test di sistema: [HelloDynamoSystemTests.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryTests/HelloDynamoSystemTests.cs)
    * Test zero-touch: [HelloDynamoZeroTouchTests.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryTests/HelloDynamoZeroTouchTests.cs)
  * [Esempi zero-touch](https://github.com/DynamoDS/DynamoSamples/tree/master/src/SampleLibraryZeroTouch/Examples):
    * Esempio di nodi zero-touch, incluso uno che implementa `IGraphicItem` per influenzare il rendering della geometria: [BasicExample.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryZeroTouch/Examples/BasicExample.cs)
    * Esempio di nodi zero-touch per colorare la geometria utilizzando `IRenderPackage`: [ColorExample.cs](https://github.com/DynamoDS/DynamoSamples/blob/master/src/SampleLibraryZeroTouch/Examples/ColorExample.cs)
  * [Esempi di estensione della vista](https://github.com/DynamoDS/DynamoSamples/tree/master/src/SampleViewExtension): un'implementazione IViewExtension che mostra una finestra non modale quando si fa clic sul relativo MenuItem.
* [**NodeModelsEssentials**](https://github.com/nonoesp/DynamoNodeModelsEssentials)**:** modelli per lo sviluppo di pacchetti di Dynamo avanzati utilizzando NodeModel.
  * Esempi di Essentials:
    * [Error](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/EssentialsError.cs)
    * [MultiOperation](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/EssentialsMultiOperation.cs)
    * [Multiply](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/EssentialsMultiply.cs)
    * [Timeout](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/EssentialsTimeout.cs)
  * Esempi di geometria:
    * [CustomPreview](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/GeometryCustomPreview.cs)
    * [SurfaceFrom4Points](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/GeometrySurfaceFrom4Points.cs)
    * [UVPlanesOnSurface](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/GeometryUVPlanesOnSurface.cs)
    * [WobblySurface](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/GeometryWobblySurface.cs)
  * Esempi di interfaccia utente:
    * [Button](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UIButton.cs)
    * [ButtonFunction](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UIButtonFunction.cs)
    * [CopyableWatch](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UICopyableWatch.cs)
    * [Slider](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UISlider.cs)
    * [SliderBound](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UISliderBound.cs)
    * [State](https://github.com/nonoesp/DynamoNodeModelsEssentials/blob/master/src/Essentials/NodeModelsEssentials/UIState.cs)

[**DynamoText**](https://github.com/DynamoDS/DynamoText)**:** una libreria zero-touch per la creazione di testo in Dynamo.

#### Case study <a href="#case-studies" id="case-studies"></a>

Gli sviluppatori di terze parti hanno apportato contributi significativi ed entusiasmanti alla piattaforma, molti dei quali sono anche open source. I seguenti progetti sono esempi eccezionali di ciò che si può fare con Dynamo.

**Ladybug** è una libreria Python che consente di caricare, analizzare e modificare i file EPW (EnergyPlus Weather).

<https://github.com/ladybug-tools/ladybug>

**Honeybee** è una libreria Python che consente di creare, eseguire e visualizzare i risultati della luce diurna (RADIANCE) e dell'analisi energetica (EnergyPlus/OpenStudio).

<https://github.com/ladybug-tools/honeybee>

**Bumblebee** è un plug-in per l'interoperabilità di Excel e Dynamo (GPL).

<https://github.com/ksobon/Bumblebee>

**Clockwork** è una raccolta di nodi personalizzati per le attività correlate a Revit, nonché altri scopi quali la gestione degli elenchi, le operazioni matematiche, le operazioni di tipo stringa, le operazioni geometriche (principalmente caselle di delimitazione, mesh, piani, punti, superfici, UV e vettori) e la suddivisione in pannelli.

<https://github.com/andydandy74/ClockworkForDynamo>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://primer2.dynamobim.org/it/1_developer_primer_intro/7_examples.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
