首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Revit中调用Revit清除按钮

如何从Revit中调用Revit清除按钮
EN

Stack Overflow用户
提问于 2017-11-07 06:45:17
回答 2查看 931关注 0票数 0

我正在开发一个插件,将文档从中央分离出来,当它完成时,它也将被清除。我正在努力编写清除代码,我正在考虑从代码中调用Revit按钮。如果可能的话,将感谢对API的支持,或者共享在API中编写清除命令的代码。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-10 05:25:25

Building在讨论清除和检测空视图时提供了一些清除示例的摘要。

票数 1
EN

Stack Overflow用户

发布于 2017-11-08 06:47:57

经过一些研究,我想出了解决办法,但也没有什么局限性。我们可以从API中调用Revit按钮,包括Purge。

限制:

  • 你不能调用一个按钮,从一半的方式,你的插件。
    • 你必须设置它运行后,你的插件是完成。
    • 您可能可以通过订阅已执行的事件来解决这个问题,但我需要对此进行实验。

  • 您不知道该命令是否会成功运行。
    • 而且,由于您无法在程序的中途运行它,所以您无法检查它在代码中是否成功。
    • 您可以检查日志并解析最新命令的结果,但这是一个非常骇人听闻的感觉解决方案。

  • 您不知道是否有其他人重写了按钮来做其他事情。
    • 电话就是按下按钮。上面的文章重点介绍了覆盖按钮。你不能保证按钮仍能达到你的预期效果。

  • 您按下按钮触发的过程无法自动化。
    • 您的脚本必须在按下按钮之前完成,这样您就无法控制结果对话框。
    • 你可以订阅按钮事件,并以这种方式篡改某些内容。再一次,实验是必要的。

以下是实现这一目标的示例代码:

代码语言:javascript
复制
        UIApplication uiapp = commandData.Application;

        //Store the ID of desired plugin button, in this case its 'purge unused'
        String s_commandToDisable = "ID_PURGE_UNUSED";
        RevitCommandId s_commandId = RevitCommandId.LookupCommandId(s_commandToDisable);

        //This revit button will run at the end of your application. 
        uiapp.PostCommand(s_commandId);

若要查找默认的revit命令id列表,请单击这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47151567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档