Você está na página 1de 61

0

APOSTILA
2023

DYNAMO PARA CIVIL 3D


PROGRAMAÇÃO VISUAL E OBJETOS PARAMÉTRICOS

RAÍFFE DIAS
SÍLVIA GOMES
2021 Dynamo Version

Sumário
1. CONCEITOS BÁSICOS ......................................................................................................... 2

O que é o Dynamo? ............................................................................................................... 2

Quais Versões?...................................................................................................................... 2

Qual o Objetivo? ................................................................................................................... 2

O que é Programação Visual? ................................................................................................ 2

2. INTERFACE: ....................................................................................................................... 3

Abrindo um projeto novo (new) ............................................................................................ 4

3. ROTINAS: .......................................................................................................................... 6

Criação de PONTOS na área de trabalho: ............................................................................... 6

Criação de CÍRCULO na área de trabalho: ............................................................................ 10

Criação de Rectangle: .......................................................................................................... 12

Criação de Code Block: ........................................................................................................ 12

Criação de uma caixa a partir do retângulo criado acima: .................................................... 17

Criação de um berço de concreto de Bueiro (sólido):........................................................... 19

Criação de propriedade de Bueiro (sólido):.......................................................................... 29

Criação da fórmula do volume – 1ª FORMA ......................................................................... 31

Criação da fórmula do volume – 2ª FORMA ......................................................................... 34

Organização dos “NÓS” para rodar a rotina no Dynamo Player:........................................... 37

Rotina de tubo de queda: .................................................................................................... 44

pág. 1
2021 Dynamo Version

1. CONCEITOS BÁSICOS
− O que é o Dynamo?
Dynamo é software de automatização de tarefas com a linguagem de programação visual, sendo um “software”
dentro de outro “software”.

− Quais Versões?
O Dynamo chegou no ano de 2020 no Civil 3D. Para a versão de 2020, é necessário fazer o download no site da
Autodesk. Na versão 2021 em diante, já está embutido no Civil 3D sem a necessidade baixar.

− Qual o Objetivo?
O objetivo do Dynamo é automatizar rotinas de trabalho por meio da programação visual. Essas rotinas podem ser
qualquer ação que o usuário precisar, como por exemplo: puxar uma label, inserir uma linha, fazer uma modelagem
de projeto 3D, extração de quantitativos com poucos cliques com a programação, dentre outras.

− O que é Programação Visual?


A Programação visual é a comunicação entre o usuário e o software, ela é feita através de técnica visuais.

Normalmente na programação padrão existem linhas de código que, através dessas linhas, definem as ordens e a
manipulação dos dados. Na programação visual as ordens são pré-estabelecidas pelo desenvolvedor e as linhas de
código são concentradas dentro dos “NÓS”.

Obs: “NÓS” são caixas que recebem dados/informações e produzem novos dados/informações de acordo com o tipo
de cada “NÓ”, os dados são passados por linhas, que analogamente podemos associar com a imagem abaixo.

Imagem 1 – Conceito dos ‘’NÓS”.

pág. 2
2021 Dynamo Version

2. INTERFACE
− Abrindo o Dynamo pela primeira vez:
- Abra o Civil 3D;

- Aba Manager> Painel “Visual Programming”> Dynamo, conforme imagem abaixo.

Imagem 2 – Painel de ferramentas do Civil 3D.

- Após clicar no ícone do Dynamo, será direcionado para a tela inicial do Dynamo, conforme imagem abaixo.

Imagem 3 – Tela inicial do Programa Dynamo.

pág. 3
2021 Dynamo Version

- Na tela inicial> Samples> Existem algumas rotinas que o Dynamo disponibiliza para entender melhor como funciona
os processos das rotinas, como:

• Rotinas Basics;
• Rotinas de Autocad;
• Rotinas Civil 3D;
• Core (programação);
• Geometry (Geometria);
• ImportExport (Importar/Exportar).

De uma forma geral, as Samples mostram todas as funções que o Dynamo possui.

− Abrindo um projeto novo (new)

- Clicar em new para mostrar a tela das seguintes ferramentas do programa:

1. Menus;
2. Barra de ferramentas;
3. Biblioteca;
4. Barra de Execução;
5. Área de trabalho.

Imagem 4 – Tela de ferramenta do Programa Dynamo.

pág. 4
2021 Dynamo Version

1. MENU:

• Files: Salvar, importar biblioteca, exportar uma imagem etc.


• Edit: Copiar/colar (Ctrl+C/ Ctrl+V) e Undo (Ctrl+Z).
• View: Tela da modelagem. Existem dois tipos de views: Espaço de modelagem e Espaço de Programação.
• Packages: Aplicativos que podem ser importados comunidades do Dynamo para Autodesk.
• Setting: Configurações de escala, precisão, renderização etc.
• Help: Opções para conhecimento do Dynamo.

Obs: Em Help existe a opção “Open Dynamo Dictionary” que abre o uma página na internet onde a cada NÓ que
compõe a biblioteca do Dynamo tem uma explicação.

2. BARRA DE FERRAMENTAS:

Local para abrir, salvar um documento etc.

3. BIBLIOTECA:

No lado esquerdo da tela mostra a biblioteca. Na tela da biblioteca, existem algumas categorias como Import/export
dados do projeto, dados geométricos dentro do Dynamo, add ons, etc. Na categoria “add ons” será necessário baixar
o Plugin – CIVIL3DToolkit, que são basicamente algumas categorias de “nós” criados por outras pessoas e
disponibilizados para acesso.

Como baixar o Plugin – CIVIL3DToolkit:

Aba Packages> Search for a Packpages> digitar na aba online Search> procurar o nome - CIVIL3DToolkit.

4. BARRA DE EXECUÇÃO

Nas abas abaixo da tela mostra as barras de execução. Deixar conimagemdo em “Manual” para qualquer possível
alteração, o próprio usuário consiga realizar esses ajustes de forma manual, sem precisar de fazer automático.

5. ÁREA DE TRABALHO

A imagem abaixo mostra a tela de ambiente de trabalho, conhecido como Workspace. Basicamente existem dois
planos, sendo eles o plano de programação e o ambiente de modelagem/visual.

Existem três tipos básicos de ”NÓS” são representados pelas seguintes simbologias:

+ -> Criar/adicionar um objeto ou curvas a partir de uma superfície no civil.

-> Mostra que você vai pegar um arco e editar alguns parâmetros.

