完善主體資料,免費贈送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如何設置分層過濾器

    主站蜘蛛池模板: 人妻少妇AV无码一区二区| 国产午夜精品一区理论片飘花| 久久国产免费一区二区三区| 精品爆乳一区二区三区无码av| 色综合一区二区三区| 亚洲国产综合精品中文第一区| 日韩精品无码一区二区视频| 熟妇人妻系列av无码一区二区| 久久精品国产一区二区三区| 国产伦精品一区二区三区视频小说 | 无码中文字幕人妻在线一区二区三区| 国产精品自在拍一区二区不卡| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产激情з∠视频一区二区| 亚洲一区二区成人| 久久精品亚洲一区二区三区浴池| 精品国产伦一区二区三区在线观看| 亚洲国产成人久久综合一区| 成人免费视频一区二区三区| 综合人妻久久一区二区精品 | 精品无码国产一区二区三区51安| 韩国一区二区三区视频| 国产成人高清视频一区二区| 亚洲视频在线观看一区| 国产亚洲福利一区二区免费看| 极品少妇伦理一区二区| 国产99久久精品一区二区| 一区二区三区视频观看| 无码人妻精品一区二区蜜桃 | 亚洲AV无码国产精品永久一区| 国产人妖视频一区在线观看| 国产精华液一区二区区别大吗 | 夜夜精品视频一区二区| 久久亚洲综合色一区二区三区 | 97久久精品无码一区二区| 国产天堂一区二区综合| 欧美人妻一区黄a片| 免费无码一区二区三区| 久久国产精品一区| 国产激情一区二区三区| 福利一区二区三区视频午夜观看|