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如何設置分層過濾器

主站蜘蛛池模板: 国产一级α片 | 日日干夜夜干 | 久久婷婷色一区二区三区 | 色综合图 | 日韩在线视频免费观看 | 国产毛片高清 | 国产免费黄色网址 | 久久这里只有精品66re99 | 亚洲欧美在线观看播放 | 日韩大片免费在线观看 | 免费看片在线 | 亚欧在线一线 | 国产自自拍 | 91婷婷射 | 中文字幕日韩哦哦哦 | 日本高清www午色夜黄 | caoporen免费公开视频上传 | 国产一二视频 | 亚洲国产高清在线 | 国产精品美女视频 | 免费一级a毛片在线播出 | 成人不卡在线 | 欧美国产三级 | 黄色小视频在线免费看 | 亚洲美女aⅴ久久久91 | aaa国产精品 | 精品毛片免费看 | 国产成人一区二区三区影院免费 | 亚瑟福利视频在线观看 | 国精品产 | 精品国产精品久久一区免费式 | 操比大片| 日本特黄特色高清免费视频 | 一级午夜免费视频 | 玖玖精品在线观看 | 国产xxxx做受欧美88xx00tube | 欧美一级毛片一级毛片 | 国产成人免费片在线视频观看 | 成人国产精品毛片 | 久久免费精品视频在线观看 | 亚洲欧美日韩国产专区一区 |