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

    主站蜘蛛池模板: 精品女同一区二区三区免费播放| 精品一区二区三区中文字幕| 国产福利电影一区二区三区| 久久国产精品一区二区| 成人免费一区二区无码视频 | 一区二区三区视频| 精品一区二区三区视频在线观看| 亚洲精品一区二区三区四区乱码| 果冻传媒董小宛一区二区| 国产成人高清亚洲一区91| 国产手机精品一区二区| 精品无码人妻一区二区免费蜜桃| 中文字幕日本一区| 国产日韩高清一区二区三区 | 亚洲AV福利天堂一区二区三| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲视频一区在线观看| 国产福利精品一区二区| 国产午夜精品一区二区三区漫画 | 久久久久人妻一区精品性色av | 国产成人精品无码一区二区老年人| 久久久久人妻精品一区蜜桃| 一区二区三区四区在线播放| 无码精品人妻一区| 精品久久国产一区二区三区香蕉| 福利视频一区二区牛牛| 一区视频免费观看| 国模大尺度视频一区二区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 成人午夜视频精品一区| 久久久久久一区国产精品| 久久精品无码一区二区app| 精品国产一区二区三区久久| 无码人妻视频一区二区三区| 日本伊人精品一区二区三区| 亚洲宅男精品一区在线观看| 无码人妻av一区二区三区蜜臀| 欧洲精品码一区二区三区| 午夜福利国产一区二区| 日韩精品无码一区二区三区四区| 男女久久久国产一区二区三区|