如果您是 Autodesk® Revit® 文件的新手,查看文件的几何结构是一个很好的起点。文件实际上是一组与 BIM 组件(例如墙或尺寸)对应的元素。
每个元素都有三个部分:
- ElementHeader – 元素的基本数据
- Element – 元素特定属性
- GElement – 几何
在本文中,我们将讨论第三部分,GElement – 元素的几何。GElement 包含一组组合成组的几何节点,这些节点表示用于不同类型视图的几何。大多数低级几何都存储为专有的边界表示 (B-Rep) 数据。
元素与其 B-Rep 几何之间的关系通常非常复杂。简化此数据调查的一种方法是将几何导出为 COLLADA 等文档完善的开放格式。Teigha 的 COLLADA 导出模块收集 3D 对象、灯光和材料的简化几何,并将其导出到 COLLADA .dae 文件。生成的 .dae 文件可以通过许多第三方查看器或 Teigha BIM 中包含的 OdaBimApp 示例应用程序打开和渲染。您可以使用活动视图从整个文件中导出几何,或导出单个 BIM 元素以方便调查特定对象。
COLLADA 导出模块也可以用作设计自定义导出的基础,以将 Autodesk Revit 文件几何转换为自定义表示。自定义导出模块必须实现以下接口:
- OdGiGeometrySimplifier
- OdGiBaseVectorizer
- OdGsBaseMaterialVectorizer
以下是 OdColladaOut(Teigha BIM 的 COLLADA 导出示例应用程序)中实现的关键方法列表:
- OdGiBaseVectorizer::doDraw – 为每个元素和元素内的所有对象调用。
- OdGiBaseVectorizer::rasterImageDc/image/shape/text/mesh/shell – 对特定实体类型执行处理。
- OdGiGeometrySimplifier::shellProc – 将壳体的所有顶点添加到容器中。
- OdGiGeometrySimplifier::triangleOut – 收集壳体上三角形的信息并计算顶点的法线。
- OdGsBaseMaterialVectorizer::fillMaterialCache – 获取材质参数。
- OdGiGeometrySimplifier::meshFaceOut, shellFaceOut – 收集材质到三角形的映射。
在自定义类中实现这些方法,您将有机会对自定义数据表示执行任何必要的转换,并能更深入地了解 Autodesk Revit 文件内容。
订阅者可以在在线帮助中找到有关 Teigha BIM 的更多信息。
Autodesk 和 Revit 是 Autodesk, Inc. 在美国和其他国家/地区的注册商标或商标。

