eryar 阅读(692) 评论(0)

AVEVA Draft Auto Drawing Customisation

AVEVA Draft自动出图二次开发

eryar@163.com

摘要Abstract:本文简要描述了CAD软件自动出图的意义,详细说明AVEVA Draft模块的PML二次开发步骤,并给出了PML实例,便于理解及工程应用。通过对Draft的二次开发,可以根据需要对指定模型进行自动出图,提高工作效率。

关键字Key Words:AVEVA Draft、PDMS、PML、Automatical Drawing

一、引言 Introduction

计算机辅助设计的最终目的就是自动生成能够指导生产用的图纸,也许不久的将来就不需要图纸了,直接由模型生成机床等加工设备能识别的数据,使机床自动加工。而施工人员只需要手拿一个pad通过Wi-Fi连接到数据库看看三维模型,模型中附带着加工相关的工艺信息。以三维交互的方式来建立模型,便于用户将设计数据输入计算机。建模过程直观,真实,减少设计差错,并可使设计人员集中精力对设计做些优化。根据三维模型自动生成材料报表、生产施工图纸是计算机辅助设计软件的输出,也是软件代替手工的先进之处。

生产图纸按有无比例可分为:有比例投影图和无比例示意图。有比例投影图如设备布置图、管子安装图等,是模型按一定的比例缩放后再经过消隐处理生成的二维图纸。无比例示意图如管子轴测图、钢结构节点图、杆件详图等,是模型的一种示意性表示,有时为了美观,图形并不与模型有固定比例关系,但是图中的拓朴关系必须与模型一致(即连接关系)。虽然无比例示意图不是按比例投影的,但是图中的尺寸标注、标高等是模型的实际值,可以用来指导施工、安装,且图纸更简单、清晰。不管是有比例投影图还是无比例示意图,程序出图的处理过程大致如下:

l 指定图纸模板或图纸大小,据此获得图纸范围;

l 根据三维模型数据生成二维图形;

l 尺寸标注;

l 件号标注;

l 材料报表;

上述过程中也有些算法上的难点,如件号标注的布局问题等。做得好的软件,自动生成的图纸尺寸标注清晰、准确;标号排列整齐、美观;材料说明完整,可以直接打印,不用人工干预调整,可大大解放生产力。有兴趣的读者可以对件号布局的算法进行研究,实现一个通用、高效的标号布局库。

AVEVA Draft模块就是用来生成有比例投影图的程序,设备布置图、安装图等。有比例投影图的核心算法就是根据三维模型自动生成各种消隐方式的二维图形。在AVEVA Draft模块中就有下面几种消隐方式:

n Wireline;

n Modelled Wireline;

n Local Hidden Line;

n Globe Hidden Line;

n Universal Hidden Line;

如下图所示:

消隐线消除算法可以参考OpenCascade中的HLR(Hidden Line Removal)部分源程序。先学习其原理,再结合源码,学习效率应该很高。如图所示为OpenCascade的消隐算法示例程序生成效果图:

Isodraft模块用来生成无比例示意图,管子轴测图。生成无比例管子轴测图的算法也是值得研究的,其相关算法也可用于生成其它无比例图纸中。

二、Draft数据库结构 Draft Database Hierarchy

Figure 2.1 Draft Database Hierarchy

Figure 2.2 Draft Database Hierarchy in Draft Explorer

要对Draft模块二次开发就需要了解Draft的数据库结构。如上图所示,Draft的数据库是树形结构:

其中World是最顶级元素;

World可以包含n个Department,即Department是World的成员(Member),World是Department的所有者(Owner);

Department包含Registery;

Registry包含Drawing;

Drawing包含Sheet ……。

理解Draft的数据结构,就可以创建出所需要的数据,并将相应的数据元素的有关属性赋值就可以得出所需要的结果了。

三、出图步骤 Procedures for Developing

根据程序出图的过程,说明如何在AVEVA Draft模块中实现出图的定制开发。掌握Draft出图的二次开发,就可以根据实际需要,使图纸自动生成。如对支架模型进行出图,对安装布置图进行优化等。AVEVA  Draft模块中的管子零件图、风管零件图的自动生成程序:PipeSketches、HVACSketches,都是使用PML开发的,具体实现细节可以作为参考。

AVEVA Draft创建工程平面图有两种方式:手动方式产生平面图和ADP方式产生平面图(Auto Drawing Production)。凡是手工可以做的,都可以交给计算机自动来做。手动方式出图将使用Draft模块出图部分的所有功能,熟悉Draft模块中不同功能的使用,将使我们更好的了解ADP自动出图的实现。操作熟练后,就可以使用PML来定制自己的出图程序。虽然是手动的方式,便许多的创建步骤都是自动连续进行的。

手动出图的方式就是结合上节中的数据结构图,创建出相应的数据。创建方法都是通过菜单Create中的命令来完成。

Figure 3.1 Manual Creation command

在这些数据结构中较为关键的是View和Drawlist等。通过Drawlist可以将需要投影的模型加入到View中,通过设置View的投影方向及比例、消隐方式、规则等,就可以将模型放到Drawing中去了。

具体手动创建步骤可以参考PDMS Draft出图相关资料。

使用PML自动出图也是按上面的步骤来进行的,只不过是直接使用PML来调用创建命令及设置相关数据结构的属性。

四、PML实现 PML Implementation

l 创建Department : new dept

l 创建Registry:new regi

l 创建Drawing:new drwg

n 需要设置图纸大小Size:

n 设置单位、线型、颜色等……

l 创建Sheet:new shee

l 创建Drawlist Lib:new DLLB

l 为各个View创建drawlist:new idli

l 将模型加入到drawlist中去:

l 根据图纸大小、模型范围计算比例:自动计算比例:auto /viewName

l 更新图纸:update design

l 标注尺寸:new ldim

l 标标件号:new slab

l 绘制材料表:通过画线命令,自己绘制。

五、工程应用 Engineering Application

通过PML二次开发出支架建模、出图程序,提高工作效率。其中支架出图就是根据上面步骤进行定制开发的,出图界面与管子零件图程序类似,如下图所示:

Figure 5.1 Support Sketches GUI

Figure 5.2 Support Sketch Demo

通过自动出图的方式,改变了支架设计的方式,提高了工作效率。

六、结论 Conclusion

二维图纸生成在目前为止还是三维设计软件的一个重要功能。AVEVA Draft的PML二次开发还是很简单、易上手的。通过对Draft出图的PML定制开发,改变以工作方式,提高了工作效率。由于Draft模块绘图及辅助功能如捕捉等功能不强,AVEVA准备推HullDrafting模块,但是在自动出图方面,Draft还是很方便的,可满足定制自动出图的需要。

七、参考资料 Bibliography

l Outfitting Draft User Guide

l Drawing Production User Guide

l PipeSketches PML code