
La Sfida: Creare Parametri Condivisi su Scala#
Creare parametri condivisi in Revit è semplice — quando ne hai bisogno solo uno o due. Ma cosa succede quando devi creare 50 parametri per un progetto MEP complesso? O standardizzare più di 100 parametri nel template della tua organizzazione?
Il processo manuale diventa un incubo:
- Aprire il file dei Parametri Condivisi
- Creare ogni parametro uno per uno
- Selezionare la categoria, il gruppo e il tipo di dati corretti
- Ripetere... 50, 100 o 200 volte
È qui che Dynamo brilla. Ma ecco il dettaglio che confonde la maggior parte degli sviluppatori: l'API di Revit non accetta testo semplice per i tipi di parametri. Non puoi semplicemente digitare "Length" o "Text" — hai bisogno di oggetti Forge TypeId specifici.
Comprendere i Tipi di Parametri#
Prima di immergerci nella soluzione, capiamo le due specifiche di tipo critiche:
Spec Type (Tipo di Dati)#
Lo Spec Type definisce che tipo di dati il parametro memorizzerà — testo, numeri, misure, valori elettrici, ecc.

Esempi:
autodesk.spec:spec.string-2.0.0→ Testoautodesk.spec.aec:length-2.0.0→ Misura di lunghezzaautodesk.spec.aec.electrical:power-2.0.0→ Potenza elettrica
Group Type (Posizionamento UI)#
Il Group Type determina in quale sezione il parametro appare nel pannello Proprietà di Revit — Dimensioni, Dati di Identità, Elettrico, Meccanico, ecc.

Esempi:
autodesk.parameter.group:identityData-1.0.0→ Sezione Dati di Identitàautodesk.parameter.group:dimensions-1.0.0→ Sezione Dimensioniautodesk.parameter.group:electrical-1.0.0→ Sezione Elettrico
La Soluzione Dynamo#
L'intuizione chiave è che Excel memorizza tutto come testo, ma l'API di Revit richiede tipi di oggetto specifici. Il nostro script Dynamo fa da ponte convertendo stringhe di testo in oggetti API Revit appropriati.

Flusso di Lavoro dello Script#
Il flusso di lavoro si divide in 5 passaggi chiari:
1. Input Dati (Percorso File)
- Localizza il tuo file Excel contenente le definizioni dei parametri
- Semplicemente incolla il percorso completo del file Excel
- Importante: Assicurati che il file Excel sia chiuso prima di eseguire lo script

2. Lettura Excel (Data.ImportExcel)
- Legge tutte le righe e colonne dal tuo foglio di calcolo Excel
- Tutti i dati escono come testo semplice (stringhe)
- Questi dati grezzi devono essere convertiti in formati compatibili con Revit
3. Conversione Dati (List.Deconstruct + List.Transpose)
- Separa ogni colonna Excel in liste individuali per l'elaborazione
- Risulta in 6 liste separate: nome, categoria, gruppo, istanza/tipo, grouptype, spectype
- Dynamo elabora le liste in modo più efficiente delle tabelle

4. Conversione Forge (Nodi TypeId)
- Converte le stringhe di testo Excel in tipi di oggetto Revit appropriati
SpecType.ByTypeId: Converte stringhe spec type in oggetti SpecTypeIdGroupType.ByTypeId: Converte stringhe group type in oggetti GroupTypeIdCategory.ByName: Converte nomi di categorie (come "Walls") in oggetti Category

5. Creazione Parametri (Parameter.CreateSharedParameter)
- Crea i Parametri Condivisi effettivi nel tuo progetto Revit
- Riceve tutti i dati convertiti dai passaggi precedenti
- I parametri appaiono immediatamente nel tuo progetto Revit

