许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Revit 2018复现《Autodesk Revit二次开发基础教程》代码03实例

Revit 2018复现《Autodesk Revit二次开发基础教程》代码03实例

阅读数 3
点赞 0
article_banner

Revit 2018 复现《二次开发基础教程》代码03实例

实例03​ 通常是一个入门级功能,用于演示如何通过外部命令(IExternalCommand)在 Revit 中创建一个简单的族实例(如门、窗)或执行一个基本操作。

以下是复现该实例的重点步骤,基于 C# 和 Revit 2018 API。


1. 🛠️ 环境准备

  • 开发工具:安装 Visual Studio 2017​ 或 2019​ 和 Revit 2018 SDK。
  • 创建项目:在 VS 中新建一个 类库 (.dll)​ 项目,目标框架选择 .NET Framework 4.5​ 或 4.6。
  • 添加引用:在项目中添加对以下 Revit API 程序集的引用: RevitAPI.dll RevitServices.dll(如果使用 Dynamo 或特定模板,但标准开发不需要) RevitAPIUI.dll
  • 定义命名空间与类:创建一个类,并实现 IExternalCommand接口。

2. 🧱 核心代码逻辑

  • 获取当前文档:在 Execute方法中,通过 commandData.Application.ActiveUIDocument.Document获取当前活动的 Document对象。
  • 选择族类型 (FamilySymbol): 使用 FilteredElementCollector过滤器,通过类别(如 BuiltInCategory.OST_Doors)和族类型名称,找到你想要放置的族(例如,名为 "900 x 2100mm" 的门)。 获取其 FamilySymbol对象,并调用 LoadFamilySymbol确保其已载入。
  • 确定放置点: 通过 uidoc.Selection.PickPoint()让用户在 Revit 界面中点击一个位置,作为新族实例的放置点。
  • 创建族实例: 使用 doc.Create.NewFamilyInstance()方法,传入放置点、族类型、结构类型等参数,在文档中创建新的族实例。
  • 事务 (Transaction): 这是关键!​ 所有对文档的修改(如创建元素)都必须包裹在 Transaction中。 使用 using (Transaction trans = new Transaction(doc, "创建门")) { ... }结构,在 trans.Start()和 trans.Commit()之间执行创建操作。

3. 🧪 编译与部署

  • 生成 DLL:在 VS 中生成项目,得到 .dll文件。
  • 复制到 Revit 插件目录: 将生成的 DLL 文件复制到 Revit 的插件加载路径,例如: `C:\ProgramData\Autodesk\Revit\Addins\2018`
  • 创建 Add-In 清单文件 (.addin): 在同一目录下,创建一个与 DLL 同名的 .addin文件(如 MyFirstCommand.addin)。 用记事本编辑,填入以下关键内容,以告诉 Revit 如何加载你的命令: xml <AddIn Type="Command"> <Name>My First Command</Name> <Assembly>C:\ProgramData\Autodesk\Revit\Addins\2018\YourDllName.dll</Assembly> <AddInId>YOUR-GUID-HERE</AddInId> <FullClassName>Namespace.ClassName</FullClassName> </AddIn> AddInId需要是一个唯一的 GUID,可以在 VS 中通过“工具”->“创建 GUID”生成。

4. ▶️ 在 Revit 中运行

  • 启动 Revit 2018。
  • 进入“附加模块”选项卡:在 Revit 的 Ribbon 界面中,应该能看到一个新的面板,其中包含一个以 Name命名的按钮。
  • 执行命令:点击该按钮,Revit 会执行你的 Execute方法,通常会提示你选择放置点,完成族实例的创建。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空