罗 行
(核反应堆系统设计技术重点实验室,四川 成都 610000)
PDMS 软件的设备设计建模主要是将一些规则的基本体进行搭建,但这种三维设计建模方式对不规则的异形板要进行准确的三维建模的话,则需要花费不少的时间。 而PDMS 软件的结构设计建模主要是通过定义图形各个点的坐标再通过后台的拉伸完成建模,但对于复杂的结构则需要花费不少的时间来定义各个点的坐标和方向。 另外,一些在AutoCAD 中容易实现的平面图形,但要在PDMS 中完成三维建模操作却比较烦琐。此外,PDMS 三维设计建模不支持复杂的曲线、曲面和截面,使得在PDMS 中的三维设备模型不能真实反映其本身的外形,影响建模效果。 因此本文提出了一个解决方案,在AutoCAD 和PDMS 上进行二次开发,通过AutoCAD 提取点的坐标,再在PDMS 中一键生成三维模型,大大提高了PDMS 三维设计建模的效率,实现二三维的协同设计。
PDMS(Plant Design Management System) 工厂三维布置设计管理系统, 可以利用PML 可编程宏语言的二次开发,为工程设计人员提供全新的设计方法和手段。
AutoCAD 是一款广为流行的计算机辅助设计软件, 能利用内嵌的AutoLISP 进行二次开发,为AutoCAD 扩充具有一定智能化、参数的功能,实现真正意义上的计算机辅助设计。
PDMS 中完成设备和结构的三维设计建模主要是建立一个详细的3D 数字工厂模型, 保证了设计结果的准确性。 虽然PDMS 可以详细的设计管道和支吊架施工图等, 但却不能像其他三维软件(CATIA、Revit等) 可以设计详细的设备设计图和建筑施工图等,故在PDMS 中完成设备和结构的三维建模时,可以采用逼近法,通过获取封闭图形中点的坐标来建模,可以根据实际情况灵活控制逼近的精度,获取的点越多越逼近,完成的三维设计建模精度越高。
相比较PDMS,在AutoCAD 中则可以很容易地设计出各种形状的平面图形,也可以快速地捕捉各个点的坐标, 具有极好的二维绘图设计能力, 但是却与PDMS 系统之间缺乏数据协同性。 因此可以在AutoCAD 和PDMS 之间开发软件接口,通过编写的二次开发程序来捕捉AutoCAD 平面图形的各个点的坐标,读取坐标后进行参数化建模完成三维设计,就可以实现从二维到三维的一个转换。
设计人员在AutoCAD 中调用二次开发程序点击图形各个点的坐标, 并将读取的数据存储, 然后在PDMS 中调用PML 语言编写的二次开发程序,将AutoCAD 中读取的数据转换为PDMS 平台的模型数据, 再在二次开发程序窗口输入设计模型的命名、厚度、标高等信息完成三维设计建模。
AutoCAD 中捕捉图形各个点的坐标,其代码如下:
在AutoCAD 主界面“工具”菜单中选取“加载应用程序”,在弹出的对话框中,通过“查找范围”选取该程序进行加载。
从AutoCAD 二次开发程序中捕捉图形各个点的坐标储存在“D:CAD.txt”文件中,PDMS 二次开发程序打开时将自动读入该文本文件并进行信息的提取和处理,从而将数据由CAD 系统传入到PDMS 系统,其数据传输代码如下:
PDMS 二次开发程序将提取出的坐标进行参数化模型的设计建模,在PDMS 中调用的二次开发程序界面如图1 所示。
图1 PDMS 二次开发程序界面
图1中正下方显示的坐标为自动读取的通过AutoCAD 二次开发程序捕捉的图形各个点的坐标。 点击“Gwall”可以一键生成墙体,点击“Floor”可以一键生成楼板,点击“Extr”可以一键生成拉伸体,点击“Nxtr”可以生成负实体对设备和结构进行开孔,点击“Panel”可以一键生成钢平台楼板,点击“SCTN”可以生成型钢,点击“Spec”是选择型钢的等级。 设计人员可以在“标高”“厚度”“命名”栏修改需要的设计信息。
应用实例: 一键生成一个复杂的拉伸体, 如图2所示中的凸耳。
图2 凸耳CAD 平面图
首先在AutoCAD 启用二次开发程序捕捉图形各个点的信息,捕捉完后按ESC 键程序会自动存储捕捉点的坐标,如下图3 中操作所示,命令栏中也会提示请选择第几个点。
图3 AutoCAD 二次开发程序捕捉示意图
其次在PDMS 中调用PDMS 二次开发程序,设置“标高”+1000 mm,“厚度”50 mm,“命名”凸耳,设置开孔半径为12,界面中属性设置和生成的三维模型凸耳如图4 所示。
图4 PDMS 二次开发程序创建模型凸耳示意图
同样, 对于复杂的旋转体, 也可以先利用AutoCAD 二次开发程序捕捉旋转平面的坐标,再利用PDMS 二次开发程序生成旋转体的复杂平面, 通过旋转即可生成旋转体三维模型,极大方便快捷地完成旋转体三维设计。
PDMS 二次开发程序生成三维设计模型的部分代码如下:
本二次开发程序以简便获取AutoCAD 平面图形坐标的方式在PDMS 中实现三维设计建模,其不仅适用于PDMS 复杂形体的设备和结构三维设计建模,也适用于各种简单规则形体的三维设计建模, 相较于PDMS 自带的低效率不完美的建模方式, 该二次开发程序更快捷高效率,也省去了设计人员建模前需要测量尺寸并计算转化的过程。
在实际工程项目中,该二次开发程序可以适用于AutoCAD 和PDMS 的各个版本, 实现了AutoCAD 与PDMS 二三维的协同设计, 大大地提高了设计人员的建模效率,缩短了设计进度并提高了工程设计质量。