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

主站蜘蛛池模板: 91在线欧美精品观看 | 精品在线第一页 | 亚洲国产一区二区三区a毛片 | 三级毛片大全 | 亚洲国产精品视频在线观看 | 久久久久久久久久久9精品视频 | 国产精品区免费视频 | 亚洲美女久久 | 精品特级一级毛片免费观看 | 亚洲综合一二三区 | 国产一级特黄aa大片软件 | 一级色网站| 国产111111在线观看 | 亚洲精品国产网红在线 | 免费看欧美日韩一区二区三区 | 东京不太热在线视频免费 | 亚洲一级毛片欧美一级说乱 | 亚洲欧美另类在线视频 | 亚洲精品αv一区二区三区 亚洲精品不卡 | 91香蕉视频在线播放 | 亚洲欧洲一区二区三区在线 | 最近手机中文在线视频 | 国产精品国产精品国产专区不卡 | 亚洲国产成人久久 | 成人免费在线视频观看 | 中文字幕在线永久 | 精品国产精品国产 | 国产一级又色又爽又黄大片 | 野战好大好紧好爽视频 | 欧美三级在线看中文字幕 | 日韩精品久久久久久久电影99爱 | 久久香蕉影院 | 高清国产一级毛片国语 | 久久激情免费视频 | 午夜国产 | 国产精品中文字幕在线观看 | 免费超级淫片日本高清视频 | 亚洲日本欧美产综合在线 | 99久久免费国产精品 | 久久精品嫩草影院 | 最近免费中文在线视频 |