当前位置:去回答>生活百科>怎么使用Revit API调用自己添加的外部自定义命令

怎么使用Revit API调用自己添加的外部自定义命令

2024-07-07 02:49:50 编辑:join 浏览量:615

怎么使用Revit API调用自己添加的外部自定义命令

在Revit的UIFramework.dll里有一个CommandUtility,里面有一个Execute(RibbonCommandItem btn)方法,

看起来像是一个调用Revit命令的方法,下面来测试一下,有一个问题是这个类不是public的所以调用要用反射

下面是个测试代码:

adWin.RibbonControl control = adWin.ComponentManager.Ribbon;

RibbonItemEnumerator itor = control.Tabs.First().Panels.ElementAt(1).Source.GetItemEnumerator();

adWin.RibbonCommandItem cmd = null;

while (itor.MoveNext())

{

cmd = itor.Current as adWin.RibbonCommandItem;

if (cmd != null)

{

break;

}

}

Type tp = typeof(ShortcutWindow).Assembly.GetTypes().First(m => m.FullName == "UIFramework.CommandUtility");

if (tp != null)

{

//MessageBox.Show("OK");

MethodInfo mi = tp.GetMethod("Execute");

mi.Invoke(null, new object[] { cmd});

}

//CollaborateWindow cw = new CollaborateWindow();

//cw.Show();

//ShortcutWindow sw = new ShortcutWindow();

//sw.Show();

标签:自定义,Revit,API

版权声明:文章由 去回答 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.quhuida.com/life/157855.html
热门文章