APP下载

基于AutoCAD参数化绘图系统的开发与实践

2010-01-23

武汉工程职业技术学院学报 2010年3期
关键词:工程图二次开发控件

王 艳

(武汉工程职业技术学院 湖北 武汉:430080)

在AutoCAD中虽然有图块这个工具,可以解决重复绘制问题,但图块适用于图形形状相似且有比例关系的情况,用图块可以提高绘图效率。而实际工作中存在这样的棘手问题:图形是同类型,结构一致,但没有确定的比例关系,若使用图块这个工具,那么工作效率将大大降低。而我们可以利用AutoCAD提供的开发环境,使用AutoLISP语言来解决这个问题。

本年度机械类专业高职生的毕业设计中选择学习实践“基于AutoCAD平台的工程图幅自动生成程序的编制”这个课题就是基于“建立参数化绘图系统”这个思想。以工程图幅为例,编写基于Auto-CAD平台的工程图幅自动生成程序,实际工作中,绘图者只要根据实际出图需要,选择幅面和有关工程参数,即可完成输出图形之前的工程图幅自动生成,为图纸的规范化和标准化、出图效率提供保证。

由此类推,其他比如轴承、法兰、螺母、螺杆、联轴器等标准件、常用件均可用此思想实现参数化绘图,只要在绘图时调入所编写的程序,通过对话框输入简单的几个参数,便自动生成我们需要的图形,这将极大地提高实际工作中的绘图效率,真正实现计算机辅助设计或计算机辅助绘图。

1 AutoCAD二次开发原理

设计基于AutoCAD平台的工程图幅自动生成程序,属于AutoCAD的二次开发,AutoCAD二次开发的语言基础是AutoLISP语言。AutoLISP使用的数据类型有整型数、实型数、字符串、符号、表、选择集、实体名、子程序和外部子程序。AutoLISP的变量不需要定义和说明,变量的数据类型取决于变量被赋值的类型。AutoLISP的表达式相当于程序的语言,它是AutoLISP的处理对象,这种表达式采用前缀表示法,它的运算符位于所有的操作数之前。AutoLISP有多种函数,它们是数值计算和标准函数、赋值函数和逻辑函数、求值函数和转换函数、字符处理函数和关系函数、表处理函数、条件和迭代函数、交互输入函数和command函数、自定义函数和AutoCAD系统的新命令、输出函数。AutoLISP以表的形式来调用函数。

参数化绘图系统中交互式界面多是对话框界面。一个对话框要完整实现,需要一个对话框定义程序和一个对话框AutoLISP驱动程序。对话框定义程序是对拟建立的对话框的各个控件和其布局格式进行的定义,其程序文件的扩展名是*.dcl。一个对话框由按钮、文本框、列表框、图像等基本控件或组合控件组成。AutoCAD系统中的Base.dcl文件提供了这些控件。用对话框语言DCL(Dialog Control Language)编写对话框时直接引用这些控件。这些控件有其自身的属性和功能。AutoLISP驱动程序是用来驱动对话框的,在AutoLISP驱动程序中可对其中的控件进行控制。在AutoCAD绘图界面,主菜单“工具”下的“AutoLISP”,可进入“AutoLISP编辑器”,从而进入AutoCAD二次开发界面。

2 自动绘图程序的编制实践

“基于AutoCAD平台的工程图幅自动生成程序的编制”首先涉及制图国家标准中对图纸的幅面和格式、比例、字体、图线和尺寸标注等参数和格式的规定。从国标制图手册中找到其中的相关内容,这些内容是AutoCAD二次开发将使用的实际参数和图线。

然后在AutoCAD绘图区域,绘出标题栏的共性参数和共性图线,并保存为BTL.DWG文件。参见图1所示。

图1 共性参数、共性图线的标题栏

根据上述实际参数和图线,实现“工程图幅自动生成程序”的编写。

2.1 对话框程序的编制

对话框用于接受操作者输入图纸上的相关参数。

(1)外形设计:如图2所示为工程图幅的参数化绘图程序中调用的对话框界面。

图2 对话框外形设计

(2)对话框结构设计:从对话框标题栏开始,从上到下,从左到右,分别布置控件,共有4个下拉式列表框控件、5个编辑框控件、1个复选框控件、确定-取消控件,结构如图3所示。

(3)对话框程序代码的编写:在AutoCAD绘图界面,“工具”主菜单下的“AutoLISP”可进入“AutoLISP编辑器”,在“Visual LISP”界面,新建文件,输入代码,保存文件在安装目录中support下,文件名gcttk.dcl。

2.2 工程图幅的参数化绘图程序的编制

(1)工程图幅的参数化绘图程序的流程图,如图4所示。

(2)根据该流程图编制程序:在AutoCAD绘图界面,“工具”主菜单下的“AutoLISP”可进入“AutoLISP编辑器”,在“Visual LISP”界面,新建文件,输入代码,保存文件在安装目录中support下,文件名gcttk.lsp。

2.3 绘图程序加载

在AutoCAD绘图界面,加载“工程图幅的参数化绘图程序”gcttk.lsp。如图5所示,单击“关闭”按钮。

2.4 自动生成工程图幅

图3 对话框结构设计

图4 绘图程序流程图

在AutoCAD绘图界面,像输入其他命令一样输入gcttk,出现如图2所示对话框,选择和填写参数。假设填写内容如图6所示。则在AutoCAD绘图界面上4号工程图幅自动生成,结果如图7所示。

图5 所加载绘图程序的界面

图6 对话框实例

图7 工程图幅自动生成实例

3 结论

本文通过AutoCAD中的AutoLISP编辑器,开发一个自动生成工程图幅的参数化绘图系统。该开发过程是通过机械专业学生的毕业设计来实现的。通过这一工作,让学生了解到此种绘图方式不同于过去所学的方式,这种方式将对实际工作中的结构和尺寸均已标准化的标准件或常用件的绘图工作来说,其效率将大大提高。如果我们是长期从事机械设计或制造工作的人员,在做齿轮、轴承、法兰、螺母、螺杆、联轴器等标准件、常用件的基础工作时,这种方式值得学习和推广。

注:本文图纸设计参照武钢设计研究院实际工程图纸。

[1] 刘言松,贺 炜.AutoCAD二次开发实例教程[M].北京:化学工业出版社,2009.

[2] 李学志.Visual LISP程序设计[M].北京:清华大学出版社, 2006.

[3] 王 艳.AutoCAD工程制图基础教程[M].武汉:华中科技大学出版社,2007.

猜你喜欢

工程图二次开发控件
通过三维软件PDF自适应转换实现工艺卡片二维工程简图的高清显示
四合一铅笔刀设计
基于.net的用户定义验证控件的应用分析
面向工程认证的机制专业工程图学(一)课程教学探索
浅谈基于Revit平台的二次开发
MASTERCAM工程图出图功能研究
浅谈Mastercam后处理器的二次开发
关于.net控件数组的探讨
西门子Easy Screen对倒棱机床界面二次开发
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用