? -> Pegar as informações dos objetos da respectiva categoria de acordo com a necessidade.

pág. 5
2021 Dynamo Version

3. ROTINAS
− Criação de PONTOS na área de trabalho:
Passos:

1. Categoria de “Geometry” da biblioteca;

2. Subcamada da categoria de “Geometry”;

3. Nós e descrição da função;

4. Nó na área de trabalho.

Biblioteca> Geometry> Aba point> bycoordinates (X, Y e Z)> será aberto um quadro com os “nó”, conforme a
imagem abaixo.

Imagem 5 – “NÓS” dos pontos.

Basicamente o “NÓ” apresenta um título, do lado esquerdo os inputs (são os valores de entrada) e o output (POINT)
onde mostra os valores do ponto. Ao passar o mouse no output, será aberto uma janela com uma lista, que permite
fixar ou desfixar a barra.

pág. 6
2021 Dynamo Version

Imagem 6 – Valores de entrada (input). Valores de saída (output).

Nos dados de entrada X, Y e Z, indica que a entrada dos valores pode ser em Default Value, Double ou Int.

Int: São valores inteiros.

Double: São valores decimais, números quebrados.

Default Value: São valores padrão de entrada. Se não colocar nada, ele cria um ponto 0,0,0.

Para mostrar o resultado no plano de trabalho, existem duas formas: usar o comando Ctrl+P ou no canto superior
direito na imagem no Enable Background.

Obs: Para girar, mexer no plano de trabalho, basta clicar com o botão direito do mouse.

Como resultado o ponto aparece nas coordenadas 0,0,0 (X,Y e Z), pois não entramos com nenhum valor de ponto, ou
seja, ele se tornou o Default Value.

Nessa mesma rotina, será apresentado um “NÓ”, que será obtido um valor de Double (um number).

Passos:

Na barra de pesquisa, digitar “number”> Opção basic> será aberto uma janela, conforme a imagem abaixo.

Imagem 7 – “NÓ” Number.

pág. 7
2021 Dynamo Version

Obs: Ao passar o mouse em cima da opção acima, será aberto uma janela que mostra o que esse “NÓ” possui,
conforme a imagem abaixo.

Imagem 8 – “NÓ” Number.

Esse “NÓ” de number pode ser renomeado com o nome de preferência> accept. A imagem abaixo mostra um
modelo.

Imagem 9 – Edição do nome do“NÓ”.

Uma vez que fez o “NÓ” para o valor de X, pode gerar uma cópia e colar para valores de Y e Z.

Imagem 10 – “NÓS” Valores de X, Y e Z.

pág. 8
2021 Dynamo Version

Após esse processo, será feito a ligação dos pontos que criamos de X, Y e Z no Point.ByCoordinates. Clique na seta do
valor de X e segura até ligar no X da janela Point.ByCoordinates. Abaixo mostra o resultado das ligações.

Imagem 11 – Ligações dos valores de X, Y e Z ao “NÓ” Point.ByCoordinates.

Ao fazer a ligação, precisamos entrar com algum valor de X, Y e Z. Como exemplo será aplicado os seguintes valores,
conforme imagem abaixo:

Imagem 12 – Entrada de valores para X, Y e Z.

Para rodar a rotina basta clicar na aba no canto inferior esquerdo da tela no nome – RUN.

Imagem 13 – Barra de execução.

pág. 9
2021 Dynamo Version

Automaticamente o ponto sai da coordenada 0,0,0 e desloca para a coordenada que entramos com os dados.

Imagem 14 – Esboço dos pontos nas coordenadas de X, Y e Z.

− Criação de CÍRCULO na área de trabalho:


Passos:

Biblioteca> Geometry> circle> ByCenterPointRadius (Criação através de pontos e raios).

Imagem 15 – “NÓ” para Círculo e raios.

Na barra de pesquisa, digitar “number”> Opção basic> será aberto uma janela, conforme a imagem abaixo.

Imagem 16 – “NÓ” Number.

Esse “NÓ” de number pode ser renomeado com o nome de preferência> entrar com valores para o Raio> accept. A
imagem abaixo mostra um modelo.

Imagem 17 – “NÓ” Raio.

pág. 10
2021 Dynamo Version

Realizar a ligação do raio até o radius do Circle.By.PointRadius. Abaixo mostra o resultado da ligação.

Imagem 18 – ligação dos“NÓ” do raio.

Ligar o Point do (Point.ByCoordinates) no centerPoint do Circle.By.PointRadius.

Imagem 19 – Ligação do centro do “NÓ”.

Obs: A saída de um ponto específico sempre será interligada na entrada de um outro ponto específico.

Conforme dito anteriormente, basta clicar em RUN para rodar a rotina para obter os resultados do raio. A imagem
abaixo mostra o resultado do raio de 5.

Imagem 20 – Esboço do ponto central do círculo.

pág. 11
2021 Dynamo Version

− Funções dos “NÓS”: Code Block e Rectangle.

Criação de Rectangle:

Biblioteca> digite o nome do rectangle na aba de pesquisa> ByCornerPoints (p1, p2, p3, p4)> clicar> será aberto uma
janela, conforme imagem abaixo.

Imagem 21 – Buscar “NÓ” para criação de pontos.

• Criar pontos para interligar aos pontos do retângulo: Biblioteca> Point.ByCoordinates> será aberto uma janela com
um ponto, mas nesse caso será necessário criar 4 pontos, portanto é só clicar na janela com Ctrl+C e Ctrl+P para
obter as quatros janelas, conforme a imagem abaixo.

Imagem 22 – Criação de pontos do poligonos do retângulo.

Criação de Code Block:

Seleciona todos as quatro janelas> botão direito do mouse> align selection> right> clica duas vezes com o botão
esquerdo do mouse na tela para aparecer uma janela escrita Code Block, conforme imagem abaixo.

Imagem 23 – “NÓ” Code Block.

pág. 12
2021 Dynamo Version

O Code Block é o “NÓ” multifuncional, podendo ser criado funções, listas, colocar números, textos, consegue ler um
nó simples quando conhece as suas utilidades.

Preencher os dados do Code Block, conforme a imagem abaixo.

Imagem 24 – Dados de entrada do “NÓ” Code Block.

Obs: Quando utilizamos “;” significa que está fechando uma saída (output) e declarando como output de entrada de
um outro “NÓ”.

