Revit二次开发之 GeometryObject分析

发布时间 2023-09-25 16:49:16作者: Min.Xiaoshuang

Revit包含了一套完整的几何库,这些几何对象都继承自GeometryObject对象,根据分类,我们可以知道,图形元素的集成关系如下:

 1、Autodesk.Revit.DB.Arc 对象,当前主要用于一些标尺对象

  1. GeometryElement

这个是比较核心的元素,Element通过get_Geometry函数,能够获取的元素就是这个元素,这个对象,本身是不包含图形的,包含图形是它的GetEnumerator枚举类型,其枚举类型是包含以上可能的所有元素,包括GeometryElement。

  1. GeometryInstance

主要是族元素获取其图形元素,Revit使用geometryinstances存储给定族的几何图形的单个副本,并在多个实例中重复使用该副本,并非所有族实例都包含geometryinstance。当Revit需要为给定实例制作族几何图形的唯一副本时(由于本地连接、交点和与实例放置相关的其他因素的影响),将不会遇到geometry instance;相反,将在层次的顶层找到实体几何图形。GeometryInstance提供通过GetSymbolGeometry()和GetInstanceGeometry()方法读取其几何图形的功能。这些方法返回另一个Autodesk.Revit.DB.GeometryElement。

  1. Curve图形

各种线段在revit中应用比较多,比如模型分析线、标准线、机电里面的导线,很多都是以Line、Arc、NurbSpline和多边形的方式表达。

  1. Edge、solid、face等

对于一些Solid来说,它是有2个核心元素组成Edge和face,而Edge主要是Curve组成,而对于所有的Face,则是由多个MESH组成。MESH是图形的最基础元素,组成了所有的空间三维对象。

 

  1. Polyline

多边形元素,在REVIT一些房间等多边形元素,都是基于这个对象。