我是Revit Api的新手,并且正在寻找另一种方法来获取除了使用空闲事件之外的所选元素。我所做的所有阅读,主要是关于编码器的说法,这似乎是唯一的方法。还有另一种方式吗?
答案 0 :(得分:2)
这绝对不是唯一的方法。选择一个元素与Idling事件没有任何关系。什么废话!
您可以使用Selection.PickObject方法以交互方式选择元素。
您还可以在从Selection.GetElementIds方法启动命令之前检索预先选择的元素。
如果您不熟悉Revit API,首先应该完成入门材料,尤其是DevTV和My First Revit插件教程。
立即回答你的这个问题,还有更多问题:
http://thebuildingcoder.typepad.com/blog/about-the-author.html#2
答案 1 :(得分:1)
如果您在选择更改时尝试执行某些操作,则可能需要查看Jeremy Tammik撰写的以下博文:Element Selection Changed Event。
基本思想是订阅事件而不是轮询(您提到的IdleEvent
方法或使用计时器)。由于Revit API实际上没有这样的事件,一个聪明的家伙 - 让我们称他为Vilo - 想出了订阅修改面板的PanelEvent
的想法。这很巧妙!阅读博客文章,了解更多信息(以及示例代码!),了解如何执行此操作!!