Ligar os valores de X, Y e Z de cada Code Block ao p1, p2, p3 e p4 do Point.ByCoodinates, conforme imagem abaixo.

pág. 13
2021 Dynamo Version

Imagem 25 – Ligação do “NÓ” dos pontos das coodenadas de X, Y e Z aos pontos do retângulo.

Após esse processo digite RUN para mostrar o resultado do retângulo na área de trabalho do programa.

Imagem 26 – Esboço do polígono do retangulo nas coordenadas indicadas.

Obs: No Code Block pode inserir funções matemáticas, listas de pontos parametrizados, conforme um modelo
mostrado na imagem abaixo.

pág. 14
2021 Dynamo Version

Imagem 27 – Inserir funções, listas de pontos.

Para criar um retângulo no Autocad, será necessário transformar os objetos dentro do Dynamo, no objeto
geométrico dentro da plataforma do Civil3D, como mostra os seguintes passos:

Biblioteca> add-nos> Autodesk> Autocad> PolylineExtensions> ObjectByGeometry>clique> será aberto uma janela
com o título PolylineExtensionObjectByGeometry> fazer a ligação do rectangle na curve para fazer uma policurve,
conforme a imagem abaixo.

Imagem 28 – Criação do retangulo no Civil 3D.

Se passar o mouse sobre o Layer, mostra a especificação que tem que ser uma String (texto). Copia e cola um “NÓ”
de Code Block> coloca um texto específico entre aspas duplas ou pode procurar string e renomear com intuito de
facilitar o que é cada coisa. As duas formas apresentam a mesma funcionalidade, conforme imagem abaixo.

Imagem 29 – Criação do “NÓ” que renomear um layer especifico.

Obs: O Block (Bloco) determina onde o objeto será inserido. Dentro do Civil 3D existem diversos block.

Exemplo: A aba model é um bloco, a aba layout também é um bloco, portanto dentro de um bloco também pode ser
que exista outros blocos.

Biblioteca> Autocad> document> modelspace> fazer a ligação do block já janela Document.ModelSpace até o Block
da janela PolylineExtensionObjectByGeometry, conforme a imagem abaixo.

pág. 15
2021 Dynamo Version

Imagem 30 – Ligação dos “NÓS”.

Para entrar com um documento, será preciso procurar na biblioteca “Current” que é o documento corrente, ou seja,
é o documento que está sendo gerado a rotina> fazer a ligação de document da janela Document.Current até a
janela Document.ModelSpace, conforme a imagem abaixo.

Imagem 31 – ‘NÓ“ de entrada para gerar um documento realizado na rotina.

Após esse processo, clicar em RUN para rodar a rotina para obter os resultados do retângulo no model do Civil3D em
2D.

Imagem 32 – Resultado do retangulo no Civil 3D após rodar a rotina.

pág. 16
2021 Dynamo Version

− Criação de uma caixa a partir do retângulo criado acima:


Biblioteca> digite o nome “Extrude” na aba de pesquisa> ExtrudeAsSolid que será criado um sólido a partir de um
objeto> clique> será aberto uma janela de Curve.ExtrudeAsSolid> fazer a ligação do Rectangle
Rectangle.ByCornerPoint ao curve do Curve.ExtrudeAsSolid.

Imagem 33 – Ligação dos “NÓS”.

Será necessário criar uma distância para fazer a ligação do rectangle no “NÓ” distancia/comprimento, pode ser feito
por Code Block ou por number.

Copia e cola um novo Code Block> Inserir uma altura para caixa, para essa rotina foi utilizada -2m de altura,
conforme imagem abaixo. O sinal de menos indica que a altura da caixa terá sua projeção de um objeto sólido em
3D.

Imagem 34 – Criação do“NÓ” de distância/comprimento.

Após esse processo digite RUN para rodar a rotina e apresentar os resultados em 3D da altura da caixa.

Imagem 35 – Esboço da caixa.

pág. 17
2021 Dynamo Version

Biblioteca> Autocad> objects (será transformado um objeto sólido num objeto 3D dentro do civil)> ByGeometry>
Fazer as ligações:

• Solid – Curve.ExtrudeAsSolid até o geometry (Object.ByGeometry).

• Retângulo – Code Block até o layer (Object.ByGeometry).

• Block – Document.ModelSpace até o block (Object.ByGeometry).

Imagem 36 – Ligação dos “NÓS” da caixa.

Após esse processo digite RUN para rodar a rotina, gera o objeto no civil 3D.

Imagem 37 – Esboço do resultado da caixa no Civil 3D.

pág. 18
2021 Dynamo Version

− Criação de um berço de concreto de Bueiro (sólido):


Para iniciar, será necessário ter um arquivo com os seguintes itens: Bueiro, alinhamento e um profile view.

Abrir o Dynamo novo> configuração para manual.

Nessa rotina será necessário obter os parâmetros do tubo para conseguir fazer de acordo com as dimensões e deixar
a rotina toda parametrizada.

Biblioteca> selectObjects (Autodesk)> clica> seleciona o tubo. Segue abaixo imagem com o tubo selecionado.

Imagem 38 – Criação do “NÓ” Select Objects.

1º NÓ: Biblioteca> add-ons> PipeNetworks> pipes> name> object no PipeName.

2º NÓ: Biblioteca> add-ons> PipeNetworks> pipes> GetPipeByName.

3º NÓ: Biblioteca> current (AutoCad).

Digitar RUN para rodar a rotina. A imagem abaixo mostra como ficam as ligações dos “NÓS”. É preciso que os NÓS
fiquem nesse formato para assim conseguir obter os parâmetros.

Imagem 39 – Ligação dos “NÓS”.

Para fazer o berço, precisa adotar alguns parâmetros específicos, sendo eles: comprimento (distância) e diâmetro
externos do Pipe.

• Biblioteca> add-ons> PipeNetworks> pipes> Length3DCentertoCenter (distância 3D, centro a centro)> RUN.

pág. 19
2021 Dynamo Version

• Biblioteca> add-ons> PipeNetworks> pipes> OuterDiameterOrWidth (diâmetro externo ou espessura externa)>


RUN.

A imagem abaixo mostra o resultado do comprimento e diâmetro do bueiro em 3D.

Imagem 40 – Resultado dos valores do comprimento e diâmetro do Bueiro.

Nessa etapa, será criado um retângulo e logo após uma caixa com espessuras.

