using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.UI; using Autodesk.Windows; using Nice3point.Revit.Toolkit.External; using Nice3point.Revit.Toolkit.External.Handlers; using Szmedi.RevitToolkit.Approval.Commands; using Szmedi.RevitToolkit.Approval.Properties; namespace Szmedi.RevitToolkit.Approval { internal class RvApp : ExternalApplication { public static string AddInDirectory => Path.GetDirectoryName(typeof(RvApp).Assembly.Location); private const string TabName = "深圳报批报建"; public static ActionEventHandler Handler { get; set; } public static AsyncEventHandler AsyncHandler { get; set; } //public RibbonControl RibbonControl => ComponentManager.Ribbon; public override void OnStartup() { Handler = new ActionEventHandler(); AsyncHandler = new AsyncEventHandler(); Application.CreateRibbonTab(TabName); try { var metroApprovalPanel = Application.CreateRibbonPanel(TabName, "轨道交通交付"); metroApprovalPanel.AddPushButton( "轨道交通标识\n编码添加", "根据构件名、类别等近似匹配,对构件添加标识&编码", Resources.MetroOneClick_16px, Resources.MetroOneClick_32px); metroApprovalPanel.AddPushButton( "轨道交通标识\n编码检查", "检查标识&编码", Resources.MetroReviewSign_16px, Resources.MetroReviewSign_32px); metroApprovalPanel.AddPushButton( "添加参数", "根据构件标识批量添加参数", Resources.MetroBatchAddProperties_16px, Resources.MetroBatchAddProperties_32px); metroApprovalPanel.AddPushButton( "填写参数", "根据预设参数值填写参数", Resources.MetroManualProcess_16px, Resources.MetroManualProcess_32px); var archiApprovalPanel = Application.CreateRibbonPanel(TabName, "建筑工程交付"); archiApprovalPanel.AddPushButton( "建筑&空间\n&系统标识", "手动添加、修改标识", Resources.ArchiSign_16px, Resources.ArchiSign_32px); archiApprovalPanel.AddPushButton( "批处理\n构件标识", "根据构件名、类别等近似匹配,对构件添加标识", Resources.ArchiOneClick_16px, Resources.ArchiOneClick_32px); archiApprovalPanel.AddPushButton( "标识检查", "检查构件是否添加标识", Resources.ArchiReviewSign_16px, Resources.ArchiReviewSign_32px); archiApprovalPanel.AddPushButton( "添加参数", "根据构件标识批量添加对应参数", Resources.ArchiBatchAddProperties_16px, Resources.ArchiBatchAddProperties_32px); archiApprovalPanel.AddPushButton( "填写参数", "根据预设参数值填写参数", Resources.ArchiManualProcess_16px, Resources.ArchiManualProcess_32px); } catch (Exception) { throw; } } } }