Hello Revit

一上来当然还是最经典的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:\VS2012Demo\HelloRevit\HelloRevit\bin\Debug\HelloRevit.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>\AppData\Roaming\Autodesk\Revit\Addins\2015\
2.所有人可用
(win7) c:\ProgramData\Autodesk\Revit\Addins\2015\
效果:
 
 
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:\VS2012Demo\HelloRevit\HelloRevit\bin\Debug\HelloRevit.dll", "HelloRevit.CsAddpanel")) as PushButton;
            ///插入一张图片
            Uri uriImage = new Uri(@"E:\VS2012Demo\diagram.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:\VS2012Demo\HelloRevit\HelloRevit\bin\Debug\HelloRevit.dll</Assembly>
    <!--GUID唯一值-->
    <AddInId>604b1052-F742-4951-8576-C261D1993107</AddInId>
    <!--插件程序集类名-->
    <FullClassName>HelloRevit.CsAddpanel</FullClassName>
    <!--供应商名称-->
    <VendorId>ADSK</VendorId>
  </AddIn>
</RevitAddIns>

运行效果:

记得要选择了项目,此处才可以使用。和上面个的命令不同,上面可以在不选择项目的前提下就进行使用。

posted @ 2016-04-01 15:21  花落花开花满园  阅读(586)  评论(0编辑  收藏  举报