Files
2025-09-16 16:06:41 +08:00

97 lines
3.9 KiB
C#

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<ProcessMetroSignCmd>(
"轨道交通标识\n编码添加",
"根据构件名、类别等近似匹配,对构件添加标识&编码",
Resources.MetroOneClick_16px,
Resources.MetroOneClick_32px);
metroApprovalPanel.AddPushButton<ReviewMetroSignCmd>(
"轨道交通标识\n编码检查",
"检查标识&编码",
Resources.MetroReviewSign_16px,
Resources.MetroReviewSign_32px);
metroApprovalPanel.AddPushButton<AddMetroParametersCmd>(
"添加参数",
"根据构件标识批量添加参数",
Resources.MetroBatchAddProperties_16px,
Resources.MetroBatchAddProperties_32px);
metroApprovalPanel.AddPushButton<FillMetroParametersCmd>(
"填写参数",
"根据预设参数值填写参数",
Resources.MetroManualProcess_16px,
Resources.MetroManualProcess_32px);
var archiApprovalPanel = Application.CreateRibbonPanel(TabName, "建筑工程交付");
archiApprovalPanel.AddPushButton<ProcessArchiSpecialSignCmd>(
"建筑&空间\n&系统标识",
"手动添加、修改标识",
Resources.ArchiSign_16px,
Resources.ArchiSign_32px);
archiApprovalPanel.AddPushButton<ProcessArchiSignCmd>(
"批处理\n构件标识",
"根据构件名、类别等近似匹配,对构件添加标识",
Resources.ArchiOneClick_16px,
Resources.ArchiOneClick_32px);
archiApprovalPanel.AddPushButton<ReviewArchiSignCmd>(
"标识检查",
"检查构件是否添加标识",
Resources.ArchiReviewSign_16px,
Resources.ArchiReviewSign_32px);
archiApprovalPanel.AddPushButton<AddArchiParametersCmd>(
"添加参数",
"根据构件标识批量添加对应参数",
Resources.ArchiBatchAddProperties_16px,
Resources.ArchiBatchAddProperties_32px);
archiApprovalPanel.AddPushButton<FillArchiParametersCmd>(
"填写参数",
"根据预设参数值填写参数",
Resources.ArchiManualProcess_16px,
Resources.ArchiManualProcess_32px);
}
catch (Exception)
{
throw;
}
}
}
}