张 钢,杨松林,张力小,张莉莎
(1.河北科技大学 机械电子工程学院,石家庄 050018;2.北京师范大学 环境学院,北京100875)
在化工企业的图纸设计中涉及大量的管道设计,多数采用二维的设计方式。二维电子图纸不易看懂,其中的错误很难被发现,等到施工时才显示出来,这给工程施工造成严重后果。二维的表达方式也给改建或扩建带来不便。与二维设计相比,三维设计有利于全面考虑操作、检查、安全的需要;容易发现施工时可能出现的问题,并事先获得解决;有利于工程建设制定计划、编制预算、划分分包范围。针对化工厂中的大量的二维电子图纸,对其进行三维实体重建是很有必要的。
管道布置图是在设备布置图上增加了管道布置情况的图样。管道布置图中所解决的主要问题是如何用管道把设备连起来。根据管道布置图的特点可知,需要对其进行一定的预处理,内容包括:
1)删除多余信息:例如图框、管架等。
2)重新表达:将双管线用其中心线表示转为单管线表达,重叠隐藏的管线重新表达清楚,删除断线号等。
3)工程语义的关联:采用建块方法建立图形与其属性(工程语义)的关联,块名按一定规则命名。
4)图形分段处理:分别以主要设备为中心,手动将一组相关联的视图存放在不同名的.dwg文件中,文件名用主要设备名称命名,将这样的图段叫做“子图”,子图中的各个图形的位置和原来管道布置图中相应坐标一致。
选择VB为编程工具,采用AutoCAD作为图形处理平台,利用Access建立数据库来存储三维重建数据。VB通过ActiveX Automation技术[1]与AutoCAD进行接口和通信从而实现对AutoCAD的控制和操作,进而实现AutoCAD图形的信息提取、存储和图形的建立等。利用VB强大的数据库访问功能将提取的数据信息按照一定的规则添加到Access数据库中,以便三维重建时能够从其中读取所需信息。根据所存储数据的内容利用Access数据库创建多个数据表,并创建它们的链接。利用ADO技术[2]可以实现Visual Basic对Access数据库的访问和数据交互更新等。
图形识别和信息匹配是三维重建的一个重点也是难点,是根据二维工程图,对图形对象进行识别判断,通过编程方法和用户交互选择方式实现图形与工程语义的匹配及视图之间的匹配,进而得到图形对象所在的空间的位置和方位三维数据及其图形对象本身的数据。
1) 图形识别
根据对象名称和线宽识别管道和一般弯头。通过块名识别管道标注、退化弯头、三通、异径管、阀门、仪表、附件和设备;通过块的属性值来判断是何种阀门、仪表、附件或设备。
2)图形匹配
管道往往由好几个管段组成,管段之间是由阀门、仪表、附件、一般弯头和异径管连接的,管道标注只标注在其中的一个管段上。图形匹配[3]方法是首先找与管道标注块相交的且交点是管道标注块基点的管段,直接把管道标注相关信息赋值相应管段,例如标高直接赋值给管段的Z方向值,把已匹配的管道标注删除,给已匹配的管段赋予颜色以区分是否匹配。接下来需要对其它对象匹配,这里依据深度优先搜索算法[4]原理沿管道方向的管段端点去遍历图形,识别其它对象并对它们进行匹配,通过管道端点的对象来判断继续还是终止搜索,例如对象是设备就会终止这个方向的搜索。最后把匹配的数据存入建好的数据库中。
3) 视图匹配
根据表达的需要,管道布置图采用一组视图:平面图、剖视图、向视图和局部放大视图。所有视图都放在同一坐标下,为了还原它们在三维重建坐标系下的坐标,需要先在主视图上确定三维重建的坐标系,通过人机交互选择方式来对视图进行匹配,然后对除主视图以外的其它视图进行坐标变换[5]。
三维实体重建基本思路:首先,通过编程方法结合化工三维图形库[6]和三维重建数据库实现设备自动重建并准确在空间定位;其次,根据三维重建数据库进行管道和管道连接件的三维实体重建;再次,实现阀门、仪表和管道附件的三维实体重建;最后,人机交互处理空间三维模型,例如与设备管口相连的直管段是由设备管口确定位置的,需要人机交互处理。
从三维重建数据库得到管道的起点P1( X1, Y1, Z1)、终点P2( X2, Y2, Z2)和管径D。根据这几个参数可以得到管道半径R,点P1到点P2的三维向量P,点P1和点P2这两点的距离L,空间坐标系Z轴正方向的单位方向向量为Iz,向量P和向量Iz的向量积为向量H,选HAxis为向量H正方向上的一点,向量P和向量Iz的夹角为θ。
三维管道实体重建思路:首先在空间坐标下以原点绘制管道截面和拉伸路径,在XY平面上以原点center ( 0 , 0 , 0 )为圆心,R为半径绘制管道截面,以原点center ( 0 , 0 , 0 )和点 point_z ( 0 , 0 , L )为两端点绘制拉伸路径,建立三维实体管道,效果如图1中a所示;然后以向量H正方向为旋转轴旋转三维实体管道,旋转角度为θ,使管道中心线方向与向量P一致,效果如图1中b所示;最后将三维管道移到P1点,实现空间三维管道的重建,效果如图1(c)所示。
图1 三维管道重建示意图
三通和异径管的重建方法与管道的重建方法类似,三通可以看成是两个管道三维重建的叠加,异径管可以看成是截面绕X轴旋转生成三维异径管实体,其它过程和三维管道重建过程类似。
弯头三维实体重建思路:从三维重建数据库得到圆弧的圆心C ( X0, Y0, Z0)、起点P1( X1, Y1, Z1)、终点P2( X2, Y2, Z2)和半径r。根据这几个已知参数建立一个参考坐标系,由参考坐标系和固定坐标系(空间坐标系)可以得到变换矩阵。假设将点C移到固定坐标系的原点,按照管道重建的方法建立三维弯头实体,然后使用该变换矩阵[7]将弯头三维实体进行几何变换,最后完成弯头的三维实体重建。
参考坐标系的建立方法:以点C ( X0, Y0, Z0)为坐标系原点,点P1( X1, Y1, Z1)为X轴方向上的一点,由该坐标系下的XOY平面上的另一点为P2( X2, Y2, Z2)可得Y轴正方向上的一点P3( X3, Y3, Z3)。根据立体解析几何的知识知,CP1⊥ CP3,有
根据C、P1、P2、P3四点共面得
由于P3是Y轴正半轴上的任一点,假设其坐标满足
由以上三个式子结合起来,可以得到X3、Y3和Z3的值,最终确定参考坐标系。
由于阀门、仪表、附件和设备在管道布置图中都是用图形符号表示的,无法对它们提取足够的信息进行三维实体重建,所以必须建立相应的化工三维图形库以便管道布置图的三维实体重建的调用。重建方法:由三维重建数据库可以得到阀门、仪表和附件与管道的两个交点(由这两个点可以计算出安装角度)、安装平面和型号,设备的放置位置、放置角度和型号。根据型号调出相应阀门、仪表、附件或设备,由安装位置和角度把其放置在相应空间位置完成阀门、仪表、附件和设备的三维实体重建。
图2 管道布置图的一个子图
图2为某石化集团有限公司50万吨/年直柴脱酸精制改造的管道布置图的一个子图,现以此图为实例说明其三维重建过程,对此子图进行图形识别、信息提取及匹配,将数据存放在三维重建数据库中。根据上文的三维实体重建方法得到如图3(a)所示,其中图3(b)是(a)的一个局部放大效果图,从(b)中可以看出管道和设备还没有连接,这就需要对其进行人机交互处理,得到如图3(c)所示的效果,完成这个子图的三维实体重建。
图3 三维实体重建实例
三维实体重建追求的目标是将化工二维管道布置图进行批量转换,直接将二维电子图纸翻译成三维立体图,使用户直接看到最终设计效果,它不仅对其在化工行业普及有重要的意义,而且对三维技术发展也具有重要的意义。
[1] 宋小春, 陆载涵, 赵大兴.AutoCAD考试系统中图形数据的提取和自动评分[J].湖北工学院学, 2002,17(3): 10-12.
[2] 徐枫, 马国之, 刘良旭.基于ADO技术的数据库访问研究与实现[J].计算机工程与设计, 2004, 25(1): 107-110.
[3] 薛峰, 张燕, 赵盼.二维化工工艺管道图的三维重建[J].科学技术与工程, 2010, 10(14): 3523-3526.
[4] 王力强, 常桂然, 王凤, 申健.工厂管道设计软件管段图提取方法的研究[J].小型微型计算机系统, 1998, 19(1):62-67.
[5] 赵晓峰, 孙静波, 孔庆.面向三维重建的工程图信息预处理的研究[J].计算机系统应用, 2008, 2: 47-49.
[6] 朱长江.工程设计中建立AutoCAD图形库新方法[J].武汉造船, 1999, 4: 36-38.
[7] 李清泉, 严勇, 杨必胜, 等.地下管线的三维可视化研究[J].武汉大学学报·信息科学版, 2003, 28(3): 277-282.