91手机视频在线-91手机视频在线观看-91手机在线-91手机在线播放-91手机在线观看

完善主體資料,免費贈送VIP會員!
* 主體類型
* 企業名稱
* 信用代碼
* 所在行業
* 企業規模
* 所在職位
* 姓名
* 所在行業
* 學歷
* 工作性質
請先選擇行業
您還可以選擇以下福利:
行業福利,領完即止!

下載app免費領取會員

NULL

ad.jpg

Revit開發IExternal Command Availability的使用

發布于:2020-03-27 17:05:51

網友投稿

更多

在Revil里大部分命令在沒有打開文檔的時候是禁用的,有的在沒有打開文檔也是可以使用的。

而又一些在平面視圖是禁用的如 標高,有的在3D視圖里是禁用的 如 標高和軸網,

而這些是否可用我們是可以自己控制的

在PushButton的屬性里有一個AvailabilityClassName屬性,通過這個就可實現命令在什么時候可用,禁用的控制。

這個屬性是個string,它需要設置為一個實現了IExternalCommandAvailability接口的類的全類名


比如這樣一個命令,它實現了IExternalCommand,IExternalCommandAvailability這兩個接口

    public class ExternalCommandAvailability : IExternalCommand,IExternalCommandAvailability

    {

        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)

        {

            TaskDialog.Show("test", "test ok");

            return Result.Succeeded;

        }


        public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)

        {

            return true;

        }

    }


 那在創建按鈕的時候可以這樣指定


            application.CreateRibbonTab(tabName);

            RibbonPanel panel = application.CreateRibbonPanel(tabName, panelName);


            PushButtonData btnData = new PushButtonData("testcmd", "cmd", this.GetType().Assembly.Location, "RevitApiTest.TestCommand");


            PushButton btn =(PushButton)panel.AddItem(btnData);


            btn.AvailabilityClassName = "RevitApiTest.TestCommand";


如果在IsCommandAvailable里直接返回true,那這個命名就是任何時候都可以使用。


假設用戶有一個命令需要在平面視圖里禁用那可以如下實現


      public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)

        {

            UIDocument uidoc = applicationData.ActiveUIDocument;

            if (uidoc.ActiveGraphicalView is ViewPlan)

                return false;


            return true;

        }

————————————————

版權聲明:本文為CSDN博主「魏無忌」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/The_Eyes/article/details/78142183

本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

未標題-1.jpg

上一篇:了解Revit的坐標系,測量坐標系和項目坐標系的區別

下一篇:Revit怎么添加過濾器?Revit如何設置分層過濾器

主站蜘蛛池模板: 欧美丰满丝袜videossex | 欧美做a一级视频免费观看 欧美做a欧美 | 香蕉视频在线看 | 久久精品国产99久久6动漫欧 | 欧美日韩一级片在线观看 | 国产成人亚洲综合无 | 国产乱偷国产偷高清 | 国产只有精品 | 成人免费网站 | 黄 色 片成 人免费观看 | 久草在线成人 | 亚洲一区二区三区亚瑟 | 亚洲欧美一区二区三区在饯 | 国产日韩欧美在线观看 | 免费观看黄色a一级视频播放 | 国产伦一区二区三区免费 | 一级毛片高清 | 国产欧美精品综合一区 | 日本一级特黄高清ab片 | 在线观看国产麻豆 | 久久国产经典 | 亚洲黄色网页 | 国产精品久久久久久久久免费 | 五月天丁香花婷婷视频网 | 日本一级特黄aa大片在线观看 | 久久精品色| 毛片a级 | 日韩国产免费一区二区三区 | 清纯唯美亚洲综合五月天 | 成人乱码| www.看片| 欧美草逼网 | 看全免费的一级毛片 | 国产色视频网站免费观看 | 免费精品精品国产欧美在线 | 国产原创麻豆 | 女人被男人狂躁的视频免费 | 香蕉高清免费永久在线视频 | 国产欧美精品一区二区三区 | 久久青草免费线观最新 | 亚洲乱码国产乱码精品精98 |