03创建和编辑AutoCAD图元(.NET)
创建和编辑AutoCAD图元(.NET)可以创建一系列对象,从简单的直线和圆到样条曲线、椭圆和关联填充区域。一般来说,您可以使用 AppendEntity 函数将对象添加到 BlockTableRecord 对象。创建对象后,可以更改其特性,例如图层、颜色和线型。 图形数据库与其他数据库程序类似,可以将模型空间中的Line对象视为表记录,将模型空间视为其数据库表。使用数据库时,必须先打开和关闭记录,然后才能使用它们。存储在 Database 对象中的对象没有什么不同,您可以使用 GetObject...
01开始
开始Revit 平台 API 可通过与 Microsoft .NET Framework 4.5.2 或 4.6 兼容的任何语言(如 Visual C# 或 Visual Basic .NET (VB.NET))进行完全访问。Visual C# 和 VB.NET 通常用于开发 Revit 平台 API 应用程序。但是,本手册的重点是使用 Visual C# 开发应用程序。 欢迎使用 Revit Platform API所有基于 Autodesk Revit 的产品都是参数化建筑信息模型 (BIM) 工具。这样的工具可以看作是用于构建 3D 模型的 CAD 程序,而不是一组单独的图纸文件。Autodesk Revit 建模是通过柱、墙、门和窗等真实世界的元素完成的。用户可以创建模型的视图,包括平面图、剖面图和详图索引。所有这些视图都是直接从 3D 物理模型生成的,因此在一个视图中所做的更改将自动传播到所有其他视图。此过程几乎消除了在模型中进行更改时更新多个图纸和细节的需要。 Autodesk Revit API 旨在反映与程序的图形用户界面相同的用户交互范例。因此,了解 API...
04元素要点
元素要点元素对应于单个建筑或绘图构件,例如门、墙或尺寸标注。此外,元素可以是门类型、视图或材质定义。 元素分类Revit 图元分为六组:模型、草图、视图、组、注释和信息。每个组都包含相关的元素及其相应的符号。 模型元素模型元素表示建筑项目中存在的物理项。“模型元素”组中的元素可以细分为以下元素: 族实例 - 族实例包含族实例对象。可以将族对象载入到项目中,也可以从族样板创建族对象。有关更多信息,请参阅系列实例。 主体图元 - 主体图元包含系统族对象,这些对象可以包含其他模型图元,例如墙、屋顶、天花板和楼板。有关主体图元的更多信息,请参见墙、楼板、屋顶和洞口。 结构元素-结构图元包含仅用于 Revit 结构特征的图元。有关 Structure Elements 的更多信息,请参见 Structural Engineering。 视图元素视图图元表示在 Revit 中查看其他对象并与其他对象交互的方式。有关更多信息,请参阅视图。 组元素组图元表示辅助图元,例如 Revit...
02插件集成
插件集成开发人员通过创建和实现 External Commands 和 External Applications 来添加功能。Revit 使用 .addin 清单文件标识新命令和应用程序。外部命令显示在 Add-Ins 选项卡上的 External Tools 菜单按钮下。外部应用程序在 Revit 启动时调用,在 Revit 关闭时卸载。 本章重点介绍以下内容: 了解如何使用 External Commands 和 External Applications 添加功能。 如何访问 Revit 事件。 如何自定义 Revit UI。 概述Revit 平台 API 基于 Revit 应用程序功能。Revit 平台 API 由两个类库组成,这两个类库仅在 Revit 运行时工作。 RevitAPI.dll包含用于在数据库级别访问 Revit 的应用程序、文档、图元和参数的方法。它还包含 IExternalDBApplication 和相关接口。 RevitAPIUI.dll包含与 Revit 用户界面的操作和自定义相关的所有 API...
07参数
参数Revit提供了一种常规机制,为每个图元提供一组可编辑的参数。 在Revit UI中,某些图元参数在“图元属性”窗口中可见。以下各节介绍如何获取和使用内置参数、共享参数和全局参数。 在Revit Platform...
03应用及文档
Application及DocumentRevit 平台 API 中的顶级对象是Application和Document。这些类由 Application、UIApplication、Document 和 UIDocument 类表示。 Application对象是指单个 Revit 任务,提供对文档、选项和其他应用程序范围的数据和设置的访问。 Autodesk.Revit.UI.UIApplication - 提供对应用程序的 UI 级界面的访问,包括将 RibbonPanel 添加到用户界面的功能,以及在用户界面中获取活动文档的功能。 Autodesk.Revit.ApplicationServices.Application - 提供对所有其他应用程序级别属性的访问。 Document是表示建筑模型的单个 Revit 项目文件。Revit 可以打开多个项目,并为一个项目打开多个视图。 Autodesk.Revit.UI.UIDocument - 提供对文档的 UI...
08集合
集合大多数Revit Platform API属性和方法在提供对一组相关项的访问时都使用.NET Framework集合类。 在Revit集合类型中实现的IEnumerator和IEnumerator接口在System.Collection命名空间中定义。 Pages in this section 本节中的页面 Interface 接口 Collections and Iterators 集合和迭代器 Interface...
06选择
选择您可以使用UIDo.Selection.GetElementIds()方法从当前活动文档中获取所选对象,该方法返回所选元素的ElementIds集合。此方法返回的集合可以直接与FilteredElementCollector一起使用,以筛选选定的元素。 Selection对象还可以用于使用SetElementIds()方法以编程方式更改当前选择。 Pages in this section 本节中的页面 Changing the Selection 更改选择 User Selection 用户选择 Filtered User Selection 筛选的用户选择 更改选择要修改选定的图元,请执行以下操作: 创建新的ElementId列表。 把ElementIds放进去。 使用新列表调用SetElementIds()。 下面的示例说明了如何通过获取当前选择并仅过滤出墙以设置为新选择来更改选定的元素。 代码区域7-1:更改所选元素 123456789101112131415161718192021222324252627282930313233private void...
05过滤
Filtering 过滤Revit API提供了一种过滤和迭代Revit文档中图元的机制。这是获取一组相关元素(如文档中的所有墙或门)的最佳方法。过滤器也可以用来找到一个非常具体的元素集,如所有特定大小的梁。 获取通过指定过滤器的元素的基本步骤如下: 创建新的FilteredElementCollector 对它应用一个或多个过滤器 获取过滤后的元素或元素ID(使用以下几种方法之一) 下面的示例涵盖了在文档中筛选和迭代元素的基本步骤。 代码区域6-1:使用元素过滤获取文档中的所有墙实例 1234567891011121314// Find all Wall instances in the document by using category filterElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_Walls);// Apply the filter to the elements in the active document// Use shortcut...