Acest articol s-a nascut din nevoia unor utilizatori de Revit de a-si crea automat plansele pe baza unor inregistrari dintr-un fisier Excel.
Fluxul de lucru este unul simplu si incepe prin crearea unui fisier Excel cu o lista cu numele planselor.
Din meniul Manage deschidem Dynamo si inseram nodul Data.ImportExcel.
Inainte de acest nod vom adauga:
- “File Path”: va permite sa indicati fisierul Excel;
- “File from Path”: face ca fisierul Excel sa fie accesibil pentru Dynamo;
- “Code block”: este denumirea filei din Excel ce contine datele, scrisa ca obiect de tip caracter (“Demo” – in cazul nostru).
Pentru a genera plansele in Revit, Dynamo ofera un nod nativ Sheet.ByNameNumberTitleBlock.
Acest nod are ca parametri :
- “sheetName”: se precizeaza numele plansei, obiectul fiind de tip caracter;
- “sheetNumber”: se precizeaza numerotarea planselor , obiectul fiind de tip caracter;
- “titleBlockFamilyType”: se precizeaza familia cartusului ce defineste plansa.
Pentru a extrage numele plansei convertim inregistrarile intr-o lista simpla cu ajutorul nodului List.Flatten, dupa care eliminam prima inregistrare din lista, inregistrare ce reprezinta capul de coloana din Excel.
Pentru a extrage numarul Plansei, folosim o combinatie de mai multe noduri successive:
- “List.Count”: care extrage numarul elementelor din tabel.
- “Range”: genereaza o succesiune de numere pornind de la numarul 1 pana la dimensiunea listei precedente cu un interval de o unitate.
- “String from Object”: converteste un obiect de tip lista intr-un obiect de tip caracter.
Pentru a insera cartusul se utilizeaza un nod de tip Family Types si se selecteaza cartusul dorit.
In urma rularii acest script Dynamo, plansele din fisierul Excel sunt generate.
Rezultatul este urmatorul:
De asemenea scriptul respectiv poate fi integrat in Dynamo Player pentru utilizatorii care nu vor sa aiba access la codul sursa si astfel poate fi rulat direct din interfata aplicatiei Revit.