using Autodesk.Revit.Attributes; using Autodesk.Revit.UI; using System.IO; using System.Reflection; using System.Windows.Media.Imaging; namespace HStation.RevitDev.RevitDataExport.Plugin { [Transaction(TransactionMode.Manual)] public class Application : IExternalApplication { public Result OnShutdown(UIControlledApplication application) { return Result.Succeeded; } public Result OnStartup(UIControlledApplication application) { //创建自定义Ribbon菜单 //1.创建RibbonTab选项卡页 application.CreateRibbonTab("义维定制"); //2.在RibbonTab选项卡页中创建RibbonPanel面板 RibbonPanel panel1 = application.CreateRibbonPanel("义维定制", "管道系统链路检测"); //3.命令按钮 //3.1指定程序集的名称、所使用的类名、程序集路径 //程序集路径--最好写成相对位置 string Path1 = Assembly.GetExecutingAssembly().Location; //程序集的名称、所使用的类名——"主程序集命名空间.主程序类名" string Class1 = "RevitDataExport.Export"; //3.2定义PushButtonData命令按钮数据资料,绑定程序集 PushButtonData pdata = new PushButtonData("命令按钮", "系统详情", Path1, Class1); //3.3将PushButton添加到面板中 PushButton push = panel1.AddItem(pdata) as PushButton; //3.4为PushButton添加图标 //可把图片资源加载入项目中,方便把图片的路径写成相对路径,并进行修改属性(图片的生成操作,改位:嵌入的资源) Stream imgPath = Assembly.GetExecutingAssembly().GetManifestResourceStream("RevitDataExport.Resources.piping_system_detect2.png"); push.LargeImage = BitmapFrame.Create(imgPath); //3.5设置命令按钮的默认提示信息 push.ToolTip = "Revit插件简介"; return Result.Succeeded; } } }