2016-07-21 2 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 
関連する問題