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

    下載app免費領取會員

    NULL

    ad.jpg

    二次開發教程:Revit開發IExternalCommandAvailability的使用

    發布于:2019-07-24 16:41:07

    網友投稿

    更多

    在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;

            }

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

    未標題-1.jpg

    上一篇:二次開發教程:MyBatis配置

    下一篇:二次開發教程:Revit開發ImageView

    60acb4e0ef112.png
    主站蜘蛛池模板: 亚洲国产精品综合一区在线| 日韩aⅴ人妻无码一区二区| AV无码精品一区二区三区宅噜噜| 亚洲爆乳精品无码一区二区三区| 寂寞一区在线观看| 99在线精品一区二区三区| 国产日韩精品一区二区在线观看播放| 国产乱码精品一区二区三区中文| 亚洲天堂一区在线| 亚洲片国产一区一级在线观看| 在线成人综合色一区| 一区二区在线视频| 亚洲美女高清一区二区三区| 精品无人乱码一区二区三区| 精品国产一区二区三区无码| 成人免费区一区二区三区| 一区二区三区四区在线播放| 国产精品福利一区| 国产伦理一区二区三区| 国产精品亚洲一区二区在线观看| 无码人妻精品一区二区三区在线 | 国内精自品线一区91| 国产99久久精品一区二区| 久久精品国产第一区二区三区 | 中文字幕一区二区三区在线不卡| 精品日韩一区二区| 天堂一区二区三区精品| 色窝窝免费一区二区三区| 无码日韩精品一区二区免费暖暖| 高清一区二区三区免费视频| 国产亚洲综合一区柠檬导航| 精品亚洲综合在线第一区| 久久一区二区精品| 久久国产一区二区| 免费av一区二区三区| 无码成人一区二区| 97精品国产一区二区三区| 无码丰满熟妇浪潮一区二区AV| 色精品一区二区三区| 熟妇人妻一区二区三区四区| 国产亚洲无线码一区二区|