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>

    运行效果:

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

  • 相关阅读:
    CF343D Water Tree
    CF340B Maximal Area Quadrilateral
    测试环境/生产环境,接口地址配置
    json-server MOCK方案
    vscode prettier保存代码时自动格式化
    蓝鲸6.0前置准备
    nginx日志提取案列
    蓝鲸模拟考试
    部署维护
    第一次模拟考
  • 原文地址:https://www.cnblogs.com/hualuohuakaihuamanyuan/p/5344998.html
Copyright © 2011-2022 走看看