实例03 通常是一个入门级功能,用于演示如何通过外部命令(IExternalCommand)在 Revit 中创建一个简单的族实例(如门、窗)或执行一个基本操作。
以下是复现该实例的重点步骤,基于 C# 和 Revit 2018 API。
添加引用:在项目中添加对以下 Revit API 程序集的引用: RevitAPI.dll RevitServices.dll(如果使用 Dynamo 或特定模板,但标准开发不需要) RevitAPIUI.dll 定义命名空间与类:创建一个类,并实现 IExternalCommand接口。 获取当前文档:在 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()之间执行创建操作。 生成 DLL:在 VS 中生成项目,得到 .dll文件。 创建 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”生成。 进入“附加模块”选项卡:在 Revit 的 Ribbon 界面中,应该能看到一个新的面板,其中包含一个以 Name命名的按钮。 执行命令:点击该按钮,Revit 会执行你的 Execute方法,通常会提示你选择放置点,完成族实例的创建。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删