新浪博客

Revit二次开发之创建自定义选项卡

2016-09-27 19:00阅读:
Revit 二次开发创建自定义外部选项卡时 需要引用Revit·外部应用接口,然后在 public Result OnStartup(UIControlledApplication application)方法下创建 Tab,Panel,Button! 不废话——上代码
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class Class1 : IExternalApplication
{
public Result OnStartup(UIControlledApplication application)
{
string TabName = 'eBIM(建筑)';
application.CreateRibbonTab(TabName);
RibbonPanel P_TabName1 = application.CreateRibbonPanel(TabName, '标高轴网 标注');

PushButtonData button110 = new PushButtonData('框选3D', '局部 三维 '
, @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\LocalThreeDimensional.dll', 'jubusanwei.Class1');
Uri uriImage110 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\3.ico');
BitmapImage largeimage110 = new BitmapImage(uriImage110);
button110.LargeImage = largeimage110;
PushButtonData button112 = new PushButtonData('定位', '轴线 剖切 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Accurate3D.dll', 'Accurate3D.Class1');
Uri uriImage112 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\5.ico');
BitmapImage largeimage112 = new BitmapImage(uriImage112);
button112.LargeImage = largeimage112;
PushButtonData button113 = new PushButtonData('三维轴线', '三维 轴网 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Grid3D.dll', 'Grid3D.Class1');
Uri uriImage113 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\10.ico');
BitmapImage largeimage113 = new BitmapImage(uriImage113);
button113.LargeImage = largeimage113;
PushButtonData button114 = new PushButtonData('直线轴网', '矩形 轴网 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\CreateGrid.dll', 'CreateGrid.Class1');
Uri uriImage114 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\11.ico');
BitmapImage largeimage114 = new BitmapImage(uriImage114);
button114.LargeImage = largeimage114;
PushButtonData button115 = new PushButtonData('快速标注', '自动 标注 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Dimension.dll', 'imension.Class1');
Uri uriImage115 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\12.ico');
BitmapImage largeimage115 = new BitmapImage(uriImage115);
button115.LargeImage = largeimage115;
PushButtonData button116 = new PushButtonData('整理轴号', '轴号 重排 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\RangeGrid.dll', 'RangeGrid.Class1');
Uri uriImage116 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\58.ico');
BitmapImage largeimage116 = new BitmapImage(uriImage116);
button116.LargeImage = largeimage116;
PushButtonData button117 = new PushButtonData('快注', '选择 标注 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Dimension.dll', 'imension.Class2');
Uri uriImage117 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\13.ico');
BitmapImage largeimage117 = new BitmapImage(uriImage117);
button117.LargeImage = largeimage117;
PushButtonData button118 = new PushButtonData('对齐', '对齐 标注 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Dimension.dll', 'imension.Class3');
Uri uriImage118 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\14.ico');
BitmapImage largeimage118 = new BitmapImage(uriImage118);
button118.LargeImage = largeimage118;
PushButtonData button119 = new PushButtonData('三标', '三维 标注 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Dimension.dll', 'imension.Class4');
Uri uriImage119 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\15.ico');
BitmapImage largeimage119 = new BitmapImage(uriImage119);
button119.LargeImage = largeimage119;
PushButtonData button120 = new PushButtonData('标高', '创建 标高 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\CreateLevel.dll', 'CreateLevel.Class1');
Uri uriImage120 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\24.ico');
BitmapImage largeimage120 = new BitmapImage(uriImage120);
button120.LargeImage = largeimage120;
PushButtonData button121 = new PushButtonData('加网', '轴线 添加 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\AddDeleteJoinGrid.dll', 'AddDeleteJoinGrid.Class2');
Uri uriImage121= new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\54.ico');
BitmapImage largeimage121 = new BitmapImage(uriImage121);
button121.LargeImage = largeimage121;
PushButtonData button122 = new PushButtonData('合并', '轴线 合并 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\AddDeleteJoinGrid.dll', 'AddDeleteJoinGrid.Class1');
Uri uriImage122= new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\55.ico');
BitmapImage largeimage122 = new BitmapImage(uriImage122);
button122.LargeImage = largeimage122;
PushButtonData button123= new PushButtonData('减网', '轴线 删除 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\AddDeleteJoinGrid.dll', 'AddDeleteJoinGrid.Class4');
Uri uriImage123 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\56.ico');
BitmapImage largeimage123= new BitmapImage(uriImage123);
button123.LargeImage = largeimage123;
PushButtonData button124 = new PushButtonData('弧线轴', '弧线 轴网 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\CreateArcGrid.dll', 'CreateArcGrid.Class1');
Uri uriImage124 = new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\40.ico');
BitmapImage largeimage124 = new BitmapImage(uriImage124);
button124.LargeImage = largeimage124;
PushButtonData button125 = new PushButtonData('显隐', '轴号 显隐 ', @'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\AddDeleteJoinGrid.dll', 'AddDeleteJoinGrid.Class5');
Uri uriImage125= new Uri(@'C:\ProgramData\Autodesk\Revit\Addins\2016\BIM建筑工具\BIM\Image\42.ico');
BitmapImage largeimage125 = new BitmapImage(uriImage125);
button125.LargeImage = largeimage125;
P_TabName1.AddItem(button110);
P_TabName1.AddItem(button112);
P_TabName1.AddSeparator();
P_TabName1.AddItem(button120);
P_TabName1.AddItem(button114);
P_TabName1.AddItem(button124);
P_TabName1.AddItem(button116);
P_TabName1.AddItem(button121);
P_TabName1.AddItem(button123);
P_TabName1.AddItem(button122);
P_TabName1.AddItem(button125);
P_TabName1.AddSeparator();
P_TabName1.AddItem(button115);
P_TabName1.AddItem(button117);
P_TabName1.AddItem(button118);
P_TabName1.AddSeparator();
P_TabName1.AddItem(button113);
P_TabName1.AddItem(button119);

public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
}
}
上述代码成功编译后还需要为此外部应用程序配置注册文件,后缀名为addin文件结构同XML文件:配置好的文件需要放在Revit插件默认加载路径C:\ProgramData\Autodesk\Revit\Addins\2016,本文使用的版本为Revit2016
配置文件内容如下:
Revit二次开发之创建自定义选项卡


Revit启动后成功加载自定义选项卡(多个外部命令)
Revit二次开发之创建自定义选项卡

我的更多文章

下载客户端阅读体验更佳

APP专享