发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于BIM技术PBS结构自动挂接算法。
为了实现本发明的上述目的,本发明提供了一种基于BIM技术的PBS结构自动挂接方法,包括如下步骤:
S1,读入PBS数据;按照PBS编码、PBS描述、PBS分类的数据列,对PBS数据在Excel中进行组织并读入系统;
S2,对数据列进行映射;对导入的PBS数据将PBS编码、PBS描述、PBS分类的数据列,进行一对一的映射;
S3,录入PBS每一级的结构编码样例;
S4,进行自动挂接;自动计算各级结构,自动组织子父节点关系;
S5,PBS结构预览;对挂接好的PBS结构提供预览功能。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S1包括:
S1-1,导入的PBS数据包含列标题,其中PBS编码是必须具备的数据列;
S1-2,若导入PBS数据除了PBS编码、描述、分类之外,还包含属性或工程量等信息,需将其添加到对应的PBS之后;
S1-3,对于数据列组织的顺序无任何要求,任意顺序数据列组织都支持导入并识别;
S1-4,支持单一PBS导入,也支持PBS工程量同时导入。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S2包括:
S2-1,根据导入的数据列,依次指定出PBS编码、PBS描述、PBS分类,对数据列进行依次过滤,若导入的PBS数据没有PBS描述或PBS分类,则只需指定PBS编码即可;
S2-2,若导入的数据除了PBS编码、PBS描述、PBS分类之外,还包含PBS其他属性或工程量信息,则将其统一设置为PBS属性进行附带导入;
S2-3,形成PBS数据池,对于工程量导入,支持自动分组,但需指定出工程量编码数据列。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S3包括:
S3-1,PBS编码样例支持:工程项目、单位工程、分部工程、分项工程、单元工程、施工单元6个级别;
S3-2,对于该PBS编码进行任意级别个数导入,
实际编码级别1=工程项目+单位工程;
实际编码级别2=工程项目+单位工程+分部工程;
实际编码级别3=工程项目+单位工程+分部工程+分项工程;
实际编码级别4=工程项目+单位工程+分部工程+分项工程+单元工程;
实际编码级别5=工程项目+单位工程+分部工程+分项工程+单元工程+施工单元;
其中工程项目不填入编码样例,从而生成一个临时根节点,在预览功能中,对该根节点进行自动校正,将工程项目设置为根节点。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S4包括:
S4-1,获取指定的数据列,其中PBS编码是必须存在的列;
S4-2,从PBS数据池中提取指定的数据列,放入有效数据池中;
S4-3,依次获取工程项目、单位工程、分部工程、分项工程、单元工程、施工单元六个级别样例编码;
S4-4,根据编码样例解析编码占位符:
设PBS编码列当前编码为Cur_Code,PBS编码列下一个编码为Next_Code;
然后遍历PBS编码列,若Cur_Code_Len!=Next_Code_Len则占位符ReplaceChar为空字符串,这时PBS编码中每一级编码的位数都是不同的,其中Cur_Code_Len为前一个编码字符串长度,Next_Code_Len为后一个编码字符串长度;
若Cur_Code_Len==Next_Code_Len则为等位PBS编码,这时PBS编码每一级别的编码位数是一样的,对于每个级别不足的位数,采用某个特定占位符为补充,
此时对PBS编码的每一个字符进行遍历:
设:在同一个位置J,Cur_Code的字符为Cur_Code_C,Next_Code的字符为Next_Code_C;
若Cur_Code_C!=Next_Code_C,Next_Code_C即为占位符ReplaceChar;
S4-5,解析PBS编码样例每个级别的编码位数;
S4-6,根据编码样例解析编码占位符,其算法为:
若占位符ReplaceChar为空串,则每级编码位数为实际编码样例位数;若占位符ReplaceChar不是空串,则需要对每级编码样例剔除掉占位符的位数。
S4-7,根据占位符、各级位数对PBS编码从顶层到底层依次查找匹配,先查找父节点fNode,组织父节点fNode的属性及其他数据,并将父节点fNode的属性及其他数据与PBS编码绑定;
S4-8,查找父节点的下一级节点集合vChildren并把vChildren挂接到fNode下;
S4-9,递归S4-7至S4-8直到查找的子集合vChildren为空结束查找匹配。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S5包括:
S5-1,对于自动挂接好的PBS结构,支持采用PBS编码和PBS描述两种方式预览已经挂接好的结构;
S5-2,对于临时根节点,支持矫正功能自动将下一级设置为整个PBS树结构的根节点;
S5-3,支持多PBS导入的同时也支持工程量数据导入,若用户起初无法确定工程量数据,而之后想要添加工程量数据,本算法支持先删除原PBS结构树的同时保留其属性等信息,当用户从新导入带有工程量数据的PBS时这些属性将会被自动关联启动。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明方法支持多PBS导入并组织结构关系,每个PBS具有唯一ID,并提供删除PBS功能,而且解决PBS挂接的复杂性,极大降低了PBS组织的工作量,既能够对于单一的PBS进行挂接导入,也能够实现多个PBS并行挂接导入处理理,提高项目执行效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
其中BIM(Building Information Modeling)技术为建筑信息建模。
其中在隧道数据模型导入到BIM系统时,需要执行如下步骤:
Ⅰ,直接读取工程设计模型,并对其模型数据组织结构进行转换解析;根据施工工程建设要求,形成设计施工工程基本数据信息,根据建设要求,读取导入不同格式设计结果模型;根据不同设计工具设计结果模型的方式,转换解析设计结果模型数据组织结构Product Structure;按照施工特点及定位,直接读取各个不同模型设计工具设计结果模型,不依赖于不同模型设计工具。
Ⅱ,按照模型数据组织结构特点,对每一个模型数据组织结构进行分类,根据分类,获取其每个分类的数据,其中包含模型组织结构上的图形数据,模型组织结构上的属性数据;根据施工工程模型数据组织结构要求,按照Ⅰ的转换解析后的模型数据组织结构Product Structure特点,对每一个模型数据组织结构进行分类,分类形式为装配Product,零件Part,体Body;根据施工工程模型数据组织结构要求,对分类后的模型数据组织结构,分别获取其属性数据和图形数据;施工工程模型数据组织结构要求:装配Product的子节点只能是装配Product以及零件Part节点,零件Part的子节点只能是体Body,其中装配Product和零件Part节点均仅代表施工工程模型树组织结构,而体Body代表该施工工程模型数据下的一个几何图形数据;
Ⅲ,根据获取到的模型数据组织结构,以及需要的新的模型数据组织结构,组织出新的需要的模型组织结构;
Ⅳ,根据获取到的模型数据组织结构,以及对模型数据组织结构分类后获取到的对应模型属性数据和模型图形数据,按照直接加载和快速加载两种模式,分别对模型几何拓扑体进行相应处理;
根据施工工程模型数据组织结构要求,以及对设计结果模型数据组织结构分类后分别获取的对应模型属性数据和模型图形数据,针对施工工程模型数据导入的两种方式,直接加载和快速加载,分别处理;
根据施工工程模型数据要求,直接加载方式要求加载设计结果模型的几何实体数据,设计结果模型的几何实体数据由模型几何model和构造几何construction两部分组成,其中模型几何是指拓扑类指向的类,不包括具体的形状信息,构造几何是指模型几何中的声明,包含实际的形状信息;模型几何又称模型的拓扑结构,构造几何又称模型的解释结构,一个正方体的几何实体表示,1:其中模型几何拓扑是指,这个正方体几何中有多少块(正方体只有一个块),在块中有多少面(正方体有六个面),面上有多少边界边(12个边界边),边界边上有多少点(八个点),点和边之间怎样连接,2:其中构造几何指,具体的面,面上具体的边(由哪些点构成),具体的边,具体的点坐标,构造几何是具体解释模型几何拓扑。模型实体数据中的模型几何model与构造几何construction的区别在与,前者不包含具体的形状数据信息,而后者包含实际的形状数据信息。
根据施工工程模型数据要求,直接加载设计结果模型数据需要进行精度和模型空间控制,加载设计结果模型数据的精度和模型空间控制公式如下:
设定A:绝对最小值(10e-6)
B:规格化最小值(10e-10)
C:曲线曲面的逼近精度(10e-3)
D:被认为是零的最大值(10e-11)
模型空间计算算法:
Model space=A/B=10e-6/10e-10=10e4;
根据施工工程模型数据要求,快速加载方式要求快速加载设计结果模型的图形数据,设计结果模型的图形数据是指,不包含有拓扑的纯图形数据,图形数据表示方法如下:
设定点:P1,P2,P3,P4,P5,P6
其中P1=P4,P3=P6,
点列表:PList={P1x,P1y,P1z,P2x,P2y,P2z,P3x,P3y,P3z,P4x,P4y,P4z,P5x,P5y,P5z,P6x,P6y,P6z}
面列表数据集:FList={Pn1,P1,P2,P3,Pn2,P5,P4,P6}
面Face=PList+FList
Pn:点数量
的原始离散图形数据,表示图形为图3:
该图形,为一个矩形,离散后变为两个三角形,遵守右手定则,法向全部向外,优化过程为:
点去重:PList={P1x,P1y,P1z,P2x,P2y,P2z,P3x,P3y,P3z,P5x,P5y,P5z},
面去重数据集:FList={Pn1,P1,P2,P3,Pn2,P5,P1,P3}
降低面片数量:例如两个四边形构成一个大的四边形,优化前为四个三角网格,优化后为两个三角网格,三角网格是计算机硬件渲染是需要的数据,三角网格数量越低,可提升渲染效率。
所述的基于BIM技术的工程设计模型导入方法,优选的,所述S5包括:
根据施工工程模型数据要求,将S4中获取到的已经过处理的图形数据,以及属性数据,分别绑定到S3中重组的施工工程模型数据组织结构的对应节点上。
Ⅴ,根据直接加载和快速加载两种模式,分别向模型数据组织结构各个分类中添加处理后的模型图形信息。
如图1所示,本发明提供了一种基于BIM技术的PBS结构自动挂接方法,包括如下步骤:
S1,读入PBS数据;按照PBS编码、PBS描述、PBS分类的数据列,对PBS数据在Excel中进行组织并读入系统;
S2,对数据列进行映射;对导入的PBS数据将PBS编码、PBS描述、PBS分类的数据列,进行一对一的映射;
S3,录入PBS每一级的结构编码样例;
S4,进行自动挂接;自动计算各级结构,自动组织子父节点关系;
S5,PBS结构预览;对挂接好的PBS结构提供预览功能。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S1包括:
S1-1,导入的PBS数据包含列标题,其中PBS编码是必须具备的数据列;
S1-2,若导入PBS数据除了PBS编码、描述、分类之外,还包含属性或工程量等信息,需将其添加到对应的PBS之后;
S1-3,对于数据列组织的顺序无任何要求,任意顺序数据列组织都支持导入并识别;
S1-4,支持单一PBS导入,也支持PBS工程量同时导入。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S2包括:
S2-1,根据导入的数据列,依次指定出PBS编码、PBS描述、PBS分类,对数据列进行依次过滤,若导入的PBS数据没有PBS描述或PBS分类,则只需指定PBS编码即可;
S2-2,若导入的数据除了PBS编码、PBS描述、PBS分类之外,还包含PBS其他属性或工程量信息,则将其统一设置为PBS属性进行附带导入;
S2-3,形成PBS数据池,对于工程量导入,支持自动分组,但需指定出工程量编码数据列。
所述的基于BIM技术的PBS结构自动挂接方法,优选的,所述S3包括:
S3-1,PBS编码样例支持:工程项目、单位工程、分部工程、分项工程、单元工程、施工单元6个级别;
S3-2,对于该PBS编码进行任意级别个数导入,
实际编码级别1=工程项目+单位工程;
实际编码级别2=工程项目+单位工程+分部工程;
实际编码级别3=工程项目+单位工程+分部工程+分项工程;
实际编码级别4=工程项目+单位工程+分部工程+分项工程+单元工程;
实际编码级别5=工程项目+单位工程+分部工程+分项工程+单元工程+施工单元;
其中工程项目不填入编码样例,从而生成一个临时根节点,在预览功能中,对该根节点进行自动校正,将工程项目设置为根节点。
如图2所示,S4-1,获取指定的数据列,其中PBS编码是必须存在的列;
S4-2,从PBS数据池中提取指定的数据列,放入有效数据池中;
S4-3,依次获取工程项目、单位工程、分部工程、分项工程、单元工程、施工单元六个级别样例编码;
S4-4,根据编码样例解析编码占位符,其算法为:
设PBS编码列当前编码为Cur_Code,PBS编码列下一个编码为Next_Code;
那么遍历PBS编码列,若Cur_Code_Len!=Next_Code_Len则占位符ReplaceChar为空字符串,这时PBS编码中每一级编码的位数都是不一样的,其中Cur_Code_Len为前一个编码字符串长度,Next_Code_Len为后一个编码字符串长度;
若Cur_Code_Len==Next_Code_Len则为等位PBS编码,这时PBS编码每一级别的编码位数是一样的,对于每个级别不足的位数,采用某个特定占位符为补充,例如0;
此时对PBS编码的每一个字符进行遍历:
设:在同一个位置J,Cur_Code的字符为Cur_Code_C,Next_Code的字符为Next_Code_C;
若Cur_Code_C!=Next_Code_C,Next_Code_C即为占位符ReplaceChar;
S4-5,解析PBS编码样例每个级别的编码位数;
S4-6,根据编码样例解析编码占位符,其算法为:
若占位符ReplaceChar为空串,则每级编码位数为实际编码样例位数;若占位符ReplaceChar不是空串,则需要对每级编码样例剔除掉占位符的位数。
S4-7,根据占位符、各级位数对PBS编码从顶层到底层依次查找匹配,先查找父节点fNode,组织父节点fNode的属性及其他数据,并将父节点fNode的属性及其他数据与PBS编码绑定;
S4-8,查找父节点的下一级节点集合vChildren,并把vChildren挂接到fNode下;
S4-9,递归S4-7至S4-8直到查找的子集合vChildren为空结束查找匹配;
上述S4-1至S4-9是本算法的核心思想,通过以上部分可以自动将PBS子父级关系挂接完成,并且组织好每个节点相关属性。
将PBS挂接操作完毕的隧道数据模型进行导出操作,具体执行步骤如下:
①,选择工程施工模型导出格式,以及工程施工模型导出格式对应的版本;
②,根据选择的工程施工模型,遍历其工程施工模型数据组织结构,并对此工程施工模型数据组织结构进行分类,分类方式为Product装配,Part零件,Body体;
③,根据获取到的工程施工模型数据组织结构,以及需要的新的模型数据组织结构,组织出新的需要的模型组织结构;
④,根据获取到的模型数据组织结构,以及对模型数据组织结构分类后获取到的对应模型属性数据和模型图形实体B-Rep数据,分别填到对应的工程施工模型数据组织结构中;根据施工工程模型数据组织结构要求,以及对设计结果模型数据组织结构分类后分别获取的对应模型属性数据和模型图形B-Rep数据,分别填充到对应工程施工模型数据组织结构各分类节点;根据施工工程模型数据要求,工程施工模型,设计结果模型的几何实体数据由模型几何model和构造几何construction两部分组成,其中模型几何是指拓扑类指向的类,不包括具体的形状信息,构造几何是指模型几何中的声明,包含实际的形状信息,模型几何和构造几何的关系如下:其中抽象几何对应模型几何,具体几何对应构造几何;根据施工工程模型数据要求,工程施工模型数据导出需要进行精度和模型空间控制,工程施工模型数据导出的精度和模型空间控制公式如下:
设定A:绝对最小值(10e-6)
B:规格化最小值(10e-10)
C:曲线曲面的逼近精度(10e-3)
D:被认为是零的最大值(10e-11)
模型空间计算算法:
Model space=A/B=10e-6/10e-10=10e4。
⑤,根据选择的工程施工模型导出格式以及导出格式对应版本,将获取到的工程施工模型数据组织结构以及各分类结构上的工程施工模型属性数据和图形B-Rep数据导出。
如图3所示,在建筑信息管理BIM技术中,尤其对于隧道施工工程的数据模型建构过程中为了实现对于施工工程数据与机器的相互识别认证,从而对于需要对于隧道数据模型进行模型的导入操作,从而导入到BIM系统之中进行处理,将隧道模型根据不同的实际施工条件进行模型的拆分和规划,形成针对不同隧道模型的划分手段,从而提高隧道施工工程效率,将隧道模型划分完毕之后,通过本发明的PBS结构自动挂接方法,对隧道数据模型进行建构和数据名称统筹整理,将建构和数据名称统筹整理后的隧道数据模型进行导出操作,上述描述展现了PBS在整体BIM中的工作环节,对于施工中的隧道模型划分具有重要的指导意义。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。