AutoCAD 中利用AutoLisp语言的二次开发
AutoCAD 中利用AutoLisp
语言的二次开发
李善锋 王 佳 吉林铁道职业技术学院汽车工程系 吉林 132200
吉林省教育厅“十二五”科学技术研究项目( 吉教科合字[2011] 第419 号
【文章摘要】
采用AutoCAD 内置二次开发工具AutoLISP 语言以及DCL 语言,以一个机械标准件——螺母为例,开发一个新的AutoCAD 命令,实现机械设计的参数化绘图,避免大量重复性绘制工作,减少失误,提高作图效率.对许多企业已形成标准化、系列化的产品也同样可以大幅度提高作图效率.
【关键词】
机械设计;计算机辅助设计;二次开发;参数化绘图
0 引言
AutoCAD 是目前国内外使用最为普遍的绘图软件之一,由美国Autodesk 公司研制开发。随着版本的不断更新,其功能越来越强,又因为其支持的平台多、外设广、性能价格比好、易学易用,使用越来越方便,因而得到了广泛的应用。更重要的是它具有开放的体系结构,允许用户和开发者对其进行扩充和修改,能最大限度地满足用户的特殊要求。它广泛应用于机械、电气、建筑、造船、航空航天、冶金、轻工、电子、土木工程、石油化工、地质、气象、纺织等领域。
AutoCAD 这种面向大多数用户的优点,同时也导致了其专业性、针对性不强的缺憾。Autodesk 公司的本意是把AutoCAD 作为一个提供基本功能和可以进行再次开发的软件平台推出的,因此, AutoCAD 不主动提供包括机械在内的各个行业所需要的一些特殊功能,但是提供了开发这些功能的工具,由使用者自行开发。同样,对许多企业已形成系列化的产品,在其机械工程图样中,往往包含着许多形状相似但参数不同的各类零件以及许多形状相似但参数不同的各类标准件和常用件,这使得设计中不可避免地要进行大量重复性绘制工作,导致绘图效率降低,并容易出错。
采用AutoCAD 内置二次开发工具AutoLISP 语言、DCL 语言,结合国家标准, 开发一个新的AutoCAD 平台上的命令,就可以实现机械产品设计的参数化;对已形成系列化的产品,设计人员只需调用该命令,在弹出的对话框中输入相应的参数, 即可自动绘出该产品的图形,从而节约设计人员的绘图时间,提高作图效率.
1 参数化绘图命令的建立
1.1 AutoLISP 语言、DCL 语言概述
LISP(1ist processing language) 是人工智能领域广泛采用的一种程序设计语言,主要用于人工智能、机器人、专家系统、博弈、定理证明等领域。LISP 在它15 多年的发展过程中产生了多种版本。AutoLISP 语言是嵌套在AutoCAD 内部、将LISP 语言与AutoCAD 有机结合的产物。使用AutoLISP 可以直接调用几乎所有的AutoCAD 命令。AutoLISP 语言既具备一般高级语言的基本结构和功能,又具有一般高级语言所没有的强大的图形处理功能,是目前世界上CAD 软件中被广泛采用的语言之一。美国Autodesk 公司在AutoCAD 中内部嵌入AutoLISP 语言的目的是使用户充分利用AutoCAD 进行二次开发,实现直接增加和修改AutoCAD 命令,随意扩大图形编辑功能,建立图形库和数据库并对当前图形进行直接访问和修改,开发CAD 软件包等。
AutoLISP 嵌入AutoCAD 之后,使仅仅作为交互图形编辑软件的AutoCAD 通过编程能真正成为进行计算机辅助设计、绘图的CAD 软件。LISP 灵活多变、易于学习和使用,因而使AutoCAD 成为功能强大的工具性软件。
为使开发程序与用户友好交流数据, 让不懂编程的用户方便地使用,设计对话框就成为程序开发不可或缺的工作。AutoCAD 有自己的一套对话框设计语言,称为对话框控制语言(DCL,dialogue control language),DCL 语言文件形式定义对话框,对话框中的各种元素( 如按钮、列表框和编辑框等) 称为控件,其布局、外观和动作由控件的属性指定。用户只需要提供最基本的位置信息,AutoCAD 就可以自动确定对话框的大小和控件的布局.
1.2 命令开发
本文采用AutoCAD 内置二次开发工具AutoLISP 语言以及DCL 语言,以一个机械标准件——螺母为例,开发一个新的AutoCAD 命令,实现机械设计的参数化绘图。程序框图如图1 所示。
图1 命令程序框图
本命令分为三个模块,主程序模块和处理输入数据的子程序模块以及绘图子程序模块。各个模块之间是相对独立的; 在编写主程序之前就可以先做好两个子程序。在主程序中首先编制调入对话框的代码,给出动态文本框以及命令按钮等组件,以用于用户输入需要绘制的螺母的各项参数。在输人各项参数以后,可单击命令按钮,一方面结束参数输入,另一方面启动响应命令按钮,处理输入数据的子程序;再编写启动和卸载对话框的代码,最后添加调用绘图子程序的代码。
确保Load_luomu.lsp 文件和C_ luomu.dcl 文件都保存在\AutoCAD\support 子目录下。在AutoCAD 中选择加载应用程序命令导入Load_luomu.1sp 文件,就可以像使用任何一个AutoCAD 命令一样,在命令行输入“Load_luomu”来绘制一个螺母。
输入命令后,会弹出参数对话框,用户可以在该对话框中给定各参数。单击确定按钮后,AutoCAD 会按给定的参数自行绘制零件图形。如图2 所示。
图2 编程绘制的螺母正视图
2 结语
本文采用AutoCAD 内置二次开发工具AutoLISP 语言以及DCL 语言,以一个机械标准件——螺母为例,开发一个新的AutoCAD 命令,实现机械设计参数化绘图。
【参考文献】
[1] 徐慧娟,夏治,李恭琼.浅议AutoCAD[J].国家制造业信息化, 2004,33(11) :97—99.
[2] 李善锋,姜东华,姜勇.AutoCAD 应用教程(第2 版)[M].北京:人民邮电出版社,2013.
[3] 李善锋,孙志刚.计算机辅助设计——AutoCAD2012 中文版基础教程(第2 版)[M].北京:人民邮电出版社,2013.
[4] 李善锋,王小艳.计算机辅助设计——AutoCAD2008 中文版基础教程(第2 版)[M].北京:人民邮电出版社,2013.
[5] 张班.AutoCAD 二次开发探讨:对话框设计的可视化实现[J].当代建设,2002,1(4) :43.44.
[6] 谷芳,王洪海.双锥密封的参数化绘图[J].石油化工设备技术,2001, 22(5) :41—43.
[7] 谭妹.参数化设计绘图系统[J].机械设计与制造,2005,1(8) :66— 68.062
本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除! 快速论文发表网(www.ksfbw.com)本中心和国内数百家期刊杂志社有良好的合作关系,可以帮客户代发论文投稿.
投稿邮箱:ksfbw@126.com
客服Q Q:
82702382
联系电话:15295038833
本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除!
文章评论
共有 0 位网友发表了评论