Revit二次开发第五回:Ribbon按钮的添加
1. 实现代码完成后,新添加一个类,Ribbon
namespace BabyTrainToolsForClass
{
classRibbon : IExternalApplication //需要using Revit.UI
{
publicResult OnShutdown(UIControlledApplicationapplication)
{
returnResult.Succeeded;
}
publicResult OnStartup(UIControlledApplicationapplication)
{
RibbonPanel pannel = application.CreateRibbonPanel("小火车");
//1.内部名称,就是按钮的Name,2.用户看到的名称,类似Content;3.dll文件的路径;4.实现代码的完整类名,包含namespace
PushButtonData creatFloor = newPushButtonData("创建楼板面层", "创建楼板面层1", @"C:\Users\sepd\Desktop\Test\BabyTrainToolsForClass\BabyTrainToolsForClass\bin\Debug\BabyTrainToolsForClass.dll",
"BabyTrainToolsForClass.CreatFloorSurface");
creatFloor.ToolTip = "在指定的房间中创建指定的楼板面层";
creatFloor.LargeImage = newBitmapImage(newUri(@"C:\Users\sepd\Desktop\Test\BabyTrainToolsForClass\BabyTrainToolsForClass\bin\Debug\1.jpg"));
pannel.AddItem(creatFloor);
returnResult.Succeeded;
}
}
}
2. 创建个新的addin文件
a. 打开ADD-IN MANAGER。Load Application,加载dll文件,然后右下角的Save,选择第二项:
Local.Addin File.
b. 打开刚才的ADDIN文件,删除其中所有Command部分
其中唯一必须改的地方是<Assembly>BabyTrainToolsForClass.dll</Assembly>,其中的路径需要改成实际路径:
C:\Users\sepd\Desktop\Test\BabyTrainToolsForClass\BabyTrainToolsForClass\bin\Debug\BabyTrainToolsForClass.dll
也就是PushButtonData第三个属性的值中的地址
可以修改的是:
<VendorId>SEPD</VendorId>
<VendorDescription>小火车工具集</VendorDescription>
这两项,可以备注了一些名称,联系方式等
最后,将该Addin文件复制到
C:\ProgramData\Autodesk\Revit\Addins\2017中
注意,在VS中修改Ribbon部分代码的时候,必须关闭Revit,否则VS文件生成失败(ADDIN文件添加好以后,被REVIT锁定了)