using System;
using System.Collections.Generic;using System.Linq;
using System.Text;
using System.Threading.Tasks;
/
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;
namespace UIHelloWord
{
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
[Journaling(JournalingMode.NoCommandData)]
public class MyApp:IExternalApplication
{
public Result OnShutdown(UIControlledApplication application)
{
return Result.Succeeded;
}
// 程序启动时运行
public Result OnStartup(UIControlledApplication application)
{
string myTab = "MyTab";
string myPanel = "MyPanel";
// 创建Tab
application.CreateRibbonTab(myTab);
//创建并返回Panel
RibbonPanel panel = application.CreateRibbonPanel(myTab, myPanel);string btnName = "MY_FIRST_BTN"; // 按钮的name必须要唯一,用户可以随意命名
string btnText = "命令按钮"; // 按钮上面显示的文字,用户可以随意命名
string btnAssemblyName = this.GetType().Assembly.Location; //命令所在的dll 的路径
string btnClassName = "UIHelloWord.MyCommand";// 命令的命名空间 加类名
//创建按钮数据
PushButtonData btnData = new PushButtonData(btnName, btnText, btnAssemblyName, btnClassName);//再Panel中创建并返回按钮
PushButton pbtn = (PushButton)panel.AddItem(btnData);
return Result.Succeeded;
}
}
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
[Journaling(JournalingMode.NoCommandData)]
public class MyCommand : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
TaskDialog.Show("我的第一个命令", "Hello Word");
return Result.Succeeded;
}
}
}
创建addin 文件,建议用add-in manager 创建
add-in manager 下面的Save里有一个 save checked items to Addins folder
点击这按钮 就会在C:\ProgramData\Autodesk\Revit\Addins\ 2014里生成一个addin文件
将这个文件复制到对应的Revit的版本的 addin文件夹下就可以了
比如;C:\ProgramData\Autodesk\Revit\Addins\ 2016
注意,点击 save checked items to Addins folder的时候最好只勾选,自己需要的Command或Application
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Application">
<Name>MyApp</Name>
<Assembly>D:\RevitCodeLx\UIHelloWord\UIHelloWord\bin\Debug\UIHelloWord.dll</Assembly>
<ClientId>4cd960e3-e565-4eea-814d-8d57aa11a2b4</ClientId>
<FullClassName>UIHelloWord.MyApp</FullClassName>
<VendorId>ADSK</VendorId>
<VendorDescription>Autodesk, www.autodesk.com</VendorDescription>
</AddIn>
</RevitAddIns>
将addin 文件复制到C:\ProgramData\Autodesk\Revit\Addins\ 对应Revit 的文件夹下面
比如:C:\ProgramData\Autodesk\Revit\Addins\ 2016
博主会经常更新一些技术文章,请大家多多关注,多多交流
更多技术交流,请加qq群480950299