Rešeno: dobiti ime čvora dynamo revit

Posljednje ažuriranje: 09/11/2023

U svijetu arhitekture i građevinarstva, automatizacija igra vitalnu ulogu u pojednostavljivanju zadataka i efikasnijim radnim procesima. Revit, popularan softver među arhitektima i inženjerima, može se poboljšati pomoću Dynamo-a, alata za vizualno skriptiranje. Ovaj članak se bavi procesom dobijanja imena čvora u Dynamo-u dok radite sa Revit-om. Rješenje, zajedno sa vodičem korak-po-korak s detaljima pridruženog koda, bit će prikazano. Osim toga, članak će pokriti relevantne biblioteke i funkcije za sveobuhvatno razumijevanje problema.

Dynamo i Revit: kombinovani moćni alati

Integracija Dynamo-a i Revit-a omogućava korisnicima da automatiziraju različite procese u BIM-u (Building Information Modeling). Putem vizuelnog skriptovanja, korisnici mogu razviti efikasnije tokove rada i obavljati široku lepezu zadataka kao što su ekstrakcija podataka, kreiranje geometrije i manipulacija parametrima.

Ekstrahiranje imena čvorova u Dynamu

Da biste dobili imena čvorova u Dynamu kada koristite Revit, možete pokrenuti Python skriptu koja izdvaja informacije. Prije nego što uđete u kod, bitno je razumjeti osnove pristupa elementima u Dynamu. Kada radite sa čvorovima, morate pristupiti biblioteci modela Dynamo čvorova, što se može uraditi putem sljedećeg isječka koda:

import clr
clr.AddReference('DynamoServices')
from Dynamo.Applications import *
from Dynamo.Graph.Nodes import *

Rješenje: Python skripta za ekstrakciju imena čvorova

Sada kada su potrebne biblioteke uvezene, sljedeći korak je implementacija Python skripte koja izdvaja imena čvorova iz Dynamo grafa.

def get_node_name(node):
    return node.Name

# Example usage
all_nodes = IN[0]
node_names = [get_node_name(node) for node in all_nodes]
  • Definirajte funkciju pod nazivom 'get_node_name' koja uzima jedan ulazni parametar, 'čvor.'
  • Funkcija dohvaća i vraća ime čvora koristeći atribut 'Name'.
  • Primjer upotrebe pokazuje kako koristiti funkciju 'get_node_name' za izdvajanje imena iz liste čvorova – 'all_nodes' – i pohranjivanje rezultirajućih imena u listu pod nazivom 'node_names.' IN[0] se koristi za unos čvorova iz Dynamo-a u Python skriptu, a izlaz će biti 'node_names.'

Objašnjenje koda korak po korak

Evo detaljnog objašnjenja koda, raščlanjujući svaki odjeljak i njegovu svrhu:

1. Uvoz biblioteka

import clr
clr.AddReference('DynamoServices')
from Dynamo.Applications import *
from Dynamo.Graph.Nodes import *

Ovaj kod dodaje reference na CLR (Common Language Runtime) i uvozi Dynamo potrebne prostore imena. Biblioteke DynamoServices i Dynamo.Graph.Nodes sadrže funkcije i klase neophodne za rad sa čvorovima u Dynamu.

2. Funkcija za dohvaćanje imena čvorova

def get_node_name(node):
    return node.Name

Funkcija 'get_node_name' uzima čvor kao ulaz i vraća njegovo ime koristeći atribut Name. Ova funkcija će se koristiti za izdvajanje imena čvorova iz Dynamo grafa.

3. Primjer upotrebe

all_nodes = IN[0]
node_names = [get_node_name(node) for node in all_nodes]

U ovom primjeru, 'all_nodes' se pretpostavlja da je lista čvorova koji dolaze sa IN[0] ulaznog porta u Dynamo-u. Kod koristi razumijevanje liste za pozivanje funkcije 'get_node_name' na svakom čvoru u 'all_nodes', pohranjivajući imena čvorova na listi 'node_names'.

Sa spremnom Python skripte, sada možete lako dobiti nazive čvorova u Dynamu dok radite sa Revit-om, što rezultira efikasnijim procesom dizajna i dokumentacije. Srećno pisanje scenarija!

Slični postovi: