完善主體資料,免費贈送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

    主站蜘蛛池模板: 午夜福利国产一区二区| 无码人妻精品一区二区三区9厂 | 国产欧美一区二区精品仙草咪| 亚洲av无码一区二区三区天堂古代 | 中文字幕一区二区三区在线不卡| 蜜桃视频一区二区| 久久成人国产精品一区二区| 伦理一区二区三区| 亚洲国产成人久久综合一区 | 福利一区福利二区| 99精品国产高清一区二区三区| 亚洲国产成人一区二区三区| 中文字幕AV无码一区二区三区| 国产一区二区三区在线| 中文字幕一区二区人妻性色 | 国产在线一区二区在线视频| 精品无码一区二区三区亚洲桃色| 日韩精品一区二区三区中文3d| 成人免费一区二区三区| 国产吧一区在线视频| 亚洲国产精品成人一区| 亚洲一区在线视频观看| 一区二区免费电影| 中文无码一区二区不卡αv | 亚洲国产韩国一区二区| 国产一区二区三区免费视频| 亚洲天堂一区二区| 日本高清无卡码一区二区久久| 无码精品国产一区二区三区免费| 亚洲av成人一区二区三区观看在线 | 99精品国产一区二区三区| 亚洲av乱码一区二区三区香蕉| 一区二区三区在线免费观看视频| 精品亚洲A∨无码一区二区三区| 一区二区三区在线看| 怡红院美国分院一区二区| 亚洲中文字幕无码一区二区三区| 无码精品不卡一区二区三区| 久久久99精品一区二区| 国产乱码精品一区二区三区| 久久99国产精品一区二区|