本节主要介绍BIMBase中的一些重要概念及相互关联,包括程序资源管理(BPApplication)、项目(BPDocument)、领域对象(BPObject)、几何集合(BPGraphics)、视图(BPViewPort)、模型空间(BPModel)等。

图2-1主要展示这些概念间的相互关联。BPApplication作为BIMBase的入口,可以获取到工程(BPProject)对象;而BIMBase中的模型空间(BPModel)、图形对象(BPGraphicElement)、非图形数据(BPNonGraphicElement)依赖于工程(BPProject)进行创建。

图2-1 BIMBase主要概念类图

2.2.1项目(BPDocument)

BPDocument类用于表示打开的BIMBase工程,BIMBase可同时有多个工程打开,即同时拥有多个BPDocument对象。BPDocument对象用于存储BIMBase的元素、管理Model和数据。

对于用户来说,主要需了解领域对象(BPObject)在工程(BPDocument)中的管理操作。工程(BPDocument)中的所有数据通过ORM映射进行了封装,一种领域对象对应BPDocument中的一张表(有唯一的PClassId),BPDataKey是数据的唯一标识,BPDataKeyBPObject可一一对应,通过接口进行关联查询。

2.2.2领域对象(BPObject)

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

图2-2 BPObject相关类图

2.2.3几何集合(BPGraphics)

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

图2-3 BPGraihics相关类图

2.2.4 视图(BPViewPort)

视图是BIMBase将模型按正投影法向投影面投射时所得到的投影。它是BIMBase工程数据的图形化展示。视图一般有平面视图、立面视图、剖视图等。当前获取焦点的窗口被称为活动视口,视口中获取焦点的视图为活动视图。

BPViewPort主要用于保存视图相关信息,BPViewManagerBPViewController主要用于管理和控制视图。

图2-4 BPViewPort相关类图

2.2.5 模型空间(BPModel)

模型空间(BPModel)主要用于图形数据的管理,是图形元素的载体,一般模型空间的增、删、改均使用该类。

模型空间(BPModel)和视口(BPViewPort)关联作用,可支持多种显示方式:一个模型空间可以在多个视口显示,一般用于在不同方向观察图形;一个视口可以多个模型空间叠加显示,用于查看模型整体效果。

图2-5 BPModel相关类图