GetElementIds()获取当前选择的问题

时间:2019-05-28 14:08:32

标签: python revit revitpythonshell

我有一个小代码可以从revit中提取当前选择,但是却收到一条错误消息,提示期望选择,获得列表[elementId]

我也尝试像在API中那样传递GetElementIds(),但是它说它需要1个参数(给定0)

store

1 个答案:

答案 0 :(得分:1)

此行代码中的错误:

Selected=Selection.Selection.GetElementIds()

您需要将链接添加到ui,然后可以使用它来获得选择:

ui = __revit__.ActiveUIDocument
Selected=ui.Selection.GetElementIds()

以下是完整的代码,可以获取用户的选择:

import clr
clr.AddReference('RevitAPI') 
clr.AddReference('RevitAPIUI') 
app = __revit__.Application
doc = __revit__.ActiveUIDocument.Document
ui = __revit__.ActiveUIDocument

selectedElements = []
for elementId in ui.Selection.GetElementIds():
    selectedElements.Add(doc.GetElement(elementId))

for item in selectedElements:
    print item