1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
-
- /* ==============================================================================
- * 功能描述:启动Revit时自定义菜单配置
- * 创 建 者:SAGACLOUD
- * 创建日期:2017/8/30
- * ==============================================================================*/
- using Autodesk.Revit.UI;
- using SAGA.DotNetUtils;
- using SAGA.RevitUtils;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Windows.Media.Imaging;
- using System.Xml;
- using Autodesk.Windows;
- using SAGA.DotNetUtils.Extend;
- using SAGA.DotNetUtils.Others;
- using SAGA.RevitMenu.Addin;
- using RibbonItem = Autodesk.Revit.UI.RibbonItem;
- using RibbonPanel = Autodesk.Revit.UI.RibbonPanel;
- namespace SAGA.RevitMenu.Configuration
- {
- public class MenuConfig
- {
- /// <summary>
- /// 加载菜单
- /// </summary>
- /// <param name="application"></param>
- /// <returns></returns>
- public static bool LoadMenus(UIControlledApplication application)
- {
- try
- {
- if (application.ActiveAddInId == null)
- {
- return false;
- }
- Guid gUID = application.ActiveAddInId.GetGUID();
- string str = "";
- if (gUID.ToString().ToUpper() == "EABBE53F-04A0-4D10-905F-FE4DB67E1F3C")
- {
- str = "TSBIM";
- }
- if (str.Length == 0)
- {
- return false;
- }
- bool blnRevit = false;
- TszTabData[] configTabs = XmlMenuData.GetConfigTabs(application.ControlledApplication.VersionNumber, out blnRevit);
- if ((configTabs == null) || (configTabs.Length <= 0))
- {
- MessageShow.Infomation("菜单加载错误:菜单配置文件异常");
- return false;
- }
- //跟据权限对数据进行修饰
- //XmlMenuDataWrapper.Wrapper(configTabs);
- bool flag2 = RevitRibbonOperate.ApplyConfigTabs(application, configTabs);
- return flag2;
- }
- catch (Exception exception)
- {
- if (exception.Message == "Too many tabs have been created by the API. Instead, you may add your Ribbon Panels to the Add-Ins tab.")
- {
- MessageShow.Infomation("启动的插件菜单过多,请勿全部勾选或卸载其它插件。");
- }
- else
- {
- MessageShow.Show(exception, false, "");
- }
- return false;
- }
- }
- /// <summary>
- /// 清除Addins文件
- /// </summary>
- /// <param name="application"></param>
- /// <returns></returns>
- public static bool ClearAddInFile(UIControlledApplication application)
- {
- if (application.ActiveAddInId == null)
- {
- return false;
- }
- Guid guid = application.ActiveAddInId.GetGUID();
- string strProductType = application.ControlledApplication.Product.ToString();
- string versionNumber = application.ControlledApplication.VersionNumber;
- return RevitStartHelper.ClearAddInFile(guid, strProductType, versionNumber);
- }
- }
- }
|