一上来当然还是最经典的Hello World了,既然现在学习Revit,那就Hello Revit吧。以后还请多多指教
分别通过继承IExternalCommand和IExternalApplication 来实现
1.IExternalCommand
代码:
namespace HelloRevit { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)] public class HelloRevit : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { TaskDialog.Show("Revit", "HelloRevit"); return Result.Succeeded; } }
配置文件:
<?xml version="1.0" encoding="utf-8" standalone="no" ?> <RevitAddIns> <AddIn Type ="Command"> <!--程序集绝对路径--> <Assembly>E:VS2012DemoHelloRevitHelloRevitinDebugHelloRevit.dll</Assembly> <!--GUID唯一值--> <ClientId>7d4e1893-3a27-4df2-8075-4fa3754537aa</ClientId> <!--插件程序集类名--> <FullClassName>HelloRevit.HelloRevit</FullClassName> <VisibilityMode>AlwaysVisible</VisibilityMode>
<VendorId>ADSK</VendorId>
</AddIn>
</RevitAddIns>
记得把配置文件放到相应的目录下面
Revit注册插件
1.只在当前用户可用
(win7) c:User<user>AppDataRoamingAutodeskRevitAddins2015
2.所有人可用
(win7) c:ProgramDataAutodeskRevitAddins2015
效果:


2.IExternalApplication
需要继承它两个接口,分别是:
OnShutdown和OnStartup
namespace HelloRevit { public class CsAddpanel : IExternalApplication { public Result OnStartup(UIControlledApplication application) { RibbonPanel ribbonPanel = application.CreateRibbonPanel("新的面板"); PushButton pushButton = ribbonPanel.AddItem(new PushButtonData("HelloRevit", "HelloRevit", @"E:VS2012DemoHelloRevitHelloRevitinDebugHelloRevit.dll", "HelloRevit.CsAddpanel")) as PushButton; ///插入一张图片 Uri uriImage = new Uri(@"E:VS2012Demodiagram.png"); BitmapImage largeImage = new BitmapImage(uriImage); pushButton.LargeImage = largeImage; return Result.Succeeded; } public Result OnShutdown(UIControlledApplication application) { return Result.Succeeded; } } }
配置文件:
<RevitAddIns> <AddIn Type ="Application"> <Name>Hello Revit</Name> <!--程序集绝对路径--> <Assembly>E:VS2012DemoHelloRevitHelloRevitinDebugHelloRevit.dll</Assembly> <!--GUID唯一值--> <AddInId>604b1052-F742-4951-8576-C261D1993107</AddInId> <!--插件程序集类名--> <FullClassName>HelloRevit.CsAddpanel</FullClassName> <!--供应商名称--> <VendorId>ADSK</VendorId> </AddIn> </RevitAddIns>
运行效果:
记得要选择了项目,此处才可以使用。和上面个的命令不同,上面可以在不选择项目的前提下就进行使用。