Criar Code Block com pontos [0,0,0,0]> copiar e colar para obter pontos de X, Y e Z, conforme imagem abaixo.

Imagem 41 – Criação do “NÓ” Code Block.

Biblioteca> procura por ByCoordinates> ligar os pontos do CodeBlock ao Pontos de X, Y e Z do Point.ByCoordinates>


RUN para rodar a rotina.

Na imagem abaixo mostra um exemplo da ordem dos pontos que será criado, juntamente com o ponto central
(ponto do meio).

pág. 20
2021 Dynamo Version

Imagem 42 – Ordem da numeração dos pontos do tubo.

Para fazer o ponto do meio, segue abaixo os valores das coordenadas do Code Block.

Obs: Esses valores são modelos feito para ensinar a rotina. No dia a dia, deverá entrar com os dados de valores
específico do seu projeto.

Code Block em X, [-0,0,0,-0] - necessário colocar negativo com positivo.

Code Block em Y, [0,0, C, C] - onde o C, C é o comprimento do tubo.

Code Block em Z, [0,0, 0,0] – valores de 0.

Imagem 43 – Ponto central criado pelo “NÓ” Code Block.

O berço numa seção vai ter o diâmetro externo do tubo + 0,25m para cada lado, portanto deve ser alimentado a
planilha com esses dados. Segue imagem abaixo.

pág. 21
2021 Dynamo Version

Imagem 44 – Entrar com valor do diâmetro externo do tubo.

Biblioteca> Flatten: Reduz uma lista a uma só> ligar as var. de List.Flatten em Point.ByCoordinates > RUN. Segue
imagem abaixo com os resultados dos pontos.

Imagem 45 – Criação do “NÓ” Flatten que reduz uma lista.

pág. 22
2021 Dynamo Version

Imagem 46 – Esboço dos pontos do tubo.

Nesta etapa será realizado o fechamento dos “NÓS”:

Biblioteca> ByPoints (polycurve)> ligar os pontos dos “NÓS” de point do Point.ByCoordinates ao points do
PolyCurve.ByPoints.

Para criar o ponto do fechamento do polígono do NÓ, será necessário criar o Code Block> True;> ligar os NÓS de True
ao PolyCurve.ByPoints> RUN para rodar a rotina.

Imagem 47 – Esboço do fechamentos do pontos do pontos dos “NÓS” do bueiro.

Biblioteca> ExtrudeAsSolid> ligar os NÓS de polyCurve.ByPoints a curve do Curve.ExtrudeAsSolid.

Biblioteca> Number> renomear para “Altura do Berço> valor do Berço de -0,30m> RUN para rodar a rotina.

pág. 23
2021 Dynamo Version

Imagem 48 – Renomear e entrar com valor do berço.

Obs: O valor do berço precisa ser negativo, para ficar com o berço na parte de baixo.

Com o berço criado, o próximo passo é extrair para o desenho. Um detalhe seria como posicionar o berço no local
correto. Pode ser feito através de um “NÓ” com um ponto de início e fim.

Biblioteca> add-ons> PipeNetworks> pipes> curve> ligar GetPipeByName ao Pipe.Curve> RUN

Imagem 49 – Renomear e entrar com valor do berço.

Após rodar a rotina, no resultado dentro do espaço podemos analisar que a curve está um acima do ponto e está na
mesma posição do tubo, conforme imagem abaixo.

pág. 24
2021 Dynamo Version

Imagem 50 – Linha do Tubo

Biblioteca> Geometry> curves> curve> CoordinatesSystemAtParameter: que mostra sistema de coordenadas da


curva> Criar um Code Block com o valor de 0> ligar os “NÓS” do Pipe.Curve ao CoordinatesSystemAtParameter>
RUN.

Imagem 51 – Criar valor para o “NÓ” do Code Block.

Para mover e rotacionar o objeto no tubo sólido:

Biblioteca> transform (geometry)> liga o CurveExtrudeAtSolid ao GeometryTransform.

pág. 25
2021 Dynamo Version

Imagem 52 – Criação do “NÓ” de rotação do tubo.

Ligar os “NÓS” CoordinatesSystemAtParameter ao GeometryTransform> RUN.

Imagem 53 – Esboço do tubo sólido nas coordnadas indicadas.

Biblioteca> object (byGeometry)>

Criar um Code Block e renomear para Berço: Ligar no Layer do Object.ByGeometry.

Criar um block Document.ModelSpace: Ligar no block Object.ByGeometry.

Criar um Document Document.Current: ligar no document do Document.ModelSpace.

Digite RUN para rodar a rotina.

Imagem 54 – Esboço do tubo sólido nas coordenadas indicadas.

Na imagem abaixo mostra o resultado do tubo no Civil 3D.

pág. 26
2021 Dynamo Version

Imagem 55 – Resultado do tubo no Civil 3D..

Imagem 56 – Resultado parcial do tubo no Civil 3D.

Para abaixar o berço é preciso mudar os valores de Z do Code Block do início da rotina, conforme a imagem abaixo.

Imagem 57 – Valores em Z paa abaixar o berço.

Abaixo o resultado final da rotina do berço do tubo.

pág. 27
2021 Dynamo Version

Imagem 58 – Resultado final do Berço do tubo.

pág. 28
2021 Dynamo Version

− Criação de propriedade de Bueiro (sólido):


O BIM é a modelagem dos objetos com diversas informações inseridas nele. Nessa rotina mostra algumas formas de
como inserir essas informações, seja por MText, MLeader, Hiperlink ou por Property Sets.

O primeiro passo para criar as propriedades é definir a Property Sets.

Arquivo Civil> aba manage> Define Property Sets> Property Sets definition> criar new style> Renomear para
“Berço”> aba applies> marcar Solid (3D)> aba definition> clicar no Add manual property definition> renomear a
primeira propriedade para “Material” (podendo ser de brita ou concreto)> para definir a propriedade do objeto
basta clicar no Automatic property Source> selecionar volume> ok.

Imagem 59 – Resultado final do Berço do tubo.

Abra o Dynamo> seleciona o pipe> RUN para rodar a rotina.

Uma observação que precisa ressaltar, é que quando fecha o Dynamo e abre novamente, alguns valores podem ser
alterados, isso dá para corrigir com alguns “NÓS”.

Dentro do Civil> botão direito> object viewer> desenhar a área da base(b), profundidade(p) e altura(h).

