在IExternalApplication.OnStartup之后将命令动态添加到Revit功能区?

时间:2014-07-14 20:33:49

标签: c# revit revit-api

是否可以在IExternalApplication.OnStartup执行后向Revit的功能区面板动态添加命令?

我在TheBuildingCoder上发现了这篇文章...... http://thebuildingcoder.typepad.com/blog/2010/03/adding-noncommands-to-the-revit-ribbon.html

..和第一个“P.S.”在那里似乎暗示这是不可能的,但那是在2010年。我想知道是否有任何改变?

我自己无法弄明白。尝试执行我编写的AddPushButton()代码会导致: An unhandled exception of type System.Runtime.InteropServices.SEHException' occurred in RevitAPIUI.dll

放在IExternalApplication.OnStartup块内部时工作正常,这似乎暗示我需要执行代码以某种事务模式或类似方式添加到功能区面板......或者,它只是不可能:(

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

过去我能够做到这一点(至少使用Pulldown按钮,稍后会添加更多)。

在OnStartup期间,我将一个静态引用存储到主PulldownButton,然后再调用PulldownButton.AddPushButton()来添加其他按钮。

(我知道 - 关于细节,但我希望它有所帮助!)。