2016-07-21 3 views

ответ

0

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

См Динамо Файл: 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 
Смежные вопросы