项目文件中包含的模型视图可以包含专业属性,该属性决定了视图中显示哪些类型的元素。
专业属性由 ViewDiscipline 枚举表示,可以接受以下值:
- 建筑
- 协调
- 电气
- 机械
- 管道
- 结构
当专业属性等于“建筑”或“协调”值时,视图显示所有元素;对于“结构”值,视图中会过滤掉非结构墙。
电气、机械和管道值假定在渲染相应视图时会显示相应的元素。具有这些专业的视图被称为系统视图,因为它们的渲染专业之间没有显著差异。这些视图类型的渲染算法通过应用其相应的视觉样式来绘制项目的系统元素(机械、电气、管道)。其他元素以隐藏线模式渲染并放置在系统元素下方。
以下示例说明了在 OdaBimApp 示例应用程序中如何使用不同的专业渲染视图。
视图包含:
- 结构墙和非结构墙(与建筑和结构专业相关)
- 与所有类别相关的文本
- 与管道相关的管件
当结构专业应用于视图时,仅渲染结构墙、管件和文本;非结构墙被隐藏:
对于机械专业,管件绘制在墙体上方,其他元素以隐藏线模式渲染:
视图专业支持
OdBmCategory 类包含方法 OdInt32 getDisciplines(),用于处理视图专业。此方法返回一个位掩码,其中包含与类别关联的视图专业。
每个类别可以与多个视图专业关联。如果类别与至少一个电气、机械或管道专业关联,则它被视为系统类别,但类别与 ViewDiscipline 枚举中定义的所有专业关联的情况除外。
OdGsView 层渲染带有专业的视图,因此每个视图/视口渲染操作都会创建三个 GS 视图:
- 带注释的前视图
- 带非系统元素的系统视图的后视图(对于非系统视图,GS 视图已创建但仍为空)
- 所有其他元素的主视图
所有设置 GS 视图的 BimRv 类方法都有一个表示后视图的参数。后视图配置为以隐藏线模式绘制所有元素,并绘制在主视图渲染的元素下方。
非结构墙在结构视图渲染时被过滤。