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

    主站蜘蛛池模板: 国产精品香蕉在线一区| 国产午夜精品一区二区| 日韩一区二区三区免费播放| 少妇激情一区二区三区视频| 一区二区三区在线|日本| 日本免费精品一区二区三区| 2014AV天堂无码一区| 综合人妻久久一区二区精品| 无码人妻一区二区三区兔费| 亚洲av无码一区二区三区人妖| 中文字幕一区二区三区永久| 一区二区三区视频在线观看| 中文字幕一区视频一线| 亚洲一区精品伊人久久伊人| 国产色综合一区二区三区| 色妞色视频一区二区三区四区| 无码精品国产一区二区三区免费| 国产观看精品一区二区三区| 一区二区视频在线| 国产美女精品一区二区三区| 黄桃AV无码免费一区二区三区 | 亚洲AV无码一区二区三区网址| 亚洲夜夜欢A∨一区二区三区| 国精品无码一区二区三区在线蜜臀| 无码AV一区二区三区无码| 麻豆一区二区三区蜜桃免费| 精品不卡一区中文字幕| 日韩精品无码久久一区二区三| 性色AV 一区二区三区| 国产成人精品无人区一区| 美女视频免费看一区二区 | 亚洲av无码一区二区三区乱子伦| 无码精品一区二区三区免费视频| 国产福利精品一区二区| 无码精品一区二区三区在线| 亚洲一区二区免费视频| 日韩AV无码久久一区二区| 日本内射精品一区二区视频 | 无码少妇一区二区浪潮av| 无码人妻一区二区三区精品视频| 精品无码综合一区|