Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Embora o Dynamo tenha sido originalmente criado com o Revit em mente, sua versatilidade como ferramenta de programação visual se estende além do Revit. O Dynamo também está integrado no Civil 3D, permitindo que os usuários criem rotinas de automação poderosas para projetos de infraestrutura civil. É uma ferramenta extremamente útil para processar qualquer tarefa, desde as comuns até os fluxos de trabalho de projeto mais complexos, ajudando, em última análise, a economizar tempo, otimizar os projetos e tomar melhores decisões de projeto. O Dynamo oferece um conjunto completo de nós especificamente projetados para o Civil 3D, bem como bibliotecas de terceiros de uma comunidade consolidada.
Este capítulo do manual se concentrará no Dynamo for Civil 3D, começando com os conceitos básicos e chegando até tópicos mais avançados.
Estradas, ferrovias, terras, serviços públicos, levantamento topográfico, GIS etc.
A infraestrutura civil é tudo isso e muito mais. Esta seção contém diversos gráficos de exemplo práticos e relevantes para ajudar a orientar você a dominar o Dynamo e revelar todo o potencial do Dynamo for Civil 3D. Cada gráfico é fornecido completo com descrições detalhadas da lógica que foi usada para criá-lo, para que você possa não apenas usá-lo, mas entendê-lo.
Além disso, esses exemplos incorporam práticas recomendadas, que já passaram pelo teste do tempo, para a construção de gráficos sólidos. À medida que você trabalha nos exemplos, recomendamos que se familiarize também com a seção Melhores práticas para obter mais ideias sobre como criar gráficos poderosos, flexíveis e sustentáveis.
O Dynamo for Civil 3D traz o paradigma da programação visual para engenheiros e projetistas que trabalham em projetos de infraestrutura civil. Você pode pensar no Dynamo como uma espécie de multiferramenta digital para usuários do Civil 3D, seja qual for a tarefa, ele tem a ferramenta certa para o trabalho. Sua interface intuitiva permite criar rotinas poderosas e personalizáveis sem escrever uma única linha de código. Não é necessário ser um programador para usar o Dynamo, mas é preciso pensar na lógica de um programador. Juntamente com os outros capítulos do manual, este capítulo ajudará você a desenvolver suas habilidades lógicas para que você possa lidar com qualquer tarefa com uma mentalidade de projeto computacional.
O Dynamo foi introduzido pela primeira vez no Civil 3D 2020 e continuou a evoluir desde então. Inicialmente instalado separadamente por meio de uma atualização de software, agora é fornecido com todas as versões do Civil 3D. Dependendo de qual versão do Civil 3D você esteja usando, você poderá observar que a interface do Dynamo tem aparência ligeiramente diferente dos exemplos mostrados neste capítulo. Isso ocorre porque houve uma revisão significativa da interface no Civil 3D 2023.
Ao adicionar tubulações e estruturas a uma rede de tubulação, o Civil 3D usa um modelo para atribuir nomes automaticamente. Normalmente, isso é suficiente durante o posicionamento inicial, mas inevitavelmente os nomes terão que mudar no futuro à medida que o projeto evoluir. Além disso, há muitos padrões de nomenclatura diferentes que podem ser necessários, por exemplo, nomear estruturas sequencialmente em um trecho de tubulação com base na estrutura a jusante mais distante ou seguir um padrão de nomenclatura alinhado com o esquema de dados de um órgão local. Este exemplo demonstrará como o Dynamo pode ser usado para definir qualquer tipo de estratégia de nomeação e aplicá-lo de forma consistente.
Trabalhar com caixas delimitadoras
Filtrar dados usando o nó List.FilterByBoolMask
Classificar os dados usando o nó List.SortByKey
Gerar e modificar sequências de texto
Este gráfico será executado no Civil 3D 2020 e versões superiores.
Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Selecionar as estruturas por camada
Obter as localizações da estrutura
Filtrar as estruturas por deslocamento e, em seguida, classificá-las por estaca
Gerar os novos nomes
Renomear as estruturas
Vamos começar
A primeira coisa que precisamos fazer é selecionar todas as estruturas com as quais planejamos trabalhar. Para fazer isso, basta selecionar todos os objetos em uma determinada camada, o que significa que podemos selecionar estruturas de diferentes redes de tubulação (presumindo que compartilhem a mesma camada).
Esse nó assegura que não recuperemos acidentalmente quaisquer tipos de objetos indesejados que possam compartilhar a mesma camada que as estruturas.
Agora que temos as estruturas, precisamos descobrir sua posição no espaço para que possamos classificá-las de acordo com sua localização. Para fazer isso, aproveitaremos a caixa delimitadora de cada objeto. A Caixa delimitadora de um objeto é a caixa de tamanho mínimo que contém completamente as extensões geométricas do objeto. Ao calcular o centro da caixa delimitadora, obtemos uma boa aproximação do ponto de inserção da estrutura.
Usaremos estes pontos para obter a estaca e o deslocamento das estruturas em relação a um alinhamento selecionado.
Neste ponto é que as coisas começam a ficar um pouco complicadas. Nesta fase, temos uma lista grande de todas as estruturas na camada que especificamos e escolhemos um alinhamento que desejamos classificar. O problema é que pode haver estruturas na lista que não queremos renomear. Por exemplo, elas podem não fazer parte do trecho específico em que estamos interessados.
O alinhamento selecionado
As estruturas que queremos renomear
As estruturas que devem ser ignoradas
Portanto, precisamos filtrar a lista de estruturas para que não consideremos as que são maiores do que um determinado deslocamento do alinhamento. Isso é melhor realizado usando o nó List.FilterByBoolMask. Após filtrar a lista de estruturas, usamos o nó List.SortByKey para classificá-las por seus valores de estaca.
Verificar se o deslocamento da estrutura é menor que o valor de limite
Substituir os valores nulos por false
Filtrar a lista de estruturas e estacas
Classificar as estruturas pelas estacas
O último trabalho que precisamos fazer é criar os novos nomes para as estruturas. O formato que usaremos é <alignment name>-STRC-<number>
. Há alguns nós extras aqui para preencher os números com zeros extras, se desejado (por exemplo, “01”em vez de “1”).
E, por último, mas não menos importante, renomeamos as estruturas.
Veja um exemplo de como executar o gráfico usando o Reprodutor do Dynamo.
Pode ser útil aproveitar a visualização do plano de fundo 3D do Dynamo para visualizar as saídas intermediárias do gráfico em vez de apenas o resultado final. Uma coisa fácil que podemos fazer é mostrar as caixas delimitadoras das estruturas. Além disso, este conjunto de dados específico tem um corredor no documento; portanto, podemos trazer a geometria da linha de recurso do corredor para o Dynamo para fornecer algum contexto para onde as estruturas estão localizadas no espaço. Se o gráfico for usado em um conjunto de dados que não tem corredores, estes nós simplesmente não farão nada.
Agora podemos entender melhor como funciona o processo de filtragem das estruturas por deslocamento.
Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.
Renomeie as estruturas com base em seu Alinhamento mais próximo em vez de selecionar um alinhamento específico.
Renomeie as tubulações além das estruturas.
Defina as camadas das estruturas com base em seu trecho.
Um dos muitos casos de uso excelentes do Dynamo é posicionar objetos separados dinamicamente ao longo de um modelo de corredor. Geralmente, os objetos precisam ser posicionados em localizações independentes das montagens inseridas ao longo do corredor, o que é uma tarefa muito entediante para ser realizada manualmente. E, quando a geometria horizontal ou vertical do corredor muda, isso introduz uma quantidade significativa de retrabalho.
Ler dados de um arquivo externo (neste caso, Excel)
Organizar dados em dicionários
Usar sistemas de coordenadas para controlar a posição/escala/rotação
Posicionar referências de bloco
Visualizar a geometria no Dynamo
Este gráfico será executado no Civil 3D 2020 e versões superiores.
Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.
É melhor que o arquivo do Excel seja salvo no mesmo diretório que o gráfico do Dynamo.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Ler o arquivo do Excel e importar os dados para o Dynamo
Obter as linhas de recurso da linha base do corredor especificada
Gerar os sistemas de coordenadas ao longo da linha de recurso do corredor nas estacas desejadas
Usar os sistemas de coordenadas para posicionar referências de bloco no espaço do modelo
Vamos começar
Neste gráfico de exemplo, vamos usar um arquivo do Excel para armazenar os dados que o Dynamo usará para posicionar as referências de bloco dos postes de luz. A tabela tem a aparência a seguir.
Usar o Dynamo para ler dados de um arquivo externo (como um arquivo do Excel) é uma ótima estratégia, especialmente quando os dados precisam ser compartilhados com outros membros da equipe.
Os dados do Excel são importados para o Dynamo da seguinte maneira.
Agora que temos os dados, precisamos dividi-los por coluna (Corredor, Linha base, PointCode etc.) para que possam ser usados no restante do gráfico. Uma forma comum de fazer isso é usar o nó List.GetItemAtIndex e especificar o número de índice de cada coluna que desejamos. Por exemplo, a coluna Corredor está no índice 0, a coluna Linha base está no índice 1 etc.
Parece bom, certo? Mas há um problema potencial com essa abordagem. E se a ordem das colunas no arquivo do Excel for alterada no futuro? Ou uma nova coluna for adicionada entre duas colunas? Nesses casos, o gráfico não funcionará corretamente e exigirá uma atualização. Podemos tornar o gráfico à prova de futuro colocando os dados em um Dicionário, com os cabeçalhos de coluna do Excel como chaves e o resto dos dados como valores.
Isso torna o gráfico mais resiliente porque permite flexibilidade ao alterar a ordem das colunas no Excel. Enquanto os cabeçalhos de coluna permanecerem os mesmos, os dados poderão ser recuperados do dicionário usando sua chave (ou seja, o cabeçalho da coluna), que é o que fazemos em seguida.
Agora que temos os dados do Excel importados e prontos para serem usados, vamos começar a usá-los para obter algumas informações do Civil 3D sobre os modelos de corredor.
Selecione o modelo de corredor pelo nome.
Obtenha uma linha base específica dentro do corredor.
Obtenha uma linha do recurso na linha base pelo código de ponto.
O que vamos fazer agora é gerar Sistemas de coordenadas ao longo das linhas de recurso do corredor nos valores de estaca que especificamos no arquivo do Excel. Esses sistemas de coordenadas serão usados para definir a posição, a rotação e a escala das referências de bloco dos postes de luz.
Observe o uso de um bloco de código para rotacionar os sistemas de coordenadas, dependendo do lado em que eles estejam da linha base. Isso pode ser obtido usando uma sequência de vários nós, mas esse é um bom exemplo de uma situação em que é mais fácil escrever manualmente.
Está quase. Temos todas as informações necessárias para podermos realmente posicionar as referências de bloco. A primeira coisa a fazer é obter as definições de bloco que desejamos usando a coluna BlockName do arquivo do Excel.
A partir daí, a última etapa é criar as referências de bloco.
Quando você executar o gráfico, deverá ver novas referências de bloco mostradas no espaço do modelo ao longo do corredor. E aqui está a parte interessante – se o modo de execução do gráfico estiver definido como Automático e você editar o arquivo do Excel, as referências de bloco serão atualizadas automaticamente.
Veja um exemplo de como executar o gráfico usando o Reprodutor do Dynamo.
Pode ser útil visualizar a geometria do corredor no Dynamo para fornecer contexto. Este modelo específico tem os sólidos do corredor já extraídos no espaço do modelo, então vamos levá-los para o Dynamo.
Mas há algo mais que precisamos considerar. Os sólidos são um tipo de geometria relativamente “pesada”, o que significa que essa operação diminuirá a velocidade do gráfico. Seria bom se houvesse uma maneira simples de escolher se desejamos visualizar os sólidos ou não. A resposta óbvia é desconectar o nó Corridor.GetSolids, mas isso produzirá avisos para todos os nós a jusante, o que é um pouco confuso. Essa é uma situação em que o nó ScopeIf realmente se destaca.
Observe que o nó Object.Geometry tem uma barra cinza na parte inferior. Isso significa que a visualização do nó está desativada (acessível clicando com o botão direito do mouse no nó), o que permite que GeometryColor.ByGeometryColor evite “brigar” com outra geometria por prioridade de exibição na visualização do plano de fundo.
O nó ScopeIf basicamente permite executar seletivamente uma ramificação inteira de nós. Se a entrada test for falsa, nenhum nó conectado ao nó ScopeIf será executado.
Veja o resultado na visualização do plano de fundo do Dynamo.
Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.
Adicione uma coluna de rotação ao arquivo do Excel e use-a para controlar a rotação dos sistemas de coordenadas.
Adicione deslocamentos horizontais ou verticais ao arquivo do Excel para que os postes de luz possam se desviar da linha de recurso do corredor, se necessário.
Em vez de usar um arquivo do Excel com valores de estaca, gere os valores de estaca diretamente no Dynamo usando uma estaca inicial e um espaçamento típico.
Trabalhar com pontos COGO e grupos de pontos no Civil 3D é um elemento central de muitos processos do campo à conclusão. O Dynamo realmente brilha quando se trata de gerenciamento de dados e demonstraremos um caso de uso potencial neste exemplo.
Trabalhar com listas
Agrupar objetos similares com o nó List.GroupByKey
Mostrar a saída personalizada no Reprodutor do Dynamo
Este gráfico será executado no Civil 3D 2020 e versões superiores.
Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Obter todos os pontos COGO no documento
Agrupar os pontos COGO por descrição
Criar os grupos de pontos
Gerar a saída de um resumo para o Reprodutor do Dynamo
Vamos começar
Nossa primeira etapa é obter todos os grupos de pontos no documento e, em seguida, obter todos os pontos COGO dentro de cada grupo. Isso nos fornecerá uma lista aninhada ou uma “lista de listas” com a qual será mais fácil trabalhar mais tarde se aplainarmos tudo em uma única lista com o nó List.Flatten.
Agora que temos todos os pontos COGO, precisamos separá-los em grupos com base em suas descrições. É exatamente isso que o nó List.GroupByKey faz. Ele essencialmente agrupa todos os itens que compartilham a mesma chave.
O trabalho árduo está feito. A etapa final é criar novos grupos de pontos do Civil 3D com base em pontos COGO agrupados.
Quando você executa o gráfico, não há nada para ver na visualização do plano de fundo do Dynamo porque não estamos trabalhando com nenhuma geometria. Portanto, a única maneira de ver se o gráfico foi executado corretamente é verificar o espaço da ferramenta ou analisar as visualizações de saída do nó. No entanto, se executarmos o gráfico usando o Reprodutor do Dynamo, poderemos fornecer mais feedback sobre os resultados do gráfico, gerando um resumo dos grupos de pontos que foram criados. Tudo o que você precisa fazer é clicar com o botão direito do mouse em um nó e defini-lo como É saída. Neste caso, usamos um nó Inspeção renomeado para visualizar os resultados.
Veja um exemplo de como executar o gráfico usando o Reprodutor do Dynamo.
Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.
Modifique o agrupamento de pontos para que seja baseado na descrição completa em vez de na descrição original.
Agrupe os pontos em algumas outras categorias predefinidas que você escolher (por exemplo, “Instantâneos no nível do solo”, “Monumentos” etc.)
Cria automaticamente superfícies TIN para pontos em determinados grupos.
É recomendável dar uma olhada no para obter as informações mais atualizadas sobre o desenvolvimento do Dynamo. A tabela abaixo resume os principais marcos de vida do Dynamo for Civil 3D.
Renomear as estruturas de rede de tubulação na ordem com base no estaqueamento de um alinhamento.
Se você não estiver familiarizado com o trabalho com listas, veja a seção .
Se o Reprodutor do Dynamo for algo novo para você, veja a seção .
Missão cumprida.
Posicionar referências de bloco de postes de luz ao longo de um corredor em valores de estaca especificados em um arquivo do Excel.
Se os dicionários forem algo novo para você, veja a seção .
Se os sistemas de coordenadas forem algo novo para você, veja a seção .
Se os blocos de código forem algo novo para você, veja a seção .
Você pode ler mais sobre os modos de execução de gráficos na seção .
Se o Reprodutor do Dynamo for algo novo para você, veja a seção .
Missão cumprida.
Criar um grupo de pontos para cada descrição de ponto COGO exclusiva.
Se você não estiver familiarizado com o trabalho com listas, veja a seção .
Se o Reprodutor do Dynamo for algo novo para você, veja a seção .
Missão cumprida.
2024.1
2.18
2024
2.17
Atualização da interface do usuário do Reprodutor do Dynamo
2023.2
2.15
2023
2.13
Atualização da interface do usuário do Dynamo
2022.1
2.12
Foram adicionadas configurações de armazenamento de dados de vinculação de objetos
Novos nós para controlar a vinculação de objetos
2022
2.10
Incluído na instalação principal do Civil 3D
Transição do IronPython para o Python.NET
2021
2.5
2020.2
2.4
2020 Update 2
2.4
Novos nós adicionados
2020.1
2.2
2020
2.1
Versão inicial
Com o tempo, você pode precisar ir além dos conceitos básicos e se aprofundar no funcionamento interno do Dynamo. As páginas desta seção fornecerão um esquema para conhecer funcionalidades avançadas no Dynamo for Civil 3D, para que você possa levar seus gráficos a um novo patamar.
Mencionamos anteriormente que os nós são os principais blocos de construção de um gráfico do Dynamo e eles são organizados em grupos lógicos na biblioteca. No Dynamo for Civil 3D, há duas categorias (ou prateleiras) na biblioteca que contêm nós dedicados para trabalhar com objetos do AutoCAD e do Civil 3D, como alinhamentos, perfis, corredores, referências de bloco etc. O restante da biblioteca contém nós que são mais genéricos por natureza e são consistentes em todas as “versões” do Dynamo (por exemplo, Dynamo para Revit, Dynamo Sandbox etc.).
Confira a seção Biblioteca para obter mais informações sobre como os nós da biblioteca principal do Dynamo são organizados.
Nós específicos para trabalhar com objetos do AutoCAD e do Civil 3D
Nós para uso geral
Nós de pacotes de terceiros que você pode instalar separadamente
Se você usar os nós encontrados nas prateleiras do AutoCAD e do Civil 3D, o gráfico do Dynamo funcionará somente no Dynamo for Civil 3D. Se um gráfico do Dynamo for Civil 3D for aberto em outro lugar (no Dynamo para Revit, por exemplo), esses nós serão sinalizados com um aviso e não serão executados.
Por que há duas prateleiras separadas para o AutoCAD e o Civil 3D?
Essa organização distingue os nós de objetos nativos do AutoCAD (linhas, polilinhas, referências de bloco etc.) dos nós de objetos do Civil 3D (alinhamentos, corredores, superfícies etc.). E, do ponto de vista técnico, o AutoCAD e o Civil 3D são dois itens separados – o AutoCAD é o aplicativo base e o Civil 3D é construído com base nele.
Para trabalhar com os nós do AutoCAD e do Civil 3D, é importante ter uma compreensão sólida da hierarquia de objetos em cada prateleira. Você se lembra da taxonomia da biologia? Reino, Filo, Classe, Ordem, Família, Gênero, Espécie? Os objetos do AutoCAD e do Civil 3D são categorizados de forma semelhante. Vamos analisar alguns exemplos para explicar.
Vamos usar um alinhamento como exemplo.
Digamos que seu objetivo seja alterar o nome do alinhamento. A partir daqui, o próximo nó que você adicionaria é um nó CivilObject.SetName.
No início, isso pode não parecer muito intuitivo. O que é um CivilObject e por que a biblioteca não tem um nó Alignment.SetName? A resposta está relacionada à reutilização e à simplicidade. Se você parar para pensar, o processo de alterar o nome de um objeto do Civil 3D será o mesmo quer o objeto seja um alinhamento, corredor, perfil ou outra coisa. Assim, em vez de ter nós repetitivos que essencialmente fazem a mesma coisa (por exemplo, Alignment.SetName, Corridor.SetName, Profile.SetName etc.), faria sentido combinar essa funcionalidade em um único nó. É exatamente isso que CivilObject.SetName faz.
Outra maneira de pensar sobre isso é com base em relacionamentos. Um alinhamento e um corredor são tipos de Objetos do Civil, assim como uma maçã e uma pera são tipos de frutas. Os nós de Objeto do Civil se aplicam a qualquer tipo de Objeto do Civil, da mesma forma que você pode desejar usar um único descascador para remover as cascas de uma maçã e de uma pera. Sua cozinha ficaria bem bagunçada se você tivesse um descascador separado para cada tipo de fruta. Nesse sentido, a biblioteca de nós do Dynamo é como sua cozinha.
Agora, vamos aprofundar essa ideia. Digamos que você deseje alterar a camada do alinhamento. Você usaria o nó Object.SetLayer.
Por que não há um nó chamado CivilObject.SetLayer? Os mesmos princípios de reutilização e simplicidade que discutimos anteriormente aplicam-se aqui. A propriedade layer é algo que é comum a qualquer objeto no AutoCAD que possa ser desenhado ou inserido, como linha, polilinha, texto, referência de bloco etc. Os objetos do Civil 3D, como alinhamentos e corredores, estão na mesma categoria, e, portanto, qualquer nó que se aplica a um Objeto também pode ser usado com qualquer Objeto do Civil.
Agora que você sabe um pouco mais sobre o quadro geral, vamos entrar e criar o primeiro gráfico do Dynamo no Civil 3D.
Este é um exemplo simples que deve demonstrar a funcionalidade básica do Dynamo. É recomendável seguir as etapas em um novo documento vazio do Civil 3D.
A primeira coisa a fazer é abrir um documento vazio no Civil 3D. Depois disso, navegue até a guia Gerenciar na faixa de opções do Civil 3D e procure o painel Programação visual.
Clique no botão Dynamo, que iniciará o Dynamo em uma janela separada.
Qual é a diferença entre o Dynamo e o Reprodutor do Dynamo?
O Dynamo é a ferramenta usada para criar e executar gráficos. O Reprodutor do Dynamo é uma forma fácil de executar gráficos sem precisar abri-los no Dynamo.
Vá para a seção Reprodutor do Dynamo quando estiver tudo pronto para experimentá-lo.
Quando o Dynamo estiver aberto, você verá a tela inicial. Clique em Novo para abrir um espaço de trabalho em branco.
E os exemplos?
O Dynamo for Civil 3D vem com alguns gráficos pré-criados que podem ajudar a estimular mais ideias sobre como você pode usar o Dynamo. Recomendamos que você dê uma olhada neles em algum momento, bem como nos Exemplos de fluxos de trabalho aqui no manual.
Agora você deve estar olhando para um espaço de trabalho vazio. Vamos ver o Dynamo em ação. Este é nosso objetivo:
Muito simples, certo? Mas antes de começarmos, precisamos abordar alguns conceitos básicos.
Os blocos de construção principais de um gráfico do Dynamo são chamados de nós. Um nó é como uma máquina pequena – você coloca dados nele, ele realiza algum trabalho nesses dados e gera um resultado. O Dynamo for Civil 3D tem uma biblioteca de nós que você pode conectar com fios para formar um gráfico que faz coisas maiores e melhores do que qualquer nó isolado pode fazer.
Espere, e se eu nunca tiver usado o Dynamo?
Alguns desses pontos podem ser novos para você, mas isso não é um problema. Estas seções ajudarão.
OK, vamos criar nosso gráfico. Veja a seguir uma lista de todos os nós que precisaremos.
Você pode encontrar esses nós digitando seus nomes na barra de pesquisa na biblioteca ou clicando com o botão direito do mouse em qualquer lugar na tela e pesquisando.
Como posso saber quais nós usar e onde encontrá-los?
Os nós da biblioteca são agrupados em categorias lógicas com base no que fazem. Dê uma olhada na seção Biblioteca de nós para ver um tour mais aprofundado.
Veja a seguir como deve ser a aparência do gráfico final.
Vamos resumir o que fizemos aqui:
Escolhemos em qual documento trabalhar. Neste caso (e em muitos casos), queremos trabalhar no documento ativo no Civil 3D.
Definimos o bloco de destino onde o objeto de texto deve ser criado (neste caso, espaço do modelo).
Usamos um nó String para especificar em qual camada o texto deve ser colocado.
Criamos um ponto usando o nó Point.ByCoordinates para definir a posição em que o texto deve ser colocado.
Definimos as coordenadas X e Y do ponto de inserção de texto usando dois nós Number Slider.
Usamos outro nó String para definir o conteúdo do objeto de texto.
E, por fim, criamos o objeto de texto.
Vamos ver os resultados do nosso novíssimo gráfico.
De volta ao Civil 3D, assegure-se de que a guia Modelo esteja selecionada. Você deve ver o novo objeto de texto que o Dynamo criou.
Se você não conseguir ver o texto, talvez seja necessário executar o comando ZOOM -> EXTENTS para efetuar o zoom no ponto certo.
Legal. Agora, vamos fazer algumas atualizações no texto.
De volta ao gráfico do Dynamo, vá em frente e altere alguns dos valores de entrada, como a sequência de texto, as coordenadas do ponto de inserção etc. Você deve ver o texto automaticamente atualizado no Civil 3D. Observe também que, se você desconectar uma das portas de entrada, o texto será removido. Se você conectar tudo de volta, o texto será criado novamente.
Por que o Dynamo não insere um novo objeto de texto cada vez que o gráfico é executado?
Por padrão, o Dynamo “lembrará” os objetos que criar. Se você alterar os valores de entrada do nó, os objetos no Civil 3D serão atualizados em vez de criar objetos novos. Você pode ler mais sobre esse comportamento na seção Vinculação de objetos.
Este exemplo apenas oferece uma pequena noção do que você pode fazer com o Dynamo for Civil 3D. Continue lendo para saber mais.
O Reprodutor do Dynamo fornece uma forma simplificada para executar gráficos do Dynamo no Civil 3D. Após a criação dos gráficos, não é necessário nenhum conhecimento do Dynamo para usar o Reprodutor e executar os gráficos. Isso facilita o compartilhamento de gráficos com outras pessoas que podem não estar interessadas em analisar os detalhes de nós e fios.
Para obter mais informações sobre o Reprodutor do Dynamo no Civil 3D, consulte a documentação fornecida no site Ajuda do Civil 3D.
O desenvolvimento de envelopes cinemáticos para validação da altura livre é uma parte importante do projeto de ferrovia. É possível usar o Dynamo para gerar sólidos para o envelope, em vez de criar e gerenciar submontagens complexas de corredor para fazer o trabalho.
Trabalhar com linhas de recurso do corredor
Transformar a geometria entre sistemas de coordenadas
Criar sólidos por elevação
Controlar o comportamento do nó com configurações de amarra
Este gráfico será executado no Civil 3D 2020 e versões superiores.
Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Obter linhas de recurso da linha base do corredor especificada
Gerar sistemas de coordenadas ao longo da linha de recurso do corredor no espaçamento desejado
Transformar a geometria do bloco do perfil para os sistemas de coordenadas
Elevar um sólido entre os perfis
Criar sólidos no Civil 3D
Vamos começar
Nossa primeira etapa é obter os dados do corredor. Selecionaremos o modelo de corredor pelo nome, obteremos uma linha base específica dentro do corredor e, em seguida, obteremos uma linha de recurso dentro da linha base pelo código de ponto.
O que vamos fazer agora é gerar os Sistemas de coordenadas ao longo das linhas de recurso do corredor entre uma determinada estaca inicial e final. Esses sistemas de coordenadas serão usados para alinhar a geometria do bloco do perfil do veículo com o corredor.
Se os sistemas de coordenadas forem algo novo para você, veja a seção Vetor, plano e sistema de coordenadas.
Observe os pequenos XXX no canto inferior direito do nó. Isso significa que as configurações de amarra do nó são definidas como Produto transversal, que é necessário para gerar os sistemas de coordenadas nos mesmos valores de estaca para ambas as linhas de recurso.
Se a amarra de nó for algo novo para você, veja a seção O que é uma lista?.
Agora, precisamos de alguma forma criar uma matriz dos perfis de veículo ao longo das linhas do recurso. O que vamos fazer é transformar a geometria da definição do bloco do perfil do veículo usando o nó Geometry.Transform. Esse é um conceito complicado de visualizar, assim, antes de analisarmos os nós, veja a seguir um gráfico que mostra o que vai acontecer.
Basicamente, estamos usando a geometria do Dynamo de uma única definição de bloco e movendo-a/girando-a, tudo isso enquanto criamos uma matriz ao longo da linha do recurso. Que legal. Veja como é a aparência da sequência de nós.
Isso obtém a definição de bloco do documento.
Esses nós obtêm a geometria do Dynamo dos objetos dentro do bloco.
Esses nós definem essencialmente o sistema de coordenadas com base no qual estamos transformando a geometria.
E, por fim, esse nó faz o trabalho real de transformar a geometria.
Observe a amarra Mais longa nesse nó.
E aqui está o que obtemos no Dynamo.
Temos boas notícias. O trabalho árduo está feito. Tudo o que precisamos fazer agora é gerar sólidos entre os perfis. Isso é facilmente obtido com o nó Solid.ByLoft.
E aqui está o resultado. Lembre-se de que esses são sólidos do Dynamo – ainda precisamos criá-los no Civil 3D.
Nossa última etapa é gerar os sólidos gerados no espaço do modelo. Também daremos a eles uma cor para torná-los muito fáceis de ver.
Veja um exemplo de como executar o gráfico usando o Reprodutor do Dynamo.
Se o Reprodutor do Dynamo for algo novo para você, veja a seção Reprodutor do Dynamo.
Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.
Adicione a capacidade de usar diferentes intervalos de estacas separadamente para cada trilha.
Divida os sólidos em segmentos menores que podem ser analisados individualmente para detectar interferências.
Verifique se os sólidos de envelope fazem interseção com recursos e colore os que apresentam interferência.
Os pacotes do Dynamo são conjuntos de ferramentas desenvolvidos por terceiros para estender a funcionalidade principal do Dynamo. Eles podem ser acessados por todos e prontos para download com o clique do botão.
Consulte a seção Pacotes para obter mais informações sobre como começar a usar pacotes.
Veja a seguir uma lista de alguns dos pacotes mais populares que podem levar seus gráficos do Dynamo for Civil 3D a um novo patamar.
O Kit de ferramentas do Civil 3D é um pacote do Dynamo for Civil 3D que fornece aprimoramentos significativos aos recursos do Dynamo por meio de um grande inventário de nós adicionais.
O Camber é um pacote de código aberto do Dynamo for Civil 3D que inclui centenas de nós para trabalhar com legendas, refexs, atalhos de dados, estilos etc.
O CivilConnection é um pacote do Dynamo para Revit de código aberto que permite a troca de informações entre o Civil 3D, o Dynamo e o Revit.
O Arkance Systems Nodes é um pacote do Dynamo for Civil 3D com uma grande variedade de nós úteis para trabalhar com cotas, tabelas, vistas, controle de perfuração etc.
O projeto de engenharia de uma construção habitacional típica envolve o trabalho com várias concessionárias subterrâneas, como esgoto sanitário, drenagem de águas pluviais, água potável ou outras. Este exemplo demonstrará como o Dynamo pode ser usado para desenhar as conexões de serviço de uma linha principal de distribuição até um determinada subdivisão de propriedade (por exemplo, um lote). É comum que todos os lotes exijam uma conexão de serviço, o que introduz um trabalho tedioso significativo para colocar todos os serviços. O Dynamo pode acelerar o processo desenhando automaticamente a geometria necessária com precisão, além de fornecer entradas flexíveis que podem ser ajustadas para se adequarem às normas de órgãos locais.
Usar o nó Selecionar objeto para a entrada do usuário
Trabalhar com sistemas de coordenadas
Usar operações geométricas como Geometry.DistanceTo e Geometry.ClosestPointTo
Criar referências de bloco
Controlar as configurações de vinculação de objetos
Este gráfico será executado no Civil 3D 2020 e versões superiores.
Comece fazendo o download dos arquivos de amostra abaixo e, em seguida, abrindo o arquivo DWG e o gráfico do Dynamo.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Obter a geometria da curva para a linha principal de distribuição
Obter a geometria da curva para uma linha do lote selecionada pelo usuário, revertendo se necessário
Gerar os pontos de inserção para os medidores de serviço
Obter os pontos na linha principal de distribuição que estão mais próximos das localizações do medidor de serviço
Criar referências de bloco e linhas no espaço do modelo
Vamos começar
Nossa primeira etapa é obter a geometria da linha de distribuição principal no Dynamo. Em vez de selecionar linhas individuais ou polilinhas, vamos obter todos os objetos em uma determinada camada e uni-los como uma PolyCurve do Dynamo.
Se a geometria da curva do Dynamo for nova para você, veja a seção Curvas.
Em seguida, precisamos colocar a geometria de uma linha do lote selecionada no Dynamo para que possamos trabalhar com ela. A ferramenta certa para o trabalho é o nó Selecionar objeto, que permite que o usuário do gráfico selecione um objeto específico no Civil 3D.
Também precisamos lidar com um possível problema que surja. A linha do lote tem um ponto inicial e um ponto final, o que significa que ela tem uma direção. Para que o gráfico produza resultados consistentes, precisamos que todas as linhas do lote tenham uma direção consistente. Podemos levar em conta essa condição diretamente na lógica do gráfico, o que torna o gráfico mais resiliente.
Obtenha os pontos inicial e final da linha do lote.
Meça a distância de cada ponto até a linha principal de distribuição e, em seguida, descubra qual distância é maior.
O resultado desejado é que o ponto inicial da linha seja o mais próximo da linha principal de distribuição. Se esse não for o caso, invertemos a direção da linha do lote. Caso contrário, simplesmente retornaremos a linha do lote original.
É hora de descobrir onde os medidores de serviço serão colocados. Normalmente, a colocação é determinada pelos requisitos de órgãos locais; portanto, forneceremos valores de entrada que podem ser alterados para atender a várias condições. Vamos usar um Sistema de coordenadas ao longo da linha do lote como referência para criar os pontos. Isso torna muito fácil a definição de deslocamentos relativos à linha do lote, não importando sua orientação.
Se os sistemas de coordenadas forem algo novo para você, veja a seção Vetor, plano e sistema de coordenadas.
Agora precisamos obter os pontos na linha principal de distribuição que estão mais próximos da localizações do medidor de serviço Isso nos permitirá desenhar as conexões de serviço no espaço do modelo para que elas sempre sejam perpendiculares à linha principal de distribuição. O nó Geometry.ClosestPointTo é a solução perfeita.
Essa é a PolyCurve da linha principal de distribuição
Esses são os pontos de inserção do medidor de serviço
A última etapa é efetivamente criar objetos no espaço do modelo. Usaremos os pontos de inserção que geramos anteriormente para criar referências de bloco e, em seguida, usaremos os pontos na linha principal de distribuição para desenhar linhas para as conexões de serviço.
Quando você executar o gráfico, deverá ver novas referências de bloco e linhas de conexão de serviço no espaço do modelo. Tente alterar algumas das entradas e veja como tudo é atualizado automaticamente.
Você pode observar que, após colocar os objetos para uma linha do lote, selecionar uma linha do lote diferente resulta na “movimentação” dos objetos.
Esse é o comportamento padrão do Dynamo e é muito útil em muitos casos. No entanto, você pode achar conveniente colocar várias conexões de serviço sequencialmente e fazer com que o Dynamo crie novos objetos a cada execução em vez de modificar os originais. É possível controlar esse comportamento ao alterar as configurações de vinculação de objetos.
Veja a seção Vinculação de objetos para obter mais informações.
Alterar essa configuração forçará o Dynamo a “esquecer” os objetos que cria a cada execução. Veja a seguir um exemplo de como executar o gráfico com a vinculação de objetos desativada usando o Reprodutor do Dynamo.
Se o Reprodutor do Dynamo for algo novo para você, veja a seção Reprodutor do Dynamo.
Veja a seguir algumas ideias sobre como você pode expandir os recursos desse gráfico.
Coloque várias conexões de serviço simultaneamente em vez de selecionar cada linha do lote.
Ajuste as entradas para colocar limpeza de esgoto em vez de medidores de serviço de água.
Adicione um botão de alternância para permitir a colocação de uma única conexão de serviço em um lado específico da linha do lote em vez de em ambos os lados.
O Dynamo for Civil 3D contém um mecanismo muito poderoso para “lembrar” os objetos que são criados por cada nó. Esse mecanismo é chamado de Vinculação de objetos e permite que um gráfico do Dynamo produza resultados consistentes sempre que for executado no mesmo documento. Embora isso seja altamente desejável em muitas situações, há outras situações em que você pode desejar ter mais controle sobre o comportamento do Dynamo. Esta seção ajudará a entender como funciona a vinculação de objetos e como você pode tirar proveito dela.
Considere este gráfico que cria um círculo no espaço do modelo na camada atual.
Observe o que acontece quando o raio é alterado.
É a vinculação de objetos em ação. O comportamento padrão do Dynamo é modificar o raio do círculo, em vez de criar um novo círculo sempre que a entrada do raio é alterada. Isso ocorre porque o nó Object.ByGeometry “lembra” que criou esse círculo específico sempre que o gráfico é executado. Além disso, o Dynamo armazenará essas informações de modo que, na próxima vez que você abrir o documento do Civil 3D e executar o gráfico, ele tenha exatamente o mesmo comportamento.
Vamos examinar um exemplo no qual você pode desejar alterar o comportamento da vinculação de objetos padrão do Dynamo. Digamos que você deseje criar um gráfico que posicione o texto no meio de um círculo. No entanto, sua intenção com esse gráfico é que ele possa ser executado repetidamente e posicionar novo texto sempre que qualquer círculo for selecionado. Veja a seguir a aparência do gráfico.
No entanto, isso é o que acontece quando um círculo diferente é selecionado.
Parece que o texto é excluído e recriado a cada execução do gráfico. Na realidade, a posição do texto está sendo modificada, dependendo de qual círculo está selecionado. Portanto, é o mesmo texto, só que em um lugar diferente. Para criar um novo texto a cada vez, é necessário modificar as configurações de vinculação de objetos do Dynamo para que nenhum dado de vinculação seja mantido (consulte #binding-settingsabaixo).
Depois de fazer essa alteração, temos o comportamento que procuramos.
O Dynamo for Civil 3D permite modificar o comportamento padrão da vinculação de objetos por meio das configurações Armazenamento de dados de vinculação no menu do Dynamo.
Observe que as opções de Armazenamento de dados de vinculação estão disponíveis no Civil 3D 2022.1 e versões posteriores.
Todas as opções estão ativadas por padrão. Veja a seguir um resumo do que cada opção faz.
Quando essa opção está ativada, o Dynamo “esquecerá” os objetos que criou na última vez que o gráfico foi executado. Assim, o gráfico pode ser executado em qualquer desenho em qualquer situação e criará novos objetos a cada vez.
Quando usar
Use essa opção quando desejar que o Dynamo “esqueça” tudo sobre o que fez em execuções anteriores e crie novos objetos todas as vezes.
Essa opção significa que os metadados da vinculação de objetos serão serializados no gráfico (arquivo .dyn) quando ele for salvo. Se você fechar/reabrir o gráfico e executá-lo no mesmo desenho, tudo deverá funcionar da mesma forma que você deixou. Se o gráfico for executado em um desenho diferente, os dados de vinculação serão removidos do gráfico e novos objetos serão criados. Isso significa que, se você abrir o desenho original e executar o gráfico novamente, serão criados novos objetos além dos antigos.
Quando usar
Use essa opção quando desejar que o Dynamo “lembre-se” dos objetos que criou na última vez que foi executado em um desenho específico.
Essa opção é mais adequada para situações em que é possível manter uma relação 1:1 entre um desenho específico e um gráfico do Dynamo. As opções 1 e 3 são mais adequadas para gráficos projetados para execução em vários desenhos.
Essa opção é semelhante à Opção 2, exceto que os dados de vinculação de objetos são serializados no desenho em vez de serem no gráfico (arquivo .dyn). Se você fechar/reabrir o gráfico e executá-lo no mesmo desenho, tudo deverá funcionar da mesma forma que você deixou. Se o gráfico for executado em um desenho diferente, os dados de vinculação ainda serão preservados no desenho original, já que ele é salvo no desenho e não no gráfico.
Quando usar
Use essa opção quando desejar usar o mesmo gráfico em vários desenhos e que o Dynamo “lembre” do que fez em cada um deles.
A primeira coisa a observar com essa opção é que ela não tem efeito sobre como o gráfico interage com o desenho ao executar o gráfico através da interface principal do Dynamo. Essa opção somente se aplica quando o gráfico é executado usando o Reprodutor do Dynamo.
Se o Reprodutor do Dynamo for algo novo para você, veja a seção Reprodutor do Dynamo.
Se o gráfico for executado usando a interface principal do Dynamo e, em seguida, fechar e executar o mesmo gráfico usando o Reprodutor do Dynamo, ele criará novos objetos além dos que criou antes. No entanto, quando o Reprodutor do Dynamo executar o gráfico uma vez, ele serializará os dados da vinculação de objetos no desenho. Portanto, se o gráfico for executado várias vezes através do Reprodutor do Dynamo, ele atualizará os objetos em vez de criar novos. Se o gráfico for executado através do Reprodutor do Dynamo em um desenho diferente, os dados de vinculação ainda serão preservados no desenho original, já que ele será salvo no desenho e não no gráfico.
Quando usar
Use essa opção quando desejar executar um gráfico usando o Reprodutor do Dynamo em vários desenhos e que ele “lembre” o que fez em cada um deles.
Embora o Dynamo seja extremamente poderoso como uma ferramenta de programação visual, também é possível ir além dos nós e fios e escrever código em forma textual. Há duas maneiras de fazer isso:
Escrever DesignScript usando um bloco de código
Escrever Python usando um nó Python
Esta seção se concentrará em como aproveitar o Python no ambiente do Civil 3D para tirar proveito das APIs .NET do AutoCAD e do Civil 3D.
Dê uma olhada na seção Python para obter informações mais gerais sobre como usar o Python no Dynamo.
O AutoCAD e o Civil 3D têm várias APIs disponíveis que permitem que desenvolvedores como você estendam o produto principal com funcionalidade personalizada. No contexto do Dynamo, são as APIs .NET gerenciadas que são relevantes. Os links a seguir são essenciais para entender a estrutura das APIs e como elas funcionam.
Guia do Desenvolvedor da API .NET do AutoCAD
Guia de Referência da API .NET do AutoCAD
Guia do Desenvolvedor de API .NET do Civil 3D
Guia de Referência da API .NET do Civil 3D
Ao longo desta seção, pode haver alguns conceitos com os quais você não está familiarizado, como bancos de dados, transações, métodos, propriedades etc. Muitos desses conceitos são fundamentais para trabalhar com as APIs .NET e não são específicos do Dynamo ou do Python. Está além do escopo desta seção do Manual discutir esses itens em detalhes; portanto, recomendamos consultar os links acima com frequência para obter mais informações.
Quando você editar um novo nó Python pela primeira vez, ele será preenchido previamente com o código do modelo para começar. Veja a seguir um detalhamento do modelo com explicações sobre cada bloco.
Importa os módulos
sys
eclr
, que são necessários para que o interpretador Python funcione corretamente. Em particular, o móduloclr
permite que os namespaces .NET sejam tratados essencialmente como pacotes Python.Carrega as montagens padrão (ou seja, DLLs) para trabalhar com as APIs .NET gerenciadas para o AutoCAD e o Civil 3D.
Adiciona referências aos namespaces padrão do AutoCAD e do Civil 3D. Isso é equivalente às diretivas
using
ouImports
em C# ou VB.NET (respectivamente).As portas de entrada do nó são acessíveis usando uma lista predefinida chamada
IN
. É possível acessar os dados em uma porta específica usando seu número de índice, por exemplo,dataInFirstPort = IN[0]
.Obtém o documento e o editor ativos.
Bloqueia o documento e inicia uma transação do banco de dados.
Aqui você deve colocar a maior parte da lógica do script.
Retire o comentário dessa linha para confirmar a transação após seu trabalho principal ter sido concluído.
Se desejar gerar dados do nó, atribua-os à variável
OUT
no final do script.
Deseja personalizar?
É possível modificar o modelo Python padrão editando o arquivo PythonTemplate.py
localizado em C:\ProgramData\Autodesk\C3D <versão>\Dynamo
.
Vamos analisar um exemplo para demonstrar alguns dos conceitos essenciais de escrever scripts Python no Dynamo for Civil 3D.
Veja a seguir arquivos de exemplos que você pode consultar para este exercício.
Apresentamos a seguir uma visão geral da lógica no gráfico.
Revisar a documentação da API do Civil 3D
Selecionar todas as áreas de contribuição no documento por nome de camada
“Expandir” os objetos do Dynamo para acessar os membros internos da API do Civil 3D
Criar pontos do Dynamo com base em pontos do AutoCAD
Criar PolyCurves com base em pontos
Vamos começar
Antes de começarmos a criar nosso gráfico e escrever código, é uma boa ideia dar uma olhada na documentação da API do Civil 3D e ter uma ideia do que a API disponibiliza para nós. Neste caso, há uma propriedade na classe Área de contribuição que retornará os pontos de limite da área de contribuição. Observe que essa propriedade retorna um objeto Point3dCollection
, que o Dynamo não saberá como tratar. Em outras palavras, não poderemos criar uma PolyCurve com base em um objeto Point3dCollection
; portanto, acabaremos precisando converter tudo em pontos do Dynamo. Haverá mais informações sobre isso mais tarde.
Agora podemos começar a criar nossa lógica do gráfico. A primeira coisa a fazer é obter uma lista de todas as áreas de contribuição no documento. Há nós disponíveis para isso; portanto, não precisamos incluí-los no script Python. O uso de nós oferece uma melhor visibilidade para outra pessoa que possa ler o gráfico (em vez de encher o script Python de código) e também mantém o script Python focado em uma coisa: retornar os pontos de limite das áreas de contribuição.
Observe aqui que a saída do nó Todos os objetos na camada é uma lista de CivilObjects. Isso ocorre porque o Dynamo for Civil 3D não tem nós atualmente para trabalhar com áreas de contribuição, o que é a razão pela qual precisamos acessar a API por meio do Python.
Antes de avançarmos, temos de abordar brevemente um conceito importante. Na seção Biblioteca de nós, discutimos como Objetos e CivilObjects são relacionados. Para adicionar um pouco mais de detalhes a isso, um Objeto do Dynamo é um wrapper em torno de uma Entidade do AutoCAD. De forma similar, um CivilObject do Dynamo é um wrapper em torno de uma Entidade do Civil 3D. É possível “expandir” um objeto acessando suas propriedades InternalDBObject
ou InternalObjectId
.
Objeto Autodesk.AutoCAD.DynamoNodes.Object
Entidade Autodesk.AutoCAD.DatabaseServices.Entity
CivilObject Autodesk.Civil.DynamoNodes.CivilObject
Entidade Autodesk.Civil.DatabaseServices.Entity
Como regra geral, é mais seguro obter a ID de objeto usando a propriedade InternalObjectId
e, em seguida, acessar o objeto empacotado em uma transação. Isso ocorre porque a propriedade InternalDBObject
retornará um DBObject do AutoCAD que não está em um estado gravável.
Aqui está o script Python completo que faz o trabalho de acessar os objetos de área de contribuição internos que estão obtendo seus pontos de limite. As linhas realçadas representam as que são modificadas/adicionadas do código do modelo padrão.
Clique no texto sublinhado no script para obter uma explicação sobre cada linha.
Como regra geral, é recomendável incluir a maior parte da lógica do script dentro de uma transação. Isso garante o acesso seguro aos objetos que o script está lendo/gravando. Em muitos casos, a omissão de uma transação pode causar um erro fatal.
Nesta fase, o script Python deve gerar uma lista de pontos do Dynamo que você pode ver na visualização do plano de fundo. A última etapa é simplesmente criar PolyCurves com base nos pontos. Observe que isso também pode ser feito diretamente no script Python, mas nós o colocamos intencionalmente fora do script em um nó para que ele fique mais visível. Veja a seguir a aparência final do gráfico.
E aqui está a geometria final do Dynamo.
Apenas uma rápida observação aqui antes de finalizarmos. Dependendo de qual versão do Civil 3D você está usando, o nó Python pode ser configurado de forma diferente. No Civil 3D 2020 e 2021, o Dynamo usava uma ferramenta chamada IronPython para mover dados entre objetos .NET e scripts Python. No entanto, no Civil 3D 2022, o Dynamo fez a transição para usar o interpretador Python nativo padrão (também conhecido como CPython), que usa o Python 3. Os benefícios dessa transição incluem o acesso a bibliotecas modernas e populares, além de novos recursos de plataforma, manutenção essencial e patches de segurança.
Você pode ler mais sobre essa transição e sobre como atualizar os scripts herdados no Blog do Dynamo. Se você desejar continuar usando o IronPython, basta instalar o pacote DynamoIronPython2.7 usando o Dynamo Package Manager.
Essa linha obtém a classe específica que precisamos da biblioteca de geometria do Dynamo. Observe que especificamos import Point as DynPoint
aqui em vez de import *
, pois introduziria interferências de nomenclatura.
Aqui especificamos exatamente qual porta de entrada contém os dados que desejamos em vez do padrão IN
, que faz referência à lista inteira de todas as entradas.
Criar um gráfico do Dynamo que inserirá texto no espaço do modelo.
Missão cumprida.
Usar um bloco de perfil de veículo para gerar sólidos 3D de estrutura de altura livre ao longo de um corredor.
Missão cumprida.
Colocar referências de bloco do medidor de serviço de água em deslocamentos especificados de uma linha do lote e desenhar uma linha para cada conexão de serviço perpendicular à linha principal de distribuição.
Missão cumprida.
Obter a geometria de limite de todas as áreas de contribuição em um desenho.
Missão cumprida.