下載app免費領取會員
在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();
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
推薦專題