Struttura del Template Excel#
Il tuo file Excel deve avere esattamente queste 6 colonne in questo ordine esatto:
Colonna | Scopo | Esempi |
|---|---|---|
parameter_Name | Il nome che appare nelle Proprietà | ELEC_PANEL_RATING, STRUCT_BEAM_CAPACITY |
category | Quali elementi Revit ricevono questo parametro | Walls, Doors, Electrical Equipment |
groupName | Cartella personalizzata nella palette Proprietà | Electrical Analysis, Custom Dimensions |
instance/Type | Parametro di Istanza (TRUE) o Tipo (FALSE) | TRUE, FALSE |
grouptype | Sezione proprietà predefinita Revit | autodesk.parameter.group:electrical-1.0.0 |
spectype | Tipo di dati che il parametro memorizza | autodesk.spec:spec.string-2.0.0 |
Esempio Funzionante#
Ecco un esempio pronto all'uso per parametri di attrezzature ascensori:
1parameter_Name category groupName instance/Type grouptype spectype2SRE_ELEVATOR_TYPE Specialty Equipment Specialty Equipment_SRE FALSE autodesk.parameter.group:identityData-1.0.0 autodesk.spec:spec.string-2.0.03SRE_ELEVATOR_STOPS Specialty Equipment Specialty Equipment_SRE TRUE autodesk.parameter.group:identityData-1.0.0 autodesk.spec.aec:number-2.0.04SRE_ELEVATOR_LOAD Specialty Equipment Specialty Equipment_SRE FALSE autodesk.parameter.group:identityData-1.0.0 autodesk.spec.aec:number-2.0.0Cosa crea:
- 3 parametri per la categoria Specialty Equipment
- Gruppo personalizzato chiamato "Specialty Equipment_SRE" nel pannello Proprietà
- Mix di parametri testo (TYPE) e numerici (STOPS, LOAD)
- Alcuni a livello di istanza (STOPS) e alcuni a livello di tipo (TYPE, LOAD)
Riferimento Rapido: Tipi Comuni di Parametri#
Tipo di Parametro | SpecType | GroupType |
|---|---|---|
Descrizione Testo | autodesk.spec:spec.string-2.0.0 | autodesk.parameter.group:identityData-1.0.0 |
Conteggio Numerico | autodesk.spec.aec:number-2.0.0 | autodesk.parameter.group:identityData-1.0.0 |
Scelta Sì/No | autodesk.spec:spec.bool-1.0.0 | autodesk.parameter.group:identityData-1.0.0 |
Lunghezza/Distanza | autodesk.spec.aec:length-2.0.0 | autodesk.parameter.group:dimensions-1.0.0 |
Area | autodesk.spec.aec:area-2.0.0 | autodesk.parameter.group:dimensions-1.0.0 |
Volume | autodesk.spec.aec:volume-2.0.0 | autodesk.parameter.group:dimensions-1.0.0 |
Potenza Elettrica | autodesk.spec.aec.electrical:power-2.0.0 | autodesk.parameter.group:electrical-1.0.0 |
Temperatura | autodesk.spec.aec.hvac:temperature-2.0.0 | autodesk.parameter.group:mechanical-1.0.0 |
Forza Strutturale | autodesk.spec.aec.structural:force-2.0.0 | autodesk.parameter.group:identityData-1.0.0 |
Checklist Pre-Esecuzione#
- File Excel salvato e chiuso
- Percorso file corretto nel nodo "File Path"
- Dati compilati seguendo esattamente il template
- Revit aperto con un progetto attivo
Errori Comuni e Soluzioni#
Errore | Soluzione |
|---|---|
"Cannot find file" | Controlla se il percorso è corretto |
"Invalid SpecType" | Usa esattamente i codici dalla lista Forge |
"Parameter already exists" | Il parametro è già stato creato in precedenza |
"Invalid Category" | Il nome della categoria deve essere in inglese |
- Categorie multiple: Separa con punto e virgola:
"Walls;Doors;Windows" - Nomenclatura unica: Usa prefissi per evitare conflitti:
"SRE_","MEP_","STRUCT_" - Testa incrementalmente: Inizia con 1-2 parametri prima di creare batch grandi
- Sempre backup: Salva il tuo progetto Revit prima di eseguire lo script
- Chiudi Excel: Assicurati che il tuo file Excel sia chiuso quando esegui Dynamo
Conclusione#
Automatizzare la creazione di parametri condivisi risparmia ore di lavoro manuale tedioso. L'intuizione chiave è capire che Revit richiede oggetti Forge TypeId appropriati, non semplici stringhe di testo. Con il template Excel e lo script Dynamo giusti, puoi creare centinaia di parametri standardizzati in secondi.
Lo script Dynamo completo e i template Excel sono disponibili nel nostro repository DynaGuide.
Hai domande sull'automazione dei parametri? Lascia un commento qui sotto o contatta il nostro team di supporto a support@unibim.io
Questions or Feedback?
I'd love to hear your thoughts on this article. Reach out directly and let's start a conversation.
Follow me on LinkedIn for more BIM tips and updates