Obs: Para desenhar a área do tubo, foi utilizado um programa chamado – Pointofix, conforme o exemplo abaixo.

pág. 29
2021 Dynamo Version

Imagem 60 – Desenho do tubo feito pelo programa Pointofix.

p= É a distância do Pipe.

b= Foi definido nas variáveis de X, quando modelado no ponto 0.

h= Foi definido numa forma de string.

Através dessas definições, consegue calcular o volume.

Abaixo mostra a imagem definição dos valores de p e b.

Imagem 61 – Ligação dos “NÓS”.

pág. 30
2021 Dynamo Version

− Criação da fórmula do volume – 1ª FORMA


Criar um Code Block> entrar com os dados “b*p*h> ligar o Code Block de b e h até a base do Code Block (base e
profundidade).

Imagem 62 – Entrar com dados de base, profundidade e altura.

Ligar o Code Block da altura do Berço até o Code Block da base, p e h, conforme a imagem abaixo.

Imagem 63 – Ligação dos “NÓS”.

Para adicionar o property no objeto, basta ir na aba extended data (properties)> canto inferior esquerdo, clicar no
Add property sets> seleciona o berço> ok.

pág. 31
2021 Dynamo Version

Imagem 64 – Criação do“NÓ” que adiciona propriedade.

Existem algumas possibilidades de mostrar essas informações quando estiver mexendo no civil ou atrelar a
informação ao objeto. Um modo que seria interessante fazer é por Hyperlink.

Biblioteca> AddHyperlink> ligar o Object.ByGeometry ao obj do ObjectExtesions.AddHyperlink>

Criar um String from Object>

ligar b, p e h do Code Block ao obj do String from Object.

ligar o str do String from Object a description do ObjectExtensions.AddHiperlink.

Para criar o tipo de hiperlink: Criar um Code Block> entrar com o dado “Volume”> ligar Volume do Code Block ao
Hyperlink do ObjectExtensions.AddHiperlink. A imagem abaixo mostra as ligações dos “NÓS” antes de rodar a rotina.

Imagem 65 – Ligação dos “NÓS”.

Digite RUN para rodar a rotina e obter o resultado no civil 3D.

pág. 32
2021 Dynamo Version

Imagem 66 – Resultado do valores na propriedade do objeto.

pág. 33
2021 Dynamo Version

− Criação da fórmula do volume – 2ª FORMA


Biblioteca> AutoCad> add ons> MLeader> clica ByObjectText> ligar o object do ObjectGeometry ao obj
MLeader.ByObjectText

Criar Code Block> entrar com o dado “VOLUME” (colocar em caixa alta para o Dynamo entender que se trata de uma
variável) e Valor> ligar Code Block do volume ao VOLUME do Code Block> ligar str do String from Object ao Valor do
Code Block.

Ligar Code Block do VOLUME e Valor ao text do MLeader.ByObjectText.

Imagem 67 – Criação e ligação dos “NÓS”.

Biblioteca> geometry> Vector> clique> transform.

Biblioteca> geometry> ByCoordinaties.

Ligar a CoordinateSystem do Curve.CoordenateSystemAtParameter no CS do Vector.Transform.

Ligar Vector do Vector.ByCoordinates ao vector do Vector.Transform.

Ligar o Vector do Vector.Transform ao displacement (é um vetor que mostra onde o MLeader vai aparecer).

Ligar o “Berço” do Code Block ao layer do MLeader.ByObjectText.

Imagem 68 –Ligação dos “NÓS”.

Digite RUN para rodar a rotina e mostrar o resultado no civil do Layer com o volume do tubo.

pág. 34
2021 Dynamo Version

Imagem 69 –Resultado do volume do tubo no Civil 3D.

Existem alguns “NÓS” específicos para adicionar no Property Sets.

AddPropertySet> clique.

Ligar o Objetc do Object.ByGeometry ao object do Object.AddPropertySet.

Criar Code Block> entrar com os dados de “Berço”.

Imagem 70 – Criação e ligação dos “NÓS”.

Para definir alguns valores que estão dentro de material e volume do Property, deverá aplicar alguns “NÓS”:

Biblioteca> PropertySets> clique.

Ligar o Object do Object.AddPropertySet ao object do Object.PropertySets.

Imagem 71 – Ligação dos “NÓS”.

pág. 35
2021 Dynamo Version

Para mudar alguns parâmetros do Property Set do Berço:

Biblioteca> PropertyByName> Ligar o Property do Object.PropertySets ao propertySet do


PropertySet.PropertyByName.

Imagem 72 – Ligação dos “NÓS”.

Criar Code Block para cada um dos nomes: material e volume.

Ligar material do Code Block ao name do PropertyByName.


Ligar volume do Code Block ao name do PropertyByName.

Imagem 73 – Criação e ligação dos “NÓS” do volume e material.

• Para definir o valor da propriedade:

Biblioteca> SetValue> criar uma string e entrar com os dados de “Material”, renomear para o tipo do material, no
caso do modelo da apostila foi brita> RUN para rodar a rotina e mostrar o resultado.

Imagem 74 – Resultado do materia e volume do tubo no Civil 3D.

pág. 36
2021 Dynamo Version

− Organização dos “NÓS” para rodar a rotina no Dynamo Player:

Nessa etapa é realizado a organização da rotina do Berço colocando os inputs necessários para rodar a rotina pelo
Dynamo Player. Uma vez que a rotina for salva, não será necessário rodar várias vezes se for utilizar o Dynamo
Player.
Utilizando a rotina criada ao longo da apostila, o primeiro passo é criar grupos para facilitar o seu entendimento.

Passos:

- Seleciona o “NÓ” Select Objects>botão direito> Create Group> Renomear título para: Input – Bueiro (indicar uma
cor).

Imagem 75 – Organizar e Renomear o título do grupo - Input – Bueiro

- Seleciona os seguintes “NÓS” para criar grupos:


• Document.Current;
• Pipe.Name;
• GetPypeByName;
• Pipe.OuterDiameterOrWidth;
• Pipe.Length3DCenterToCenter;
• Pipe.Curve.

Botão direito> Create Group> Renomear título para: Propriedades do tubo (indicar uma cor).

pág. 37
2021 Dynamo Version

Imagem 76 – Organizar e Renomear o título do grupo – Propriedade do tubo.

- Seleciona os seguintes “NÓS” para criar grupos:

