Revit二次开发首次使用

  • 软件信息:
              Revit 2013 & Visual Studio 2010(C#)


        本文主要介绍一些Revit二次开发的注意点和一个简单例子的具体步骤。

        初次接触Revit这个平台,十分地不熟悉,话说好像是搞建筑的人用的。国内用这个的不像国外那么多,但也算是一个比较好的平台了,而且也只是做些二次开发的工作,所以不会很繁琐。熟悉了一段时间以后,发现也不是想象中的那么难,只是还不熟悉罢了。另外,C#也不会,瞬间泪奔。。。好痛苦的样子,看来得好好学一下。

        具体步骤

  • VS2010的一些配置
    • 新建一个C#类库工程
    • 在项目设置中,调试选项的启动外部程序,浏览选中Revit程序的启动exe文件
    • 添加引用,RevitAPI和RevitAPIUI。并在上述两个引用的属性中,复制本地选择False
    • 接下来就是写代码了
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      
      using Autodesk.Revit.UI;
      using Autodesk.Revit.UI.Selection;
      using Autodesk.Revit.DB;
      using Autodesk.Revit.DB.Architecture;
      using Autodesk.Revit.Attributes;
      using Autodesk.Revit.ApplicationServices;
      
      [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Automatic)]
      
      class GetSelectedFamliyName : IExternalCommand
      {
          public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) {
              UIApplication uiApp = commandData.Application;
              Document doc = uiApp.ActiveUIDocument.Document;
             
              Selection sel = uiApp.ActiveUIDocument.Selection;
              Reference pickedRef = sel.PickObject(ObjectType.Element, "");
              
              Element elem = doc.GetElement(pickedRef);
              ElementId id = elem.GetTypeId();
              ElementType et = doc.get_Element(id) as ElementType;
      
      
              TaskDialog.Show("Element Family Name", et.get_Parameter(BuiltInParameter.ALL_MODEL_FAMILY_NAME).AsString());
              return Result.Succeeded;
          }
      }
      这是一个读取选中目标族名称的插件程序
  • 关于插件
    • 插件应存放在这个目录下C:\ProgramData\Autodesk\Revit\Addins\2013\
    • 首先建立一个txt文件,写入以下内容
      <?xml version="1.0" encoding="utf-8"?>
      <RevitAddIns>
        <AddIn Type="Command">    
          <Assembly>D:\User\Documents\Visual Studio 2010\Projects\GetSelectedElementFamilyName\GetSelectedElementFamilyName\bin\Debug\GetSelectedElementFamilyName.dll</Assembly>
          <ClientId>502fe383-2648-4e98-adf8-5e6047f9dc36</ClientId>
          <FullClassName>GetSelectedFamliyName</FullClassName>
          <Text>GetSelectedElementFamilyName</Text>
          <VendorId>ADSK</VendorId>
          <VisibilityMode>AlwaysVisible</VisibilityMode>
        </AddIn>
      </RevitAddIns>
      其中<Assembly>为生成的dll文件位置;<ClientID>随意写一个,多个Addin之间不要相同;<FullClassName>为你的程序类名;<Text>实际上是你在Revit平台显示出来的插件名。
    • 保存成后缀名为addin的文件
  • 关于使用
    • 在VS2010中启动Revit应用程序,选择一个项目进去。
    • 在目录栏里有个附加模块,选择外部工具,选择你的插件,然后就可以使用了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值