zoukankan      html  css  js  c++  java
  • 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: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>

    运行效果:

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

  • 相关阅读:
    【Java】Junit快速入门
    【Redis】Redis Sentinel 哨兵模式搭建
    【Redis】Redis 主从模式搭建
    Android开发过程中的坑及解决方法收录(六)
    杂牌机搞机之旅(一)——获得root权限(刷入magisk)
    Java 学习笔记 泛型
    Java 学习笔记 反射与迭代器
    Java 学习笔记 正则表达式
    Java 学习笔记 执行外部命令 包装类 枚举类型
    IDEA设置显示中文文档API方法说明
  • 原文地址:https://www.cnblogs.com/hualuohuakaihuamanyuan/p/5344998.html
Copyright © 2011-2022 走看看