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

    下載app免費領(lǐng)取會員

    NULL

    ad.jpg

    二次開發(fā)教程:Revit開發(fā)IExternalCommandAvailability的使用

    發(fā)布于:2019-07-24 16:41:07

    網(wǎng)友投稿

    更多

    在Revil里大部分命令在沒有打開文檔的時候是禁用的,有的在沒有打開文檔也是可以使用的。


    而又一些在平面視圖是禁用的如 標高,有的在3D視圖里是禁用的 如 標高和軸網(wǎng),


    而這些是否可用我們是可以自己控制的


    在PushButton的屬性里有一個AvailabilityClassName屬性,通過這個就可實現(xiàn)命令在什么時候可用,禁用的控制。


    這個屬性是個string,它需要設(shè)置為一個實現(xiàn)了IExternalCommandAvailability接口的類的全類名




    比如這樣一個命令,它實現(xiàn)了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;

            }

        }


     那在創(chuàng)建按鈕的時候可以這樣指定


                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,那這個命名就是任何時候都可以使用。


    假設(shè)用戶有一個命令需要在平面視圖里禁用那可以如下實現(xiàn)


          public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories)

            {

                UIDocument uidoc = applicationData.ActiveUIDocument;

                if (uidoc.ActiveGraphicalView is ViewPlan)

                    return false;


                return true;

            }

    本文版權(quán)歸腿腿教學網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

    未標題-1.jpg

    上一篇:二次開發(fā)教程:MyBatis配置

    下一篇:二次開發(fā)教程:Revit開發(fā)ImageView

    主站蜘蛛池模板: 日本一道一区二区免费看| 熟女大屁股白浆一区二区| 亚洲国产高清在线一区二区三区| 无码日韩精品一区二区人妻| 午夜影视日本亚洲欧洲精品一区| 日韩十八禁一区二区久久| 亚洲视频一区二区在线观看| 福利视频一区二区牛牛| 亚洲精品无码一区二区| 日本不卡在线一区二区三区视频| 日韩免费一区二区三区在线播放| 精品久久久久中文字幕一区| 午夜视频在线观看一区二区| 精品一区高潮喷吹在线播放| 国产亚洲一区二区精品| 久久久人妻精品无码一区| 精品一区二区三区3d动漫| 亚洲中文字幕久久久一区| 精品人妻中文av一区二区三区| 精品一区二区三区免费| 中文字幕在线观看一区二区三区| 日韩毛片一区视频免费| 精品女同一区二区| 日本一区二区三区久久| 国产成人精品一区二三区| 一本一道波多野结衣一区| 亚洲精品一区二区三区四区乱码| 无码国产精品一区二区免费3p| 精品人妻少妇一区二区三区在线 | 精品一区二区久久久久久久网精| 色老头在线一区二区三区| 日韩人妻无码一区二区三区99| 亚洲一区二区女搞男| 日本免费电影一区二区| 久久一区二区明星换脸| 亚洲天堂一区二区三区四区| 国产乱码精品一区二区三区中| 国产精品自拍一区| 在线免费观看一区二区三区| 精品视频一区二区三区在线播放| 国产一区二区影院|