如何将元素集合转换为“当前选择”在Revit

本文关键字:选择 当前选择 Revit 元素 集合 转换 | 更新日期: 2023-09-27 18:13:26

我正在尝试创建一个类似于Revit "过滤器"的"智能过滤器",但以其他方式分组元素(如家庭类型,或工作集,或水平,甚至"标记")。创建隔离这些参数的集合很简单,但我似乎无法使用文档退出程序。

我的程序能够操作剩余的"选中"元素,如"隐藏在视图中",或"Halftone"或"删除",但是要对结果选择执行的可能操作列表太长,无法将它们全部包含在我的对话框表单中——我想要一个选项,简单地选择一个单选按钮,表示"设置选择",并使程序退出选择中的那些元素。

I have try:

doc.Selection.Elements.Add(Element *****);
doc.Selection.Elements.Remove(Element *****);

返回错误"not at instance of an object"

当你用Revit的"过滤器"完成时,结果是一个修改的选择。有没有一种方法可以在c#插件中做同样的事情?

如何将元素集合转换为“当前选择”在Revit

你必须在UI文档中做。

SelElementSet selElements = uidoc.Selection.Elements;
selElements.Add(element);

我认为这可能是Revit不是直接看着对象当你引用元素-你有没有尝试使用elementID代替?或者元素。uniqueid ?