基于外部链接的通用法兰生成器的研制(2)

2009-06-11 朱绍源 合肥通用机械研究院

4.2、主要技术特征

        程序设计了标准数据检索和自定义参数管理系统,标准数据库结构不可更改,自定义参数管理系统对用户开放,具有无限量数据扩充功能,适应多种工程应用。所有操作栏目具备记忆功能,建立“名词术语库”以方便操作和规范输入。

        程序中引用了“成组技术”,对法兰亚元进行了编码,以便于数据的归类组织。

4.3、Delphi程序的调用

        L isp主程序通过startapp 函数来激活,如star2tapp " delphi控制程序. exe"。但Lisp程序一旦启动了外部应用程序,就不能对其控制,这使得在运行Delphi控制程序的时候很容易出现鼠标点选错误,因此,在Delphi控制程序中对鼠标活动范围要作强制限定,语句实例:


.....
var pos: trect;
begin
pos: =人机界面控件. BoundsRect;
mapwindowpoints ( handle, 0, pos, 2) ;
clipcursor (@pos) ;
end;
....

4.4、参数传递

        参数在系统中是由数据库传递给Delphi,再由Delphi传递给L isp。数据库与Delphi之间的参数传递是由Delphi单方面控制实现的, Delphi通过自身的ADO 组件可以轻松解决这一问题。Delphi与Lisp之间的参数传递必须通过中间媒介实现,这个中间媒介就是数据文件。首先Delphi将经过处理的编码信息和由数据库传递过来的法兰尺寸参数保存到数据文件中,然后L isp 通过读取数据文件中的编码信息和法兰尺寸参数,破解编码信息,调用绘图子程序,依照法兰尺寸参数生成图形。Delphi参数存储语句段:
......
varmyf: textfile;
if fileexists(数据文件) then
 deletefile (数据文件) ;
assignfile (myf,数据文件) ;
rewrite (myf) ;
writeln (myf, edit. text) ;
......
Lisp读取参数语句段:
.....
( defun getfile ( filename / s s_line ss_line)
( setq s (open filename " r" ) )
(while ( setq s_line ( read - line s) )
 ( setq s_line ( list s_line) )
 ( setq ss_line ( append ss_line s_line) )
 )
( close s)
 ( setq s_line ss_line)
)
.....

5、界面设计

        人机操作界面采用多级弹出式对话框界面,在AutoCAD中,对话框设计一般采用DCL 语言,但由于DCL语言不是可视化编程语言,在形成复杂界面和使用数据库关联组件的时候显得力不从心。而Delphi丰富的可视化编程工具和强大的数据库关联组件,使这部分工作变得轻松和有效。操作界面主要分为法兰结构生成界面和法兰参数维护界面。

        在法兰结构生成界面中, 用户确定“材料大类”、“标准类型”、“法兰类型”、“密封面”、“压力等级”,系统将自动显示法兰亚元图,并与数据库实时通讯,在参数列表中实时反映符合要求的法兰结构数据,实现交互式对话操作,根据所编辑参数,可以直接参数化生成所需法兰结构图形。法兰参数维护界面,主要用于参数维护,特别是非标结构的自定义操作和未纳入的标准参数扩充,普通用户借此可以建立自己的法兰结构数据库,系统将自动将其接入法兰结构生成界面,在操作上具有完全相同的形式。但在数据纳入前,要合理归类,以方便设计时的数据检索。界面设计时要充分考虑系统的友好与容错,要有一定的提示与警告设置,并注意界面美观合理。

6、结语

        采用计算机辅助设计方法来解决繁杂的法兰结构设计问题是一次有益的尝试,开发过程中要注意开发环境、开发工具的合理选择,数据的组织,程序结构和界面设计是其中的关键,集成的工作环境,稳的性能和开放的数据结构可以大大提高系统在工程应用中的实用性和适应性。