• Code Block;
• Listen.Flatten (3 cópias);
• Point.ByCoordinates;
• Code Block;
• PolyCurve.ByPoints;
• String.ToNumber;
• Code bock da altura do Berço;
• Curve.ExtrudeAsSolid.

Botão direito> Create Group> Renomear título para: Modelagem do Berço no Dynamo (indicar uma cor).

Imagem 77 – Organizar e Renomear o título do grupo – Modelagem do Berço no Dynamo.

- Esse “NÓ” indica uma organização. Seleciona o “NÓ” Code Block> botão direito> Create Group> Renomear título
para: Organiza (indicar uma cor).
pág. 38
2021 Dynamo Version

Imagem 78 – Organizar e Renomear o título do grupo – Organiza.

- Seleciona o “NÓ” Altura do Berço> botão direito> Create Group> Renomear título para: Input – Altura (indicar uma
cor).

Imagem 79 – Organizar e Renomear o título do grupo – Input-Altura.

- Esse “NÓS” são importantes, eles pegam a modelagem do Dynamo, transforma na posição correta do tubo e cria
ele dentro do civil.

Seleciona os seguintes “NÓS” para criar grupos:

pág. 39
2021 Dynamo Version

• Document.Current;
• Geometry.Transform;
• Code Block do “Berço”;
• Document.ModelSpace;
• Object.ByGeometry.

Botão direito> Create Group> Renomear título para: Faz Berço no local e cria o Berço no C3D (indicar uma cor).

Imagem 80 – Organizar e Renomear o título do grupo – Faz berço no local correto e criar o Berço no Civil 3D.

- Esses “NÓS” indicam os sistemas de coordenadas e o Vetor do tubo.

Seleciona os seguintes “NÓS” para criar grupos:

• Code Block;
• Curve.CoordinatesSystemAtParameter;
• Vector.ByCoordinates;
• Vector.Transform.

botão direito> Create Group> Renomear título para: Coordenadas e Vetor do Bueiro (indicar uma cor).

Imagem 81 – Organizar e Renomear o título do grupo – Coordenadas e Vetor do Bueiro.

- Esses “NÓS” indicam o cálculo do volume e transforma em texto.

Seleciona os seguintes “NÓS” para criar grupos:

• Code Block (volume);


• String From Object.

pág. 40
2021 Dynamo Version

botão direito> Create Group> Renomear título para: Cálculo volume (indicar uma cor).

- Esse “NÓ” indica uma organização. Seleciona o “NÓ” Code Block> botão direito> Create Group> Renomear título
para Organiza (indicar uma cor).

Imagem 82 – Organizar e Renomear o título do grupo – Organiza e Calcula volume (string).

- Esse “NÓ” indica os dados de informações do Hyperlink. Seleciona o “NÓ” ObjectExtensions.AddHyperlink> botão
direito> Create Group> Renomear título para Informações-Hyperlink (indicar uma cor).

Imagem 83 – Organizar e Renomear o título do grupo – Informações-Hyperlink.

- Esse “NÓS” indicam a criação de linhas de chamadas.

Seleciona os seguintes “NÓS” para criar grupos:

pág. 41
2021 Dynamo Version

• Code Block (volume);


• Document.Current;
• Document.ModelSpace;
• Code Block (Berço);
• MLeader.ByObjectText.

botão direito> Create Group> Renomear título para: Criar o MLeader-Linha de chamada (indicar uma cor).

Imagem 84 – Organizar e Renomear o título do grupo – Cria o Mleader-Linha de chamada no Civil 3D.

- Seleciona o “NÓ” Property.SetValue> botão direito> Create Group> Renomear título para: Input – Material (indicar
uma cor).

Imagem 85 – Organizar e Renomear o título do grupo – Input-Material.

- Esse “NÓS” indicam as informações ao PropertySets.

Obs: O PropertySets tem que estar criado dentro do Civil 3D.

Seleciona os seguintes “NÓS” para criar grupos:


• Code Block (Berço);
• Object.AddPropertySet;
• Object.PropertySet;
• Code Block (Material e Volume);
• ´ProperySet.PropertyByName;
• Property.SetValue.
pág. 42
2021 Dynamo Version

Botão direito> Create Group> Renomear título para: Adiciona informações ao PropertySets (indicar uma cor).

Imagem 86 – Organizar e Renomear o título do grupo – Adiciona informações ao PropertySets.

A imagem abaixo mostra a rotina organizada com a modelagem do berço. Salva o arquivo no local de preferência. Se
caso precisar de mudar/alterar a mesma se encontra salva na pasta.

Imagem 87 – Rotina completa organizada.

Para abrir a rotina no Dynamo Player:

Abra o civil> Dynamo Player> procura na pasta o arquivo salvo com a rotina.

pág. 43
2021 Dynamo Version

− Rotina de tubo de queda:

O que é um tubo de queda?

O tudo de queda é uma tubulação vertical que recebe efluentes de ramais de descarga, ramais de esgoto e de
subcoletores.

Será realizada uma rotina de tabela de nota de serviço de tubo de queda, extrair essa planilha dentro do AutoCad
para ser apresentada junto com a planta. Posteriormente, será desenvolvida essa modelagem dentro do Cad.

Passos:

Abra um arquivo que contenha os dados de tubo de queda> aba view clica em new vertical para dividir criar duas
viewport> clica em alignment> Create alignment from Network Parts> seleciona o intervalo do alinhamento> será
aberta uma janela para selecionar uma superfície> procura a superfície do projeto> clica> draw in profile view> clica
no alinhamento e procura a aba profile view> avança até chegar na aba Pipe/PressureNetwork> seleciona rede de
esgoto> create profile view.

Como é feito o estudo de queda?

Temos as estruturas e os pipes que chegam nessa estrutura.

IMPORTANTE:
Condições: Se a altura (h) for maior que 0,50m, recomenda realizar o estudo de queda, porque o tubo pode cair
direto ou pode criar uma fissura na caixa, no PV.

Imagem 88 – Imagem representativa da condição da altura do tubo.

Abra o Dynamo> new (começar um novo arquivo de rotina)> configurar para manual.

Biblioteca> buscar primeiro “NÓ” – String> renomear a string para “Nome da Rede” e nos dados renomear para
REDE-ESGOTO> botão direito> Create Group> Renomear título para: Input-Rede-Esgoto (indicar uma cor).

pág. 44
2021 Dynamo Version

Imagem 89 – Criação do “NÓ” – Input-Rede_Esgoto.

