0% acharam este documento útil (0 voto)
12 visualizações2 páginas

Programação Python no Revit: Guia Rápido

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações2 páginas

Programação Python no Revit: Guia Rápido

Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Guia Rápido – Programação no Revit com Python

(Dynamo)
1■■ Estrutura Básica
import clr

# Acessar serviços do Revit


[Link]("RevitServices")
from [Link] import DocumentManager
doc = [Link]

# Acessar API do Revit


[Link]("RevitAPI")
from [Link] import *

# Receber dados do Dynamo


elementos = UnwrapElement(IN[0])

# Criar transação para modificar o modelo


t = Transaction(doc, "Minha Automação")
[Link]()

# ... código que altera o Revit ...

[Link]()

# Saída para o Dynamo


OUT = "Concluído"

2■■ Selecionar elementos por categoria


colecao = FilteredElementCollector(doc) \
.OfCategory(BuiltInCategory.OST_Doors) \
.WhereElementIsNotElementType() \
.ToElements()

3■■ Acessar e alterar parâmetros


# Ler parâmetro
valor = [Link]("Mark").AsString()

# Alterar parâmetro
[Link]("Mark").Set("NovoValor")

4■■ Criar elementos


nivel = FilteredElementCollector(doc).OfClass(Level).FirstElement()
tipo_parede = FilteredElementCollector(doc).OfClass(WallType).FirstElement()
nova_parede = [Link](doc, [Link](XYZ(0,0,0), XYZ(10,0,0)), tipo_parede.Id, nivel.

5■■ Trabalhar com coordenadas


ponto = XYZ(5, 10, 0) # X, Y, Z
linha = [Link](XYZ(0,0,0), XYZ(10,0,0))

6■■ Filtrar por nome


portas_filtro = [p for p in colecao if "Madeira" in [Link]]

7■■ Dicas importantes


- Sempre use Transaction para modificar o modelo. - Unidades internas do Revit → pés (1 metro ≈
3.28084 pés). - No Dynamo, você pode misturar Python com nós visuais. - Use UnwrapElement()
para converter entradas do Dynamo em objetos da API. - Ao criar listas de elementos para saída,
use OUT = minha_lista.

Você também pode gostar