本节主要介绍BIMBase中的一些重要概念及相互关联,包括程序资源管理(BPApplication)、项目(BPProject)、领域对象(BPObject)、图形元素(BPEntity)、几何集合(BPGraphics)、视图(BPViewPort)、模型空间(BPModel)等。
图2-1主要展示这些概念间的相互关联。BPApplication作为BIMBase的入口,可以获取到工程(BPProject)对象;而BIMBase中的模型空间(BPModel)、图形对象(BPGraphicElement)、非图形数据(BPNonGraphicElement)依赖于工程(BPProject)进行创建;图形元素(BPEntity)又依赖于模型空间(BPModel)进行创建。视图信息(BPViewInfo)独立于工程(BPProject),主要用于控制视图、展示数据。


图2-1 BIMBase主要概念类图

2.2.1项目(BPProject)

BPProject类用于表示打开的BIMBase工程,BIMBase可同时有多个工程打开,即同时拥有多个BPProject对象。BPProject对象用于存储BIMBase的元素、管理Model和数据。对于用户来说,主要需了解领域对象(BPObject)在工程(BPProject)中的管理操作。工程(BPProject)中的所有数据通过ORM映射进行了封装,一种领域对象对应BPProject中的一张表(有唯一的PClassId),对象的一个实例对应相表的一行数据(BPData),BPDataKey是BPData的唯一标识,BPDataKey、BPData、BPObject可一一对应,通过接口进行关联查询。



图2-2 BPProject概念图

2.2.2领域对象(BPObject)

在BIMBase,领域对象(BPObject)分为图形对象(BPGraphicElement)和非图形数据(BPNonGraphicElement)。图形对象一般用于创建需要图形展示的领域对象,非图形数据一般用于保存一些辅助数据。图形对象和非图形数据都需保存数据(BPData)到工程中,但是图形对象还可以利用图形元素(BPEntity)在模型空间(BPModel)上进行展示。



图2-3 BPObject相关类图

2.2.3 图形元素(BPEntity)

图形元素(BPEntity)为几何集合(BPGraihics)保存到模型空间后生成的图形实体,模型空间(BPModel)中所有展示的图形均对应一个图形元素。图形元素可单独存在,用于图形的保存;也可与数据(BPData)一起集成到图形对象(BPGraphicElement)中,用于图形对象的展示。

2.2.4几何集合(BPGraphics)

几何集合(BPGraihics)用于构造各种几何图形,是创建BPEntity的中间对象。几何集合,顾名思义,是各种几何对象的集合,可将线、组合线、面、三角面片、实体类、文字等集成为一个复杂图形。



图2-4 BPGraihics相关类图

2.2.5 视图(BPViewPort)

视图是BIMBase将模型按正投影法向投影面投射时所得到的投影。它是BIMBase工程数据的图形化展示。视图一般有平面视图、立面视图、剖视图等。当前获取焦点的窗口被称为活动视口,视口中获取焦点的视图为活动视图。
BPViewInfo和BPViewPort主要用于保存视图相关信息,BPViewManager和BPViewController主要用于管理和控制视图。


图2-5 BPViewPort相关类图

2.2.6 模型空间(BPModel)

模型空间(BPModel)主要用于图形数据的管理,是图形元素(BPEntity)的载体。
BPModelBase为模型空间基类;BPModel为模型空间类,一般模型空间的增、删、改均使用该类;BPModelLink为模型空间链接类,可链接到BPModel,主要用于多模型空间的叠加显示。
模型空间(BPModel)和视口(BPViewPort)关联作用,可支持多种显示方式:一个模型空间可以在多个视口显示,一般用于在不同方向观察图形;一个视口可以多个模型空间叠加显示,用于查看模型整体效果。


图2-6 BPModel相关类图