应用autolisp 和dcl 对autocad 的二次开发

应用autolisp 和dcl 对autocad 的二次开发

ID:26754883

大小:123.50 KB

页数:4页

时间:2018-11-29

应用autolisp 和dcl 对autocad 的二次开发_第1页
应用autolisp 和dcl 对autocad 的二次开发_第2页
应用autolisp 和dcl 对autocad 的二次开发_第3页
应用autolisp 和dcl 对autocad 的二次开发_第4页
资源描述:

《应用autolisp 和dcl 对autocad 的二次开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、应用AutoLISP和DCL对AutoCAD的二次开发苗现华,吴传山(健雄职业技术学院,江苏太仓215411)摘要:通过实例说明,应用AutoLISP和DCL,能够编写出人机交互强,功能强大的程序,对AutoCAD进行十分有效的二次开发,从而提高绘图效率,并使AutoCAD真正地起到辅助设计作用。关键词:AutoLISP;DCL;AutoCAD;二次开发中图分类号:TP391.72文献标识码:A1.概述AutoCAD是当今风靡世界的CAD应用软件,为了提高其绘图效率,增强其设计能力,常会用到AutoLISP及DCL对其进行二次开发

2、[1]。由于AutoLISP及DCL均附着于AutoCAD软件内,AutoLISP是编写绘图、编辑图形等程序的表处理语言,易学易用且功能强大;DCL是用户对话框设计语言,可设计出简洁、美观且人机交互强的用户对话框。二者配合使用,对AutoCAD有着强大的二次开发能力。以双头螺柱为例,说明如何应用AutoLISP和DCL对AutoCAD进行二次开发及开发效果。2.开发流程2.1用DCL编写用户对话框界面根据设计意图,编写用户对话框,如图1所示。图1用户对话框界面用户点击图中单选按钮,选取绘图所需的国标及等级代号,右侧则展现对应螺柱样

3、式的图片。在图中下拉列表框中选取所需公称直径d和公称长度l,选取或输入所需旋转角度angle,点击“确定”按钮在AutoCAD界面中绘出所希望的双头螺柱。对话框文件取名为stlz.dcl,源程序如下:stlz:dialog{label=“双头螺柱”;:row{:boxed_radio_column{label="国标及等级代号";:radio_button{label="GB/T897-1988A";key="k897A";}:radio_button{label="GB/T897-1988B";key="k897B";}:rad

4、io_button{label="GB/T898-1988A";key="k898A";}:radio_button{label="GB/T898-1988B";key="k898B";}:radio_button{label="GB/T899-1988A";key="k899A";}:radio_button{label="GB/T899-1988B";key="k899B";}:radio_button{label="GB/T900-1988A";key="k900A";}:radio_button{label="GB/T90

5、0-1988B";key="k900B";}}:image{key="kimage";color=-2;width=30;aspect_ratio=1;}}:row{:popup_list{label="公称直径d";edit_width=4;key="kpopd";}:popup_list{label="公称长度l";edit_width=4;key="kpopl";}:popup_list{label="旋转角度angle";edit_width=4;key="kpopa";}:edit_box{edit_width=4;ke

6、y="kebox";}}spacer_1;ok_cancel;}2.2制作SLD文件  为了实现用户对话框中的八种类型的双头螺柱的图像显示,首先在AutoCAD软件的绘图区域中分别绘制这八种类型的双头螺柱,然后在命令行中输入“mslide”命令,分别创建相应的幻灯片文件,文件分别命名为stlz1.sld~stlz8.sld。制作幻灯片文件前尽量将每种类型的图形居中且填满绘图区域。2.3编写LISP程序LISP程序在二次开发各环节中是唯一具有驱动能力的,它用来开启用户对话框,响应用户动作,控制绘图命令,直至完成开发任务。程序由一个主

7、程序和四个子程序组成。其主程序的流程如图2所示,主程序及相关注释如下:(defunstlz()(setvar"cmdecho"0)(setqid(load_dialog"stlz"));打开对话框(new_dialog"stlz"id)(csys);调用参数预设子程序(action_tile"kpopd""(setqpop1)(sub_pop$value)");响应用户动作,调用子程序(action_tile"kpopl""(setqpop2)(sub_pop$value)")(action_tile"kpopa""(setqpo

8、p3)(sub_pop$value)")(action_tile"k897A""(setqxz1)(sub_gbxz)");响应用户动作,调用子程序……(action_tile"k900B""(setqxz8)(sub_gbxz)")(action

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。