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

      主站蜘蛛池模板: 久久亚洲综合色一区二区三区 | 精品国产乱子伦一区二区三区 | 精品一区二区三区中文字幕| 国产乱码精品一区二区三| 韩国精品一区视频在线播放| 亚洲综合一区二区国产精品| 国产精品无码一区二区在线观一| 性色AV一区二区三区天美传媒| 99精品国产高清一区二区三区| 在线视频精品一区| 麻豆一区二区免费播放网站| 久久综合九九亚洲一区| 国内精自品线一区91| 无码国产精品一区二区免费I6| 一区二区三区午夜视频| 国产成人精品无码一区二区| 无码一区二区三区在线观看| 国模私拍一区二区三区| 国产婷婷色一区二区三区| 中文字幕精品一区二区精品| 消息称老熟妇乱视频一区二区| 国精品无码一区二区三区在线蜜臀 | 久久精品无码一区二区app| 中文字幕无线码一区| 日韩精品成人一区二区三区| 国产一区二区三区在线2021| 国产熟女一区二区三区四区五区 | 日韩一区二区在线播放| 国产一区二区好的精华液| 波多野结衣电影区一区二区三区 | 精品成人一区二区三区四区 | 国产91久久精品一区二区 | 国产一区二区在线观看麻豆| 伊人色综合一区二区三区 | 亚洲一区二区三区无码中文字幕| 久久久精品人妻一区二区三区| 午夜影院一区二区| 国产乱码精品一区二区三区中文| 亚洲av日韩综合一区久热| 狠狠色婷婷久久一区二区三区 | ...91久久精品一区二区三区 |