RibbonTab介绍
-
创建项目
-
添加引用
3添加制作位图需要添加的引用:PresentationCore、System.Xaml、WindowsBase
-
创建类(选项版)`
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autodesk.Revit.DB; using Autodesk.Revit.UI; using Autodesk.Revit.Attributes; using System.Windows.Media.Imaging;//需要添加引用:PresentationCore、 System.Xaml、WindowsBase using Autodesk.Revit.UI.Events;
namespace UIButton
{
[Transaction(TransactionMode.Manual)]
class IlluminationDesign :IExternalApplication
{
public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
public Result OnStartup(UIControlledApplication application)
{
//【1】第一步:创建一个RibbonTab
application.CreateRibbonTab(“照明计算”);//new tab
//【2】第二步:在刚才的RibbonTab中创建 uIPanel
RibbonPanel rp = application.CreateRibbonPanel(“照明计算”, “选择光源”);
//【3】第三步:指定程序集的名称以及所使用的类名
string assemblyPath = @“D:\Desktop\VSdemo\UIButton\UIButton\bin\Debug\UIButton.dll”;
string classNameHelloRevit = “UIButton.HelloRevit”;
//【4】第四步:创建PushButton
PushButtonData pbd = new PushButtonData(“InnerNameRevit”, “灯具库”, assemblyPath, classNameHelloRevit);
//【4-1】将pushButton添加到面板中
PushButton pushButton = rp.AddItem(pbd) as PushButton;
//【4-2】添加图标
string imgPath = @“D:\Desktop\VSdemo\照明系统.png”;
pushButton.LargeImage = new BitmapImage(new Uri(imgPath));
//【4-3】设置默认信息
pushButton.ToolTip = “请选择合适的灯具”;
//【4-4】增加按钮
RibbonPanel rp2= application.CreateRibbonPanel(“照明计算”, “方案导出”);
string classNamefangan = “UIButton.fangan”;
//【4】第四步:创建PushButton
PushButtonData pbd2 = new PushButtonData(“InnerNameRevit”, “图纸和明细表”, assemblyPath, classNamefangan);
//【4-1】将pushButton添加到面板中
PushButton pushButton2 = rp2.AddItem(pbd2) as PushButton;
//【4-2】添加图标
string imgPath2 = @“D:\Desktop\VSdemo\明细表.png”;
pushButton2.LargeImage = new BitmapImage(new Uri(imgPath2));
//【4-3】设置默认信息
pushButton2.ToolTip = “生成图纸和明细表”;
return Result.Succeeded;
}
}
}`
-
创建命令按钮`using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UIButton
{
[Transaction(TransactionMode.Manual)]
public class HelloRevit : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
//获取当前文档
Document doc = commandData.Application.ActiveUIDocument.Document;
//显示Helioworld
TaskDialog.Show("提示","方案生成完毕");
return Result.Succeeded;
}
}
}
调试
-
打开revit,加载外部程序
load创建的VS项目所在路径,点save,选择saved checked items to Addin folder
此时C:\ProgramData\Autodesk\Revit\Addins\2014路径下产生.addin文件,复制进当前使用Revit版本下,我的是2016.
再Load Applications
添加刚刚的addin文件即可。(若显示没有文件,选择all files可见)