Biblioteca> add-ons>Autodesk> PipeNetworks> PipeNetworks> PypeName> ligar REDE-ESGOTO do input ao name do


PipeNetWork.ByName. Criar “NÓ” current> ligar documents de Documents.Current ao document do
PipeNetWork.ByName.

Imagem 90 – Criação e ligação dos “NÓS”.

- Buscar os “NÓS” de estruturas:

Biblioteca> add-ons> Autodesk> PipeNetworks> PipeNetworks> GetPipesStructures> ligar os PipeNetwork.

Imagem 91 – Ligação do “NÓ”.

- Buscar os “NÓS” de informação que fazem os pipes conversar com as structures:

Biblioteca> add-ons> Autodesk> Pipe> EndInvert> ligar o Pipes do PipeNetwork.GetPipesStructures ao pipe do


Pipe.Endinvert> RUN.

Obs: Após rodar a rotina mostra todas as cotas.

pág. 45
2021 Dynamo Version

White note here> Renomear título para: Cota GI Final (indicar uma cor).

Imagem 92 – Criação do “NÓ” que indica a Cota da Geratriz Inferior do Tubo.

Biblioteca> add-ons> Autodesk> PipeNework> Pipe> EndStructure> ligar o Pipes do PipeNetwork.GetPipesStructures


ao pipe do Pipe.EndStructure.

Imagem 93 – Criação do “NÓ” que infica a Cota da Geratriz Inferior do Tubo.

Biblioteca> add-ons> Autodesk> PipeNework> Pipe> Structure> Superelevation> ligar a Structure do


Pipe.EndStructure ao structure do Structure.SumpElevation.

pág. 46
2021 Dynamo Version

Imagem 94 – Ligação do “NÓ”.

• Descobrindo a altura (h):

Criar um Code Block> renomear para “h= GI-CF”>

Ligar o double do Pipe.Endinvert ao h do Code Block.


Ligar o double do Structure.SumpElevation ao h do Code Block.

Digite RUN para rodar a rotina.

Imagem 95 – Ligações dos “NÓS”.

• Criando a condição da altura (h):

Entrar com os dados CF (cota final) do Code Block para 0,5.

pág. 47
2021 Dynamo Version

Imagem 96 – Entrada do valor da cota final.

Biblioteca> digite “>=”>


Ligar o GI em X do >=.
Ligar o CF em Y do >=.

Se o h for >= 0,5m, o resultado mostra se é verdadeiro ou falso.

Imagem 97 – Resultado verdadeiro ou falso pra H>0,50m.

Biblioteca> Watch: mostra a lista das alturas para comparar melhor quais os tubos que serão necessários apresentar
o tubo de queda.

pág. 48
2021 Dynamo Version

Imagem 98 – Lista dos dados necessários ter o tubo de queda.

• Inserindo os nomes dos Pipes:

Biblioteca> add-ons> Autodesk> PipeNework> Pipe> PipeName> White note here> Renomear título para “Nome do
Tubo” ligar Pipes do PipeNetwork.GetPipesStructures ao pipe do Pipe.Name.

Imagem 99 – Renomeando os titulos dos Pipes.

• Inserindo os nomes das Structure:

Biblioteca> add-ons> Autodesk> Civil3DToolkit> PipeNeworks> Structure> Name> White note here> Renomear título
para “Nome da Estrutura”.

pág. 49
2021 Dynamo Version

Imagem 100 – Renomeando os titulos das Estruturas.

• Criando as listas:

As listas são criadas por “,”.

Criar um Code Block> entrar com os dados, conforme a imagem abaixo.

Imagem 101 – Criação do “NÓ” Lista.

Ligar todos os “NÓS” ao Code Block da imagem acima, conforme imagem abaixo.

pág. 50
2021 Dynamo Version

Imagem 102 – Ligações dos “NÓS”.

Biblioteca> List> clique em List Create> liga os dados de cada Code Block em seus respectivos item da List Create.

Imagem 103 – Ligações dos “NÓS”.

Buscar um “NÓ” que que organiza a lista: Biblioteca> transpose> ligar list de List Create ao lists de list.Transpose.

Imagem 104 – Ligações dos “NÓS”.

Será mostrado varias listas, todos os dados do code block (exemplo: Nome Pipe, CF, h..) terão os mesmos tamanhos,
porque cada pipe porexemplo terá V ou F, cada pipe terá uma GI e assim por diante.

• Criando e exportando somente as listas que forem verdadeiras:

Biblioteca> procurar – Mask para filtrar os verdadeiros>

Ligar o var[] do >= ao list do Liste.FilterByBoolMask.

Ligar lists do List.Transpose ao mask Liste.FilterByBoolMask.

pág. 51
2021 Dynamo Version

Imagem 105 – Criando e exportando listas com alturas maiores que 0,50m.

Digite RUN para rodar a rotina.

Na saída “IN” aparece as listas dos objetos TRUE e na saída “OUT “aparece as listas dos objetos FALSE:

Imagem 106 – Listas de objetos in (true). Listas de objetos out (false).

• Criando um título para a lista:

Biblioteca> AddItem>

Ligar in do List.FilterByBoolMask em list do List.AddItemToFront.

Ligar o título do Code Block (lista do true) no item do List.AddItemToFront.

Imagem 107 – Criação e ligação dos “NÓS” das listas.

• Criando um grupo com informações do tubo de queda:

- Seleciona todos os “NÓS” para criar grupos> Botão direito> Create Group> Renomear título para: Cria uma lista de
informações apenas com os tubos de queda (indicar uma cor).

pág. 52
2021 Dynamo Version

Imagem 108 – Renomear o título do grupo – Cria uma lista de informações apenas com os tubos de queda.

• Transformando qualquer elemento em texto para inserir as informações em dados:

Biblioteca> procurar – String from Object> ligar list do List.AddItemToFront ao Obj do String from Object.

Imagem 109 – Transformando elemento em um texto.

Biblioteca> add-ons> Autodesk> AutoCad> Table> clicar em ByPointData> Ligar str de Sting from Object a data do
Table.ByPointData.

Imagem 110 – Ligação do “NÓ”.

Biblioteca> add-ons> Autodesk> AutoCad> Selection> clicar Selection Object> botão direito> Create Group>
Renomear título para: Input (indicar uma cor) > selecionar um ponto no civil.

pág. 53
2021 Dynamo Version

