Revit开发之AddInCommandBinding

来源:互联网 发布:openwrt 阿里云ddns 编辑:程序博客网 时间:2024/05/02 02:11


在Revit界面上可点击的命名,这些命令通过API是可以重新绑定命令的,

比如界面上的窗命令,点击一下进入创建窗的命令,我们也可以通过API

让用户点击这个窗命令的时候,弹出一个对话框,而不是创建窗的命令,

这起始就是重新绑定了一个命令到这个窗按钮上,还可以在运行这个窗

命令之前运行一段程序。

实现这些就要用神奇的AddInCommandBinding 类

下面是一个简单的例子

注意:设置了 binding.Executed后会使binding.BeforeExecuted失效

        private void CommandTest()
        {
            AddInCommandBinding binding = uiapp.CreateAddInCommandBinding(RevitCommandId.LookupPostableCommandId(PostableCommand.Window));
            //binding.BeforeExecuted += new EventHandler<Autodesk.Revit.UI.Events.BeforeExecutedEventArgs>(Brefore);
            //binding.Executed += new System.EventHandler<Autodesk.Revit.UI.Events.ExecutedEventArgs>(Executed);//这一行会使上一行 失效
   //上面两行注释代码,需要取消注释
        }

        private void Executed(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)
        {
            MessageBox.Show("Executed");
        }

        private void Brefore(object sender, Autodesk.Revit.UI.Events.BeforeExecutedEventArgs e)
        {
            MessageBox.Show("before");
        }



博主会经常更新一些技术文章,请大家多多关注,多多交流

更多技术交流,请加qq群480950299


0 0