Создание воздуховода в Dynamo (Revit)

Я скопировал скрипт Dynamo от блоггеров для создания воздуховода в Revit, но он не запускается. введите здесь описание изображения

введите здесь описание изображения

Есть ли какие-то глупости, которые я пропустил?


person Annie    schedule 21.07.2016    source источник


Ответы (1)


У меня была аналогичная ошибка из-за пропущенного импорта зависимостей. У меня также возникла ошибка при попытке выбрать конкретный тип воздуховода, поэтому я оставил его пустым, и Revit API выберет для нас первый. Я смог заставить его работать с аналогичным подходом:

См. файл Dynamo: Dynamo Add Duct .dyn image

import clr

# Import RevitNodes
clr.AddReference("RevitNodes")
import Revit

#import Revit DB
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

#import Revit Creation where Create.Duct is
from Autodesk.Revit.Creation import *
clr.ImportExtensions(Revit.GeometryConversion)

# Import Revit elements
from Revit.Elements import *

# Import DocumentManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

import System

#The inputs to this node will be stored as a list in the IN variables.
doc = IN[0]
x = IN[1].ToXyz()
y = IN[2].ToXyz()
ductType = IN[3]
#ductTypeUnwrapped = UnwrapElement(ductType) #not working

# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)
doc.Create.NewDuct(x, y, ductType); #if DuctType is null then Revit picks first type. 
# Stop Transaction
TransactionManager.Instance.TransactionTaskDone()

OUT = doc
person kpphillips    schedule 13.01.2017