Imagem 111 – Organizar e Renomear o título do grupo – Input.

Ligar o Point do Pick Point ao point do Table.ByPointData.

Ligar str do String from Object a data do Table.ByPointdata.

Criar Code block com os dados de entrada 0 e ligar em:

- RowHeight;

- ColumnWidth;

- textHeight;

- Layer;

- Block.

Obs: O cellAlignment pode deixar padrão.

Biblioteca> ModelSpace> ligar Block do Document.ModelSpace ao block do Table.ByPointData.

Biblioteca> Currenty (Autodesk)> ligar Document do Document.Current ao document do Document.ModelSpace.

Imagem 112 – Criação e ligações dos “NÓS”.

Digite RUN para rodar a rotina e mostrar o resultado da tabela, conforme imagem abaixo.

pág. 54
2021 Dynamo Version

Imagem 113 – Esboço da tabela sem formatação.

• Modificando a propriedade dos objetos:

Biblioteca> add-ons> Autodesk> Civil3DToolkit> Autocad> ObjectExtesions> clique em GetParameters> clique em


SetParameterValueByName.

Como parâmetro para a tabela, será utilizado largura de 0,80m e uma altura mínima possível>

Ligar Table do Table.ByPointData ao obj do ObjectExtensions.GetParameters.

Ligar Table do Table.ByPointData ao obj do ObjectExtensions.SetParameterValueByName.

A var[] do ObjectExtensions.GetParameters é como se fosse uma espécie de dicionário, que contém diversos
parâmetros para escolher para entrar no parameter do ObjectExtensions.SetParameterValueByName.

Como citado acima, os parâmetros que queremos será a largura e altura da tabela, que são os seguintes itens: Table
Height e Table width.

Criar um Code Block para ligar esses dois itens> entrar com os dados “Height”; “0.5” (altura) e “Width”;”80”
(largura)> criar uma cópia do ObjectExtensions.SetParameterValueByName>

Ligar o Height do Code Block ao parameters do ObjectExtensions.GetParameters.

Ligar o 0.5 do Code Block ao value do ObjectExtensions.GetParameters.

Ligar Width do Code Block ao parameters do ObjectExtensions.SetParameterValueByName.

Ligar 80 do Code Block ao value do ObjectExtensions.SetParameterValueByName.

pág. 55
2021 Dynamo Version

Imagem 114 – Criação e ligações dos “NÓS” de parametros de formatação da tabela.

Digite RUN para rodar a rotina.

Imagem 115 – Resultado da tabela formatada no Civil 3D.

- Criando grupo para organizar:

- Seleciona os seguintes “NÓS” para criar grupos:


• String from Object;
• Document.Current;
• Code Block (dados de entrada);
• Document.ModelSpace;
• Table.ByPointData;
• Code Block (dados de altura e largura);
• ObjectExtensions.GetParameters;
• ObjectExtensions.SetParameterValueByName
pág. 56
2021 Dynamo Version

Botão direito> Create Group> Renomear título para: Cria Tabela no C3D (indicar uma cor).

Imagem 116 – Criação e ligações dos “NÓS” da tabela no Civil 3D.

• Exportando a tabela para o Excel:

Biblioteca> ImportExport> ExportExcel (é um NÓ chave).

Imagem 117 – Criação de “NÓ” para exportar para a ferramenta do Excel.

1ª Ligação (filePath)– Local que será salvo o arquivo:

Biblioteca> procurar por Current> procurar também por Detail> ligar o Document do Document.Current ao
document do Document.Detail> RUN. Aparece um dicionário da pasta e o nome do tubo de queda.

Biblioteca> StringConcat (é uma ferramenta do Excel que junta os textos)> ligar Folder do Document.Detail a string0
do String.Concat.

Criar String com a entrada de “\” e ligar no string1 do String.Concat.


Criar Code Bock com os dados de “NS” (nota de serviço) – TQ_ (tubo de queda) e ligar no string2 do String.Concat.

- Substituir o dwg em xls:

Biblioteca> Replace. Criar Code block com a entrada de “.dwg”; “.xls” >

Ligar o .dwg do Code Block ao searchFor do String.Replace.


Ligar também o .xls do Code Block ao replaceWith do String.Replace.
Ligar o str do String.Replace a string3 do String.Concat.

pág. 57
2021 Dynamo Version

Imagem 118 – Alteração do tipo de arquivo, criação e ligações dos “NÓS”.

Ligar str do String.Concat ao filePath (caminho de arquivo) do Data.ExportExcel.

2ª Ligação (sheetName)– Nome da aba da planilha:

Criar Code Block com os dados de entrada “NS-TQ”; 1; true.

Imagem 119 – Criação do “NÓ” Nome da planilha.

Ligar o NS-TQ no sheetName do Data.ExportExcel.

3ª e 4ª Ligações (startRow e startCol) – 1ª linha e 1ª coluna:

Criar Code Block com os dados de entrada “NS-TQ”; “1” >

Ligar o 1 no startRow e no startCol do Data.ExportExcel.

5ª ligação (data) – 1ª linha e 1ª coluna:


Ligar a lista, que vem do grupo “Cria uma Lista de Informações apenas com os tubos de queda”, list do
List.AddItemtofront a data do Data.ExportExcel.

6ª ligação (overWrite) – Modificar o que foi criado:


Ligar o true do Code Block no overWrite do Data.ExportExcel.

pág. 58
2021 Dynamo Version

Imagem 120 – Ligações dos “NÓS” de exportação do Excel.

- Esses “NÓS” indicam uma organização e exporta os dados para Excel.

Seleciona os seguintes “NÓS” para criar grupos:


• Document.Current;
• Document.Detail;
• Code Block (tipo do arquivo);
• String;
• Code Block (Nome da tabela);
• String (\);
• Data.ExportExcel;
• String.Replace;
• String.Concat.

Seleciona os “NÓS” Code Block> botão direito> Create Group> Renomear título para: Exporta Tabela para o Excel
(indicar uma cor).

Imagem 121 – Organizar e Renomear o título do grupo – Exporta Tabela para o Excel.

Criar Code Block com os dados de entrada “true” e ligar em overWhite Data.ExportExcel.

Digite RUN para rodar> Vai abrir uma janela do Excel.

pág. 59
2021 Dynamo Version

Imagem 122 – Tabela exportada do Dynamo com os dados verdadeiros da H da queda.

pág. 60

Você também pode gostar