Módulo Dynamo para Revit 2.
0
13/04/2022
1. INTRODUÇÃO 3
a. O que é Dynamo? 3
b. Versões do Dynamo 3
c. Interface do Dynamo 5
d. Nós 7
e. Tipos de Dados 8
2. TRABALHANDO COM DADOS E LISTAS 9
a. Listas e Listas Aninhadas (Nested List) 9
b. Selecionando Item no Índice 10
c. Filtrando e Classificando Listas 11
d. Importando e Exportando Excel 12
e. Amarras (Lacing) 14
3. TRABALHANDO COM GEOMETRIAS 15
a. Pontos 15
b. Curvas e Vetores 16
c. Rotação, Translação e Espelhar 17
d. Superfícies 19
e. Sólidos 21
f. Exportando Geometria 23
4. FLUXO DE TRABALHO DYNAMO - REVIT 24
a. Selecionando Elementos no Revit 24
b. Parâmetros de Instância e Tipo 26
c. Modelando no Revit com SAT 28
d. Modelando Elementos Genéricos 29
e. Modelando Paredes 30
f. Modelando Pisos 31
g. Modelando Telhados 32
h. Criando Vistas e Folhas 33
i. Reprodutor do Dynamo 34
5. PACOTES E CONCEITOS COMPLEMENTARES 37
a. Nó Se (IF) 37
b. Pacotes 37
c. Nó Personalizado 39
6. CODE BLOCK 42
a. O que é Code Block? 42
b. Number, String e Boolean para Code Block 43
c. Operadores Matemáticos em Code Block 44
d. Nós de Criação no Code Block 44
e. Nós de Modificação no Code Block 47
f. Nós de Informação no Code Block (Queries) 48
g. Comentários em Code Block 50
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 1
Módulo Dynamo para Revit 2.0
13/04/2022
h. Criando Listas com Code Block 51
i. Condicionais com Code Block 54
j. Amarras com Code Block 55
k. Níveis com Code Block 56
l. Nó para Código 57
m. Funções com Code Block 58
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 2
Módulo Dynamo para Revit 2.0
13/04/2022
1. INTRODUÇÃO
a. O que é Dynamo?
O Dynamo é uma ferramenta de Programação
Visual que oferece aos usuários a capacidade de
criar scripts usando várias linguagens de
programação textual.
Por meio de uma interface visual amigável, é
possível construir rotinas lógicas para automatizar
fluxos de trabalho, encontrar soluções ideais e
analisar as opções de projeto.
Atualmente existem as versões Dynamo for Revit
que já vem instalada dentro do Revit e é um
programa que é alimentado pelas informações
vindas do próprio Revit e existe também a versão
Dynamo Studios que é um software externo e não é
foco de trabalho deste módulo.
b. Versões do Dynamo
Para identificar qual a versão do Dynamo que está
instalada em seu Revit você deve acessar a guia
“Gerenciar” e clicar no comando do Dynamo para
abrir o programa.
Quando a janela do Dynamo for aberta, você deve
acessar a guia “Ajuda” e clicar em “Sobre…”.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 3
Módulo Dynamo para Revit 2.0
13/04/2022
Os primeiros dois números dentro de “Dynamo
Core” ou “Dynamo Revit” indicam qual a versão do
Dynamo instalada em seu Revit, no exemplo da
imagem abaixo temos a versão 2 (dois), com a
revisão de número 5 (cinco).
Arquivos de Dynamo podem ser compartilhados
dentro da mesma versão, independente da revisão,
porém não é possível abrir um arquivo Dynamo da
versão 1.x dentro de uma versão 2.x e vice-versa.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 4
Módulo Dynamo para Revit 2.0
13/04/2022
c. Interface do Dynamo
A interface de entrada do Dynamo aparece como a
imagem abaixo:
1 - Abre um novo arquivo do zero no Dynamo;
2 - Cria um nó personalizado, que é um nó feito de
outros nós;
3 - Abre um arquivo existente;
4 - Onde fica a lista dos últimos arquivos
recentemente abertos;
5 - Fórum e sites oficiais do Dynamo, para conhecer
mais da ferramenta e tirar dúvidas com outros
usuários do mundo todo;
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 5
Módulo Dynamo para Revit 2.0
13/04/2022
6 - Tutoriais e ferramentas para te orientar sobre o
uso do Dynamo e de seus nós.
Ao entrar em um projeto nós acessamos uma nova
interface que se assemelha a imagem abaixo:
1 - Guias de acesso a comandos de visualização,
edição de nós, download de pacotes e outros;
2 - Guia de acesso aos comandos de criar novo
arquivo, abrir um existente, salvar, ctrl+z e ctrl+y
respectivamente;
3 - Procurar por um nós através do nome;
4 - Organização dos nós por categoria. Os nós
verdes representam nós de criação, os nós
vermelhos representam nós de transformação e os
nós azuis representam nós de extração de
informação;
5 - Local onde escolhemos se nossa rotina será
executada de forma automática ou manual.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 6
Módulo Dynamo para Revit 2.0
13/04/2022
Automática faz com que cada alteração na rotina
execute a rotina completamente;
6 - Área de trabalho onde vemos nossa rotina e
nosso espaço 3D;
7 - Opção de alternar entre a visualização dos nós
ou do modelo 3D.
d. Nós
Para inserir um nó dentro da sua rotina basta
localizar o nó de interesse dentro das categorias
ou na opção de pesquisa e clicar nele. O nó ficará
disponível na área de trabalho e poderá ser
copiado e colado utilizando os atalhos de Ctrl+C e
Ctrl+V.
As conexões são feitas sempre através de fios
(wires) que saem de um nó e vão para a entrada de
outro. Uma entrada apenas recebe uma única
informação por vez, porém uma saída pode se
conectar a múltiplas entradas diferentes. Cada nó
exige um tipo de informação específica para
funcionar, por exemplo o nó de [Link]
exige que sejam alimentadas em suas entradas
informações numéricas, que indicarão a posição
das coordenadas. No caso de anexar uma
informação incoerente com a expectativa do
respectivo nó, o mesmo ficará amarelado e destaca
uma mensagem de erro.
Para visualizar o resultado de um nós você pode
utilizar o nó de Watch ou pode colocar o mouse por
cima do nó até que uma lista com os resultados
apareçam na parte inferior do nó. Essa lista só fica
visível enquanto você mantiver o mouse em cima
do nó, a menos que você clique na opção de fixar a
visualização dos resultados.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 7
Módulo Dynamo para Revit 2.0
13/04/2022
A imagem abaixo exemplifica a forma como as
conexões acontecem dentro dos nós no Dynamo, a
visualização dos resultados e uma mensagem de
erro.
e. Tipos de Dados
Existem 3 (três) tipos de dados básicos dentro do
universo da programação e seu entendimento é
fundamental para uma boa experiência de
trabalho dentro do Dynamo. Eles são o Number,
String e o Boolean.
Os Numbers podem ser do tipo Integer (inteiros) ou
Double (fracionados).
Exemplo de Integer: 16, 99, -85, 1.458.
Exemplo de Double: 3.1415, 15.7, 897.458.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 8
Módulo Dynamo para Revit 2.0
13/04/2022
As Strings são uma sequência de caracteres que
normalmente simboliza textos dentro da nossa
rotina.
Exemplo de String: “Isso é uma string”, “eu tenho R$
25,00”, “12 + 7 = 19”
Os Booleans podem ser True (verdadeiro) ou False
(falso) e servem para responder perguntas dentro
da sua rotina.
Ex de Boolean: 15 > 15.7? False ; 3 + 5 = 8? True.
2. TRABALHANDO COM DADOS E LISTAS
a. Listas e Listas Aninhadas (Nested List)
Uma lista serve para armazenar vários dados em
um pacote, sendo que esses dados podem ser
números, textos, geometrias, dentre outros. Dentro
de uma lista os itens são organizados por índices
(index) e cada item tem seu próprio índice. A
contagem dos índices começa sempre do 0 (zero)
de forma que o primeiro item de qualquer lista
sempre estará no índice 0 (zero), o segundo no
índice 1 (um) e assim sucessivamente. O nó mais
comum para criação de Listas no Dynamo é o
ListCreate.
É possível armazenar uma lista dentro de outra
lista e isso recebe o nome de Listas Aninhadas
(Nested List). Quando temos listas dentro de listas
precisamos ter atenção aos níveis da Lista, que
determinam se iremos realizar operações nos
elementos das listas mais internas ou nos
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 9
Módulo Dynamo para Revit 2.0
13/04/2022
elementos das listas mais externas. No exemplo
abaixo temos uma Lista contendo Listas que
contêm dados acerca de Colunas.
Na parte inferior podemos ver a numeração dos
nossos níveis, @L3@L2@L1. O L vem de Level que
significa Nível e essa representação indica que
temos 3 (três) níveis sendo o nível 1 (um) o nível onde
temos nossos dados das colunas, o nível 2 (dois)
tem as listas contendo os dados e o nível 3 (três)
tem a lista maior que contém as listas menores.
Cada lista no nível 2 (dois) tem seu respectivo índice
e os elementos dentro delas também possuem seus
índices. Conhecer essa organização é fundamental
para conseguir operar com esses valores da forma
correta.
b. Selecionando Item no Índice
Para selecionar um determinado item dentro de
uma lista o nó mais adequado é o
[Link]. Esse nó requer duas entradas,
sendo a primeira uma lista e a segunda entrada o
número que irá indicar o índice do elemento que
você quer coletar. Para listas aninhadas pode ser
necessário alterar o nível da entrada, onde vai a
lista, para indicar onde você deseja selecionar seu
item. Sempre ao lado da entrada você encontra um
símbolo “>” que lhe permite escolher o nível onde
quer trabalhar.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 10
Módulo Dynamo para Revit 2.0
13/04/2022
c. Filtrando e Classificando Listas
Para filtrar elementos dentro de uma lista o nó mais
recomendado é o nó [Link]. Esse nó
requer duas entradas, sendo a primeira uma lista e
a segunda uma máscara que irá indicar quais
elementos devem ser selecionados e quais não
devem. Essa máscara é um grupo de informações
booleanas (true ou false) que foi extraído da nossa
lista com base em alguma pergunta que foi feita. O
[Link] organiza os valores True em
uma saída de nome In e os valores False em uma
outra lista de nome Out.
Para classificar uma lista o nó mais utilizado é o
[Link]. Esse nó recebe duas entradas
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 11
Módulo Dynamo para Revit 2.0
13/04/2022
sendo a primeira a lista que será classificada e a
segunda entrada é uma função que dirá como essa
lista será classificada. No exemplo da imagem
abaixo a lista foi classificada com base nos
elementos do índice 6 (seis), ou seja, ele reordenou
as listas com base no valor crescente dos
elementos localizados no índice 6 (seis).
É importante lembrar que para um nó se tornar
uma função ele precisa ter a sua entrada de
valores vazia, do contrário ele não vira uma função
e sim um grupo de valores.
d. Importando e Exportando Excel
Para importar os dados de uma planilha no Excel
para o Dynamo o nó que deve ser utilizado é o
[Link]. Esse nó requer 4 (quatro)
entradas:
1 - O arquivo. Atenção que para selecionar o
arquivo é necessário utilizar o nó de File Path (para
indicar o caminho) e o nó de File from Path (para
pegar o arquivo no caminho);
2 - O nome da folha, pois dentro de um arquivo no
Excel você pode ter mais de uma folha de trabalho;
3 - Você deve informar para o nó se as informações
serão lidas como String (textos). Isso não é
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 12
Módulo Dynamo para Revit 2.0
13/04/2022
interessante caso você queira realizar operações
com os valores;
4 - Você deve informar para o nó se ao carregar os
dados o arquivo do Excel deve ser aberto também.
Por padrão o Dynamo organiza os dados do Excel
em listas que agrupam os valores de cada linha da
sua planilha. Você sempre pode inverter essa forma
de agrupar utilizando o Nó [Link].
Para exportar dados do Dynamo para o Excel o nó
mais indicado é o [Link]. Esse nó requer
6 (seis) entradas:
1 - O caminho do arquivo;
2 - O nome da folha;
3 - A linha inicial onde as informações devem ser
inseridas;
4 - A coluna inicial onde as informações devem ser
inseridas;
5 - O dado ou a lista de dados.
6 - Você deve informar para o Dynamo se ele deve
sobrescrever informações que já existam na
planilha.
É importante lembrar que se você quiser inserir
informações na linha 1 (um), deve colocar o número
0 (zero) no Dynamo, pois a primeira informação no
Dynamo sempre está no índice zero e assim
sucessivamente.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 13
Módulo Dynamo para Revit 2.0
13/04/2022
e. Amarras (Lacing)
Quando trabalhamos com operações entre listas o
Dynamo permite que configuremos a forma como
as informações de uma lista irão se relacionar com
as informações de outra lista. Essa configuração
recebe o nome de Amarras (Lacing). Existem 4
(quatro) tipos de amarras:
1 - Automático permite o Dynamo escolher qual a
opção ele acredita que seja a melhor opção em
função das listas que estiverem sendo trabalhadas;
2 - Mais curta (Shortest) fará com que os dados da
primeira lista se relacionem diretamente com os
dados da segunda lista. Se uma lista tiver mais
itens que a outra, então os itens excedentes não
participarão da operação.
3 - Mais longa (Longest) fará com que os dados da
primeira lista se relacionem diretamente com os
dados da segunda lista. Se uma lista tiver mais
itens que a outra, então os itens excedentes irão se
relacionar com o último item da lista com menos
itens.
4 - Produto transversal (Cross Product) fará com
que todos os elementos da primeira lista se
relacione com todos os elementos da segunda lista.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 14
Módulo Dynamo para Revit 2.0
13/04/2022
Para alterar a amarra de um nó você deve clicar
com o botão direito sobre ele, clicar na opção de
“Amarra” e escolher qual o tipo melhor se encaixa
no seu nó. Por padrão todos os nós vêm
configurados no Automático.
3. TRABALHANDO COM GEOMETRIAS
a. Pontos
Para a criação de um ponto dentro do Dynamo os
nós mais comuns são os nós de
[Link], sendo que uma opção você
especifica a coordenada Z e a outra não. Em
ambos os casos você deve alimentar as entradas
com números que indicarão a posição daquele
ponto dentro de uma das 3 (três) coordenadas
possíveis (X, Y e Z). Se nenhum valor for inserido na
entrada então o valor padrão ficará válido (0,0,0) e
um ponto será criado na origem. Se uma lista de
valores for inserida em uma ou mais de uma
entrada, então múltiplos pontos poderão ser
criados utilizando apenas um nó. A posição e
quantidade desses pontos varia em função da
amarra que conecte essa(s) lista(s).
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 15
Módulo Dynamo para Revit 2.0
13/04/2022
b. Curvas e Vetores
Existem vários tipos de curvas diferentes no
Dynamo, dentre elas temos a linha, a poli curva, a
nurbs curva, os arcos, os polígonos e outros. As
linhas são segmentos retos que ligam um ponto a
outro. A poli curva corresponde a união de várias
linhas em um único elemento, podendo ou não ser
fechada. Os polígonos são obrigatoriamente
geometrias fechadas que contém várias linhas
também. A nurbs curva utiliza de uma formulação
matemática para gerar curvas através de pontos
de referência. Os arcos criam curvas através de
pontos de centro e um raio.
A princípio pode parecer que esses elementos não
possuem grande diferença entre si, mas existem
informações que podemos extrair com polígonos
que não podemos extrair com poli curva (por
exemplo). Existem também nós que exigem
obrigatoriamente uma poli curva e não uma nurbs
curva. É interessante conhecer todas as
possibilidades para não se limitar dentro do
Dynamo.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 16
Módulo Dynamo para Revit 2.0
13/04/2022
Os vetores se assemelham muito a linhas no
Dynamo, porém, para além do comprimento, eles
possuem também uma direção. Em outras palavras,
o Vetor carrega em si uma direção e uma
magnitude e essas informações podem servir para
gerar modificações em suas geometrias como a
Translação, por exemplo. Alguns comandos de
modelagem de Superfície e Sólidos também exigem
a entrada de um vetor para informar a dimensão e
a direção em que aquela geometria irá se
prolongar.
c. Rotação, Translação e Espelhar
As 3 (três) principais modificações que podemos
aplicar nas geometrias são a Rotação, a Translação
e o Espelhar.
O nó de rotação mais comum é o [Link].
Esse nó exige 4 (quatro) entradas, sendo elas:
1 - A geometria que será rotacionada;
2 - A origem que será o centro da rotação;
3 - O vetor que será usado como eixo de rotação;
4 - Os graus de rotação. Você pode inserir qualquer
número entre 0 e 360.
O nó de translação mais comum é o
[Link]. Esse nó requer apenas duas
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 17
Módulo Dynamo para Revit 2.0
13/04/2022
entradas, sendo uma delas a geometria que sofrerá
a translação e o vetor que indicará a direção e a
distância que a geometria irá percorrer.
O nó de espelhamento mais comum é o
[Link]. Esse nó requer apenas duas
entradas, sendo uma delas a geometria que sofrerá
o espelhamento e o plano de espelhamento. Os
planos comuns como XY, XZ e YZ já possuem nós
prontos dentro do Dynamo, mas você também
pode criar seu próprio plano com o nó
[Link]. Esse nó de criação de plano
exige uma origem (que precisa ser um ponto) e um
vetor que será perpendicular ao plano que você
deseja criar.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 18
Módulo Dynamo para Revit 2.0
13/04/2022
d. Superfícies
As superfícies podem ser geradas de forma bem
simples utilizando o nó [Link].
Esse nó exige apenas uma entrada com a lista de
pontos que irão delimitar a sua superfície. É muito
importante ter atenção a ordem dos pontos dentro
da lista, pois essa ordem irá definir a forma como
Dynamo irá desenhar o perímetro da sua
superfície. Se houver intersecção entre as arestas
da mesma superfície então o Nó indicará um erro
na execução.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 19
Módulo Dynamo para Revit 2.0
13/04/2022
De uma superfície podemos extrair informações
como perímetro, área da superfície e podemos
transformar suas arestas em curvas. Para essas
ações usamos respectivamente os nós
[Link], [Link] e
[Link]. Todos esses nós tem
apenas uma única entrada que é a superfície ou
lista de superfícies.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 20
Módulo Dynamo para Revit 2.0
13/04/2022
e. Sólidos
Sólidos se diferem das superfícies pelo fato de
possuírem volume e portanto representam a
maioria dos elementos que criamos dentro do Revit.
A maioria dos elementos importados do Revit para
o Dynamo vem na forma de sólidos e por isso,
entender como trabalhar com essa geometria é
extremamente importante.
Um dos comandos mais simples para criação de
um sólido é o [Link]. Esse nó apenas tem uma
entrada que exige uma lista contendo seções.
Essas seções podem ser curvas fechadas ou
superfícies. O dynamo irá unir as seções que
estiverem dentro da mesma lista, gerando um
sólido a partir disso.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 21
Módulo Dynamo para Revit 2.0
13/04/2022
De um sólido podemos extrair muitas informações
interessantes como sua área de superfície, seu
volume e seu centróide. Os nós responsáveis por
conseguir respectivamente essas informações são,
[Link], [Link] e [Link].
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 22
Módulo Dynamo para Revit 2.0
13/04/2022
De um sólido também é possível gerar superfícies a
partir de suas faces, gerar curvas a partir de suas
arestas e pontos a partir de seus vértices. Para
conseguir criar essas novas geometrias antes é
necessário reconhecer as faces, arestas e vértices
no sólido e para isso usamos os nós de
[Link], [Link] e
[Link], respectivamente. A partir desses
elementos podemos criar superfícies, curvas e
pontos usando os nós [Link],
[Link] e [Link],
respectivamente.
f. Exportando Geometria
Existem duas formas possíveis de exportar
geometrias do Dynamo para outros programas,
uma delas é através do formato STL e o outro é
com o formato SAT.
Para exportar em STL você deve ir na guia “Arquivo”
e clicar em “Exportar modelo para STL”. Escolha um
nome e um local para seu arquivo STL e pronto.
Nessa opção, todas as geometrias que estejam
visíveis no seu projeto do Dynamo serão
exportadas.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 23
Módulo Dynamo para Revit 2.0
13/04/2022
Para exportar no formato SAT você deve procurar
pelo nó ExportToSAT, a segunda opção que não
tiver informações entre parênteses. A segunda
opção é mais interessante pois permite que você
diga qual é a unidade de medida da sua geometria,
evitando erros de escala na hora de exportar. Esse
nó necessita de duas entradas, sendo a primeira a
geometria que será exportada e a segunda o
caminho onde você indicará o local onde o arquivo
será salvo e o nome do mesmo. Recomendo que
apenas execute esse nó no modo manual para
evitar BUGs.
4. FLUXO DE TRABALHO DYNAMO - REVIT
a. Selecionando Elementos no Revit
Existem várias formas para selecionar elementos
no Revit através de nós do Dynamo, aqui irei te
apresentar as opções mais utilizadas e que
provavelmente mais te ajudarão em suas rotinas.
Existem dois nós bastante simples que são os nós
de Select Model Element e o Select Model Elements.
Ambos funcionam de forma similar, ao clicar em
“Selecionar”, é necessário ir no Revit e selecionar o
elemento que você deseja levar para o Dynamo. A
diferença entre esses nós é que o primeiro apenas
seleciona um elemento e o outro seleciona vários
elementos, porém a seleção de múltiplos elementos
só pode ser feita através de uma caixa de seleção.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 24
Módulo Dynamo para Revit 2.0
13/04/2022
Outros dois nós também bastante interessantes
são o All Elements of Category e o All Elements of
Family Type. O primeiro seleciona todos os
elementos de uma dada categoria e o segundo
todos os elementos de um tipo de família. Para que
o All Elements of Category funcione, é necessário
usar o nó de Categories e escolher na lista a sua
categoria de interesse. Para que o All Elements of
Family Type funcione, é necessário usar o nó de
Family Types e escolher na lista o tipo de família de
interesse.
É importante lembrar que a partir de elementos do
Revit é possível extrair no Dynamo informações de
materiais desses elementos, informações de
localização, a geometria dos elementos e tantas
outras informações inseridas.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 25
Módulo Dynamo para Revit 2.0
13/04/2022
b. Parâmetros de Instância e Tipo
Através do Dynamo é possível coletar informações
armazenadas em parâmetros de instância e
parâmetros de tipo dos elementos modelados. O nó
utilizado para esse processo é o
[Link]. Esse nó possui
duas entradas, sendo a primeira o elemento ou a
lista de elementos e a segunda é o nome do
parâmetro que você deseja coletar a informação.
Para selecionar parâmetros de tipo o processo é
praticamente o mesmo, porém é necessário inserir
um nó intermediário chamado
[Link]. Esse nó converte os
elementos em seus respectivos tipos e assim o nó
[Link] pode
selecionar os parâmetros de tipo.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 26
Módulo Dynamo para Revit 2.0
13/04/2022
Existe também um nó que permite editar
parâmetros de instância ou tipo dentro do Dynamo,
seu nome é [Link]. Esse nó
tem 3 (três) entradas, sendo a primeira os
elementos que terão os parâmetros alterados, a
segunda é o nome do parâmetro a ser editado e o
última entrada diz o novo valor que será inserido. O
processo para alterar parâmetros de instância ou
de tipo é o mesmo que para selecionar o
parâmetro, mas tenha cuidado ao alterar
parâmetros de tipo, lembre-se que todos os
elementos que são do mesmo tipo devem continuar
tendo as mesmas informações nos parâmetros de
tipo.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 27
Módulo Dynamo para Revit 2.0
13/04/2022
c. Modelando no Revit com SAT
Existem nós dentro do Dynamo específicos para
criação de elementos dentro do Revit, porém é
possível criar alguns elementos no Revit
convertendo a geometria do Dynamo em um
arquivo SAT e importando dentro de uma Massa.
Essa massa pode depois ser convertida em pisos,
paredes e telhados.
Depois que tiver gerado o seu arquivo SAT (tenha
atenção com a posição dessa geometria em
relação ao seu modelo), você deve criar uma massa
no Revit e vincular dentro dela um arquivo CAD.
Quando abrir a janela para selecionar o tipo de
arquivo, mude a opção de DWG para SAT e localize
seu arquivo no computador. O arquivo SAT será
inserido em seu projeto na forma de uma massa e
utilizando os comandos internos do Revit essa
massa pode ser convertida em um elemento.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 28
Módulo Dynamo para Revit 2.0
13/04/2022
O mais interessante nesse procedimento é
construir sua rotina de forma a manter sua
geometria SAT conectada ao seu modelo, de forma
que se o modelo sofrer atualização, a sua
geometria SAT acompanhe essa atualização,
através da rotina no Dynamo, otimizando seu
trabalho.
d. Modelando Elementos Genéricos
Alguns elementos de maior importância dentro do
Revit possuem nós específicos para serem criados
com o Dynamo, mas a maioria dos elementos
podem ser inseridos utilizando o nó
[Link]. Esse nó tem 3
(três) entradas, a primeira deve conter o tipo de
família a ser criada, a segunda deve conter o ponto
de localização do ou dos elementos e a terceira
deve conter o nível.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 29
Módulo Dynamo para Revit 2.0
13/04/2022
Como nesse nó é necessário especificar o nível
onde o elemento será criado, então o ponto de
localização não precisa conter uma coordenada Z,
a menos que o elemento possua algum
deslocamento em relação ao nível onde foi criado.
e. Modelando Paredes
Para modelar paredes usando o Dynamo existe o
nó [Link]. Esse nó necessita de 4
(quatro) entradas:
1 - Curve, deve conter uma curva que vai ser a linha
de localização da sua parede. Se quiser criar mais
de uma parede então deve haver mais de uma
curva;
2 - StartLevel deve conter o nível da base da
parede;
3 - EndLevel deve conter o nível do tipo da parede;
4 - WallType deve especificar qual o tipo de parede
que será criada, dentre a lista de tipos de paredes
que existem no projeto.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 30
Módulo Dynamo para Revit 2.0
13/04/2022
Esse é um nó que funciona melhor no modo
Manual, o modo Automático pode travar o Dynamo
e o Revit.
f. Modelando Pisos
Para modelar pisos usando o Dynamo existe o nó
[Link]. Esse nó necessita de
3 (três) entradas:
1 - Outline, deve conter o desenho do perímetro do
piso, assim como no Revit esse desenho não deve
conter intersecções ou pontas soltas;
2 - FloorType deve conter o tipo de piso que será
criado;
3 - Level deve conter o nível onde o piso será
criado.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 31
Módulo Dynamo para Revit 2.0
13/04/2022
Esse é um nó que funciona melhor no modo
Manual, o modo Automático pode travar o Dynamo
e o Revit.
g. Modelando Telhados
Para modelar telhados usando o Dynamo existe o
nó [Link]. Esse nó necessita
de 3 (três) entradas:
1 - Outline, deve conter o desenho do perímetro do
telhado, assim como no Revit esse desenho não
deve conter intersecções ou pontas soltas;
2 - RoofType deve conter o tipo de telhado que será
criado;
3 - Level deve conter o nível onde o telhado será
criado.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 32
Módulo Dynamo para Revit 2.0
13/04/2022
Por padrão esse telhado virá plano, mas é possível
adicionar pontos com elevações dentro do telhado
e criar as águas. Para a adição de pontos existe o
nó [Link]. Esse nó possui duas entradas, a
primeira é o telhado e a segunda é o ponto (já com
a elevação ajustada).
Esse é um nó que funciona melhor no modo
Manual, o modo Automático pode travar o Dynamo
e o Revit.
h. Criando Vistas e Folhas
Para criar uma vista de piso dentro do Revit usando
o Dynamo utiliza-se o nó [Link].
Esse nó tem apenas uma entrada que corresponde
ao nível ao qual deseja-se criar a planta de piso. A
princípio essa planta de piso vem com o nome do
nível e informações genéricas, mas é possível
atualizar essas informações usando o nó
[Link].
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 33
Módulo Dynamo para Revit 2.0
13/04/2022
Para criar uma folha utiliza-se o nó
[Link]. Esse nó
necessita de 4 (quatro) entradas:
1 - SheetName deve conter o nome da folha;
2 - SheetNumber deve conter o número da folha,
esse campo deve ser alimentado com uma String;
3 - TitleBlockFamilyType deve conter a família da
folha a ser criada;
4 - View indicará qual a vista que será inserida
nessa folha. A vista deve estar dimensionada de
forma que caiba dentro da folha escolhida, do
contrário o Dynamo indicará um erro.
i. Reprodutor do Dynamo
O reprodutor do Dynamo permite que rotinas do
Dynamo possam ser executadas sem precisar
entrar dentro do arquivo. É uma excelente opção se
um escritório deseja introduzir as rotinas do
Dynamo aos colaboradores, mas os mesmos não
detém conhecimento de Dynamo para manusear os
arquivos. O reprodutor do Dynamo fica localizado
dentro do Revit, na guia “Gerenciar” ao lado do
comando do Dynamo.
Na janela que se abre, o primeiro ícone com uma
pasta permite que você selecione a pasta onde as
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 34
Módulo Dynamo para Revit 2.0
13/04/2022
rotinas estão salvas. Ao selecionar a pasta, todas
as rotinas que estejam salvas dentro dela
aparecerão no display do Reprodutor.
Para executar uma rotina apenas clique no botão
Play que fica ao lado do nome da respectiva rotina.
Algumas rotinas exigem que algumas entradas
sejam preenchidas antes que a rotina possa
funcionar propriamente. Para configurar essas
entradas é necessário acessar o arquivo do
Dynamo, clicar com o botão direito do mouse no nó
de entrada e habilitar a opção “É de entrada”.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 35
Módulo Dynamo para Revit 2.0
13/04/2022
Também pode ser interessante renomear o nó para
que dentro do reprodutor o usuário da rotina saiba
o que ele deve inserir naquela entrada. Para
visualizar as entradas de uma rotina dentro do
reprodutor, clique no botão que fica ao lado
esquerdo do lápis.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 36
Módulo Dynamo para Revit 2.0
13/04/2022
5. PACOTES E CONCEITOS COMPLEMENTARES
a. Nó Se (IF)
O nó SE representa o nó da condicional, onde uma
determinada lista ou fluxo de ações serão
executadas para quando o resultado de uma
máscara for TRUE ou quando for FALSE. O nó SE
recebe apenas 3 (três) entradas, sendo a primeira a
máscara que deverá conter uma lista de valores
TRUE e FALSE, a segunda entrada representa o que
é selecionado em outra lista se o resultado for
TRUE e a terceira entrada representa o que é
selecionado em outra lista se o resultado for FALSE.
No exemplo da imagem acima temos que quando a
máscara retorna um valor TRUE, o tipo de piso
“Soleira vermelha 2 cm” é selecionado e quando a
máscara retorna um valor FALSE, o tipo de piso
“Soleira Branca 2 cm” é selecionado.
b. Pacotes
Os pacotes representam um grupo de nós
personalizados que foram criados por terceiros e
disponibilizados para download e instalação
dentro da lista de pacotes do Dynamo. Esses nós
personalizados permitem que possamos ter uma
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 37
Módulo Dynamo para Revit 2.0
13/04/2022
variedade ainda maior de nós para utilizar em
nossas rotinas, facilitando a execução ou
processamento de informações.
Para instalar um pacote você deve acessar a guia
de “Pacotes” e clicar em “Pesquisar por um pacote”.
Uma nova janela irá se abrir e nela você deve
digitar o nome do pacote que deseja instalar para
adicioná-lo em sua lista de opções. Alguns pacotes
estão disponíveis em mais de uma versão do
Dynamo, então tenha atenção ao instalar a versão
do pacote que corresponde a sua versão do
Dynamo.
Ao instalar um pacote ele fica disponível na barra
de pesquisa de nós e ele pode ser identificado
através da marca que representa o pacote.
Clicando duas vezes nos nós que foram instalados
a partir de um pacote é possível acessar a rotina
interna desse nó personalizado e consultar como o
programador fez a montagem daquele nó.
Ao compartilhar uma rotina que contenha um nó
de um pacote, a pessoa que recebe a sua rotina
também precisará ter esse mesmo pacote instalado
no computador dela, do contrário o Dynamo não
conseguirá localizar a origem do nó que veio do
pacote e sua rotina não funcionará. Para
desinstalar um pacote acesse a guia de “Pacotes” e
clique em “Gerenciar pacotes”. Clique no pacote
que deseja desinstalar, depois clique nos 3 (três)
pontos que aparece à direita desse pacote e
selecione a opção de “desinstalar”.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 38
Módulo Dynamo para Revit 2.0
13/04/2022
c. Nó Personalizado
Um nó personalizado é um nó criado por um
terceiro para realizar uma função especializada,
diferente dos nós disponibilizados pelo Dynamo. Os
pacotes são exemplos de um grupo de nós
personalizados que foram desenvolvidos e
disponibilizados para download e instalação, mas
qualquer pessoa pode fazer o seu nó
personalizado.
Na página de entrada do Dynamo é possível
começar a criar um nó personalizado simplesmente
clicando na opção “Nó personalizado”.
O Dynamo solicitará o nome do nó, que não deve
conter nenhum tipo de caracter especial ou
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 39
Módulo Dynamo para Revit 2.0
13/04/2022
espaços, solicitará também uma descrição sobre
qual a função desse nó personalizado e solicitará
que você coloque esse nó dentro de uma das
categorias previamente disponibilizadas. É possível
criar uma nova categoria digitando um novo nome
no campo de opções.
A área de trabalho de um nó personalizado é
praticamente igual a área de trabalho de uma
rotina, a diferença é que o fundo é amarelado e ao
final do processo você irá salvar esse arquivo no
formato DYF (ao invés de DYN que usamos para
salvar uma rotina).
O nó personalizado também pode ser criado
através de uma rotina existente, supondo que você
queira aproveitar um fluxo de nós já criados e
simplificar eles para um uso futuro. Selecione os
nós que deseja incorporar ao seu fluxo do nó
personalizado, clique com o botão direito na área
de trabalho e selecione a opção “Criar nó
personalizado”. Após preencher as informações
solicitadas, seu nó personalizado está criado e
você pode editar e salvar ele clicando duas vezes
em cima do corpo do nó.
Ao criar um nó personalizado a partir de um rotina
existente, o Dynamo automaticamente cria os nós
de INPUT, que irão receber seus dados de entrada,
e OUTPUT, que irão lhe entregar seu resultado. É
possível customizar esses nós alterando o nome da
variável para um nome mais intuitivo e inserindo
comentários usando o prefixo //, de acordo com a
imagem abaixo. O mesmo pode ser feito para o
OUTPUT.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 40
Módulo Dynamo para Revit 2.0
13/04/2022
Atenção para não colocar o nome da variável com
espaços, isso pode confundir o nó se ele possuir
também um comentário.
Ao salvar o nó personalizado em seu computador,
se certifique de que esteja salvo em uma pasta fixa,
ou seja, uma pasta que não mude de lugar e nem
de nome. Assim como os pacotes, se sua rotina
utilizar um nó personalizado e essa rotina for
compartilhada, quem fizer o download da rotina
deverá também fazer o download do arquivo do nó
personalizado. Para permitir que o Dynamo
reconheça apenas esse nó dentro de sua interface,
é necessário acessar a guia de “Configurações” e
clicar em “Gerenciar caminhos de nó e pacote”. Na
janela que se abre, clique no símbolo de +, adicione
a pasta onde está salvo seu nó personalizado e
clique em “Aceitar as alterações”.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 41
Módulo Dynamo para Revit 2.0
13/04/2022
O nó ficará disponível dentro da categoria Revit,
abaixo da linha de Add-ons.
6. CODE BLOCK
a. O que é Code Block?
Os Code Blocks são uma janela localizada no
DesignScript, a linguagem de programação
principal do Dynamo. Com o Code Block é possível
unirmos a programação visual com a programação
escrita, diversificando o uso das funções do
Dynamo e deixando nossa rotina mais objetiva.
Esse nó é tão especial que para inserir ele você
apenas precisa dar um duplo clique com o botão
esquerdo do mouse na área de trabalho do
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 42
Módulo Dynamo para Revit 2.0
13/04/2022
Dynamo. Apesar de parecer um nó bastante
simples justamente por não possuir nenhuma
entrada ou saída, sua aplicação é extremamente
abrangente e por isso dedicamos um capítulo
inteiro no curso somente para falar sobre ele.
b. Number, String e Boolean para Code Block
Devido a união entre linguagem visual e linguagem
escrita, precisamos revisar alguns conceitos iniciais
do curso, mas agora aplicados a Code Block.
Os Numbers dentro do Code Block podem ser
escritos normalmente. Se for um Double então
utilize o ponto como separador de decimal. As
Strings devem ser escritas dentro de aspas Ex: “isso
é uma string”. Os Booleans devem ser escritos no
original em inglês e com todas as letras minúsculas
Ex: true , false.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 43
Módulo Dynamo para Revit 2.0
13/04/2022
Perceba que sempre ao final de uma linha em um
Code Block o Dynamo sempre irá inserir um ponto e
vírgula. Essa é a notação padrão para definir que
aquela linha de programação se encerrou. Você
pode usar isso para definir mais de uma saída para
um Code Block, cada linha com ; corresponde a
uma saída daquele nó e pode ser usado como
entrada em outro nó.
c. Operadores Matemáticos em Code Block
Para realizar operações matemáticas dentro do
Code Block apenas digite os números que irão
participar da equação e adicione o respectivo
operador Ex: 23+56; | 55/78; | 45*99; | 74*56+22; |
(22+12)/10;.
Assim como nas calculadoras tradicionais ou no
excel, o Dynamo irá resolver primeiro as
multiplicações e divisões para depois resolver
soma e subtração. Qualquer operador dentro de
parênteses será resolvido primeiro e depois o que
está fora do parênteses.
d. Nós de Criação no Code Block
Como já vimos, dentro do Dynamo os nós podem
ser divididos em três tipos, nós de criação, nós de
modificação e nós de extração de informação.
Em relação aos nós de criação dentro do Code
Block, primeiramente você deve digitar o nome da
geometria ou elemento que você deseja criar. Se
você deseja criar um ponto por exemplo, então
comece seu código escrevendo:
Point
Os nomes originais em inglês devem ser usados. O
mesmo vale para as demais geometrias e
elementos no Revit:
Surface, PolyCurve, Solid, Wall, Floor, Roof
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 44
Módulo Dynamo para Revit 2.0
13/04/2022
Os nomes devem ser escritos respeitando todas as
letras maiúsculas, exatamente como está escrito
nos nós que usamos ao longo do curso. Na dúvida,
você pode consultar dentro da biblioteca de nós
do Dynamo como o nome foi escrito.
Após escrever o nome do objeto que deseja criar,
um ponto é necessário para separar a categoria da
função que você irá aplicar:
[Link] - o ponto separa a categoria
da função de criação, que nesse exemplo é a
função ByCoordinates.
Depois de escrever corretamente o nome do objeto
e colocar o ponto, o Dynamo irá te mostrar uma
lista de funções que podem ser aplicadas ao
respectivo objeto. Procurando nessa lista de
funções, você verá que tem algumas com o símbolo
de +, que indica que são funções para criar o
objeto. Clique duas vezes na função dentro da lista
de sugestões do Dynamo para que ela seja
automaticamente preenchida no seu código.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 45
Módulo Dynamo para Revit 2.0
13/04/2022
Após escrever a categoria e sua função, abra
parênteses para declarar as variáveis que são
necessárias para criar o objeto. As variáveis
correspondem às entradas que o nó pede para ser
executado, por exemplo o nó de criação de ponto
por coordenadas pede como entrada as
coordenadas X, Y e Z.
[Link](10,20,30); - nesse caso estou
criando um ponto usando 10 na coordenada X, 20
na Y e 30 na Z.
Se alguma ou todas as variáveis não forem
preenchidas, será utilizado o valor padrão, caso
exista. Se não existir valor padrão para a respectiva
variável, então a função irá declarar que falta
inserir informações.
Ao abrir os parênteses para declarar as variáveis, o
Dynamo irá te mostrar uma pequena janela onde
ele te orienta sobre quais são as variáveis que
aquela função espera receber. Se existir mais de
uma forma de usar a mesma função, então
aparecerá uma seta indicando que há mais de uma
forma de alimentar as variáveis dessa função.
Se você quiser alimentar uma entrada de uma
função com valores de um outro nó, você pode
declarar uma variável no lugar dessa entrada que
essa variável se tornará uma entrada no nó.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 46
Módulo Dynamo para Revit 2.0
13/04/2022
No exemplo da imagem acima declaramos a
variável X (apenas escreva uma letra ou uma
palavra que não corresponda a uma das
categorias do Revit que você cria uma variável). Os
valores da coordenada X serão iguais aos valores
que alimentamos na entrada, enquanto que os
valores de Y serão 2 vezes os valores de X e os de Z
4 vezes.
Variáveis são como recipientes que possuem um
nome (declarado por você na hora) e carregam uma
informação em nossa rotina (geometrias, números,
strings, booleans, elementos, vetores…).
e. Nós de Modificação no Code Block
Os nós de modificação seguem a mesma linha de
raciocínio dos nós de criação, primeiro declaramos
a categoria, seguida por um ponto e depois
escrevemos a função que executará uma
modificação no objeto.
Nesse tipo de função o objeto ao qual a função se
aplica vem na forma de uma entrada, dentro dos
parênteses da função ou também pode vir escrito
na frente, no lugar da categoria.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 47
Módulo Dynamo para Revit 2.0
13/04/2022
Na imagem acima a primeira forma como o nó foi
escrito declara o sólido dentro das variáveis e na
segunda forma o sólido foi declarado na frente da
função, portanto não foi necessário declarar
novamente dentro da função. Perceba que a
palavra “sólido” em ambos os exemplos
corresponde a uma variável que irá receber o
respectivo sólido que sofrerá a translação.
Algumas funções de criação e modificação não
exigem nenhum tipo de entrada, mas mesmo assim
na hora de escrevê-las dentro do Code Block é
necessário colocar os parênteses no final, pois essa
é a notação padrão para escrever uma função
dentro do Code Block.
f. Nós de Informação no Code Block (Queries)
Os nós de informação são ainda mais fáceis de
usar do que os outros dois tipos. Apenas escreva o
nome do objeto ao qual a informação será
extraída, coloque o ponto e depois digite o nome
da informação a ser extraída.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 48
Módulo Dynamo para Revit 2.0
13/04/2022
Na imagem acima percebemos que a palavra ponto
corresponde a uma variável que recebe o ponto
que foi criado com o nó anterior. Ao declarar
ponto.X o Dynamo retorna o valor da coordenada X
desse ponto dentro da variável.
A mesma linha de raciocínio pode ser seguida para
qualquer outra geometria e/ou elemento.
Se você tiver dúvidas sobre quais informações você
pode extrair a partir de um elemento no Dynamo,
consulte a biblioteca de nós e verifique quais são
as opções que o Dynamo está disponibilizando.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 49
Módulo Dynamo para Revit 2.0
13/04/2022
g. Comentários em Code Block
Para deixar o seu código no Code Block organizado
é possível escrever comentários ao longo do código
orientando sobre o que cada parte dele faz.
Existem duas formas de escrever um comentário, a
primeira delas é colocar // e começar a escrever.
Tudo que for escrito na mesma linha do // será um
comentário e não participará do seu código.
A outra forma é escrevendo /* e digitando seu
comentário ao longo de uma ou mais linhas. Tudo
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 50
Módulo Dynamo para Revit 2.0
13/04/2022
que vier após o /* será um comentário até você
fechar a sentença com */.
h. Criando Listas com Code Block
Para criar uma lista genérica no Code Block, abra
colchetes e digite os elementos que estão contidos
em sua lista. Separe os elementos usando vírgula e
ao final feche os colchetes.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 51
Módulo Dynamo para Revit 2.0
13/04/2022
Se quiser incluir alguma variável dentro da sua
lista, apenas declare ela em alguma posição de sua
lista e ela estará criada. Para criar uma lista
aninhada crie colchetes dentro de outros
colchetes.
Para resgatar um valor dentro da sua lista você
pode digitar entre colchetes o índice onde o seu
valor está inserido dentro da lista. Quando
trabalhar com Listas Aninhadas primeiro coloque o
índice onde a lista está localizada e depois o índice
do elemento dentro dessa lista.
Para além da criação de listas genéricas, existem
também as opções de criação de listas numéricas
que podem ser de quatro tipos diferentes:
1. 2..10..3 - Cria uma lista de números começando
em 2, terminando em 10 e avançando de 3 em
3. Se você não colocar o último número, que
corresponde ao incremento, o Dynamo usará
o valor padrão que é 1.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 52
Módulo Dynamo para Revit 2.0
13/04/2022
2. 2..#10..3 - Cria uma lista de números
começando em 2, com 10 números no total e
avançando de 3 em 3.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 53
Módulo Dynamo para Revit 2.0
13/04/2022
3. 2..10..#3 - Cria uma lista de números
começando com 2, terminando em 10 e com 3
números no total.
4. 2..10..~3 - Cria uma lista de números
começando com 2, terminando com 10 e com
um incremento mais próximo possível de 3.
i. Condicionais com Code Block
Para criar uma linha de código condicional dentro
do Code Block primeiro você precisa iniciar sua
sentença com uma pergunta que resulte em dados
booleanos (true ou false). Logo após a pergunta
escreva o símbolo de interrogação (?). Em seguida
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 54
Módulo Dynamo para Revit 2.0
13/04/2022
escreva o que acontece com seus dados se o
resultado for verdadeiro e coloque dois ponto (:).
Termine sua linha escrevendo o que acontece em
caso falso e coloque o ponto e vírgula (;).
PERGUNTA ? AÇÃO VERDADEIRA : AÇÃO FALSA ;
Perceba que ao perguntar se 25 é igual a 26 eu usei
dois símbolos de =. Um símbolo de igualdade
apenas tem o significado de atribuição, ou seja,
usamos ele quando queremos atribuir valor a uma
variável:
var = 15 - indica que a variável de nome “var” recebe
o número 15.
j. Amarras com Code Block
A forma como duas ou mais listas se relacionam
dentro do Code Block pode ser determinada
especificando a amarra que melhor se aplica.
Dentro do Dynamo vimos que basta clicar com o
botão direito no nó e especificar a amarra, mas
com code block precisamos escrever a relação
usando a notação abaixo:
● lista1 * lista2 - indica uma ligação do tipo
Automática, ou seja o Dynamo vai multiplicar
os itens da lista1 com os da lista 2 da forma
que ele achar melhor.
● lista1<1> * lista2<1> - indica uma ligação do tipo
mais curta, ou seja o Dynamo irá multiplicar o
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 55
Módulo Dynamo para Revit 2.0
13/04/2022
primeiro item da lista1 com o da lista2 e assim
sucessivamente.
● lista1<1L> * lista<1L> - indica uma ligação do
tipo mais longa, ou seja se houver uma
diferença de quantidade de itens em ambas
as listas, o Dynamo irá multiplicar o último
item da lista que tem menos elementos com os
itens excedentes da lista que tem mais.
● lista1<1> * lista2<2> - indica uma ligação do tipo
produto transversal, ou seja o Dynamo fará
com que todos os elementos da lista 1 sejam
multiplicados pelos da lista 2.
Perceba que o que indica a existência de uma
exigência de amarras são as setinhas <> e o
número dentro. As setinhas dão ideia de repetição,
como repetir os itens de 1 em 2, e o número dentro
das setas dá uma ideia de hierarquia. Nas amarras
mais curta e mais longa os números dentro das
setinhas podem ser qualquer um, desde que sejam
iguais, pois em ambos os casos as listas de
relacionam no mesmo grau de importância.
No produto transversal os números podem ser
quaisquer, mas devem ser diferentes e aquele que
for menor está em maior hierarquia que o outro. No
exemplo (lista1<1> * lista2<2>) os itens da lista 2
serão multiplicados ao longo dos itens da lista 1,
pois lista 1 tem o menor número e sua hierarquia é
maior.
k. Níveis com Code Block
Por padrão, quando aplicamos uma função a uma
lista aninhada, as ações da função serão aplicadas
aos elementos que estiverem dentro da lista mais
externa (maior nível). Para especificar um nível
diferente usando o Code Block você deve colocar
após a lista o símbolo de arroba (@) e o nome do
nível.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 56
Módulo Dynamo para Revit 2.0
13/04/2022
[Link](valores@L2 , vetor , distância) -
indica que estou aplicando a função no nível 2 da
lista que estiver dentro da variável “valores”.
Quando o nível é aplicado o Dynamo trata todos os
elementos que estiverem nesse nível como se todos
estivessem dentro de uma grande lista, sem
considerar a estrutura da lista original. Se quiser
que o Dynamo mantenha a estrutura da lista
original então adicione outro @.
[Link](valores@@L2 , vetor , distância)
- indica que estou aplicando a função no nível 2 da
lista que estiver dentro da variável “valores”, mas
estou mantendo a estrutura original da lista.
Em alguns casos pode ser necessário que você
obrigue o Dynamo a repetir a função ao longo dos
elementos daquele nível especificado, de forma a
executar as ações conforme esperado. Nesses
casos é necessário colocar o símbolo de repetição
<> com um número qualquer dentro.
[Link](valores@@L2<1>,vetor,distância)
- indica que estou aplicando a função no nível 2 da
lista que estiver dentro da variável “valores”, estou
mantendo a estrutura original da lista e estou
repetindo a ação de translate em todos os
elementos.
l. Nó para Código
Uma boa forma de estudar como o Code Block
funciona é criar a sua rotina usando os nós
tradicionais do Dynamo, depois selecioná-la e
clicar com o botão direito do mouse na área de
trabalho. Clique em seguida na opção “Nó para
Code” para converter todos os nós selecionados em
um único Code Block.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 57
Módulo Dynamo para Revit 2.0
13/04/2022
Alguns nós no Dynamo não podem ser escritos na
forma de um Code Block, como os nós que buscam
informações dentro do Revit, por exemplo. Nesses
casos especifique entradas no seu Code Block para
receber essas informações e mantenha o restante
do processo em Code Block.
m. Funções com Code Block
Sempre que usamos o Code Block até esse
momento, estávamos recorrendo a funções já
existentes dentro do Dynamo, porém é possível que
você crie a sua própria função e depois a utilize da
mesma forma que fizemos com as funções de
criação e modificação.
Para criar uma nova função primeiramente é
necessário definir ela e para tanto escrevemos “def”
seguindo pelo nome da função.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 58
Módulo Dynamo para Revit 2.0
13/04/2022
Após escrever o nome da função você deve abrir
parênteses e dentro especificar quantas variáveis
serão necessárias para rodar a função e quais os
nomes dessas variáveis. No exemplo da imagem
acima eu especifiquei duas variáveis com nomes de
valor1 e valor2.
Em seguida, na linha abaixo a linha que define a
função, abra chaves para começar a escrever o que
a sua função faz (também conhecido como o corpo
da função).
No exemplo acima eu criei uma variável chamada
soma que recebe a soma do valor1 com valor2.
Para concluir sua função é necessário retornar o
resultado final dela, ou seja, aquilo que será a saída
da sua função. Para retornar o resultado escreva:
return = soma (ou o nome da variável que recebe
seu resultado final)
Nossa função fica da seguinte forma:
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 59
Módulo Dynamo para Revit 2.0
13/04/2022
Com a função pronta, agora podemos chamar ela
da mesma forma que fizemos com as demais
funções, escrevendo no Code Block.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 60
Módulo Dynamo para Revit 2.0
13/04/2022
Perceba que o Code Block que contém a definição
da função não recebe e também não gera nenhum
resultado, ele apenas serve para criar a sua função.
Ao inserir valores nos espaços destinados às
variáveis que definimos na função, o Dynamo segue
a orientação que foi escrita no corpo e retorna o
resultado final.
Se o Code Block com a definição da função deixar
de existir na sua rotina, então a sua função não
poderá mais ser usada, pois o Dynamo não saberá
mais o que ela significa.
Eng. Lucas Novais CREA: 3000094774
[Link] @NeuroBIM NeuroBIM 61