基于AutoLISP的AutoCAD参数化绘图

合集下载

基于AutoLisp的AutoCAD二次开发自动生成系统图

基于AutoLisp的AutoCAD二次开发自动生成系统图

基于AutoLisp的AutoCAD二次开发自动生成系统图【摘要】本文主要阐述了应用AutoLisp语言二次开发AutoCAD自动生成系统图的实现方案。

【关键词】AutoCAD;AutoLisp;二次开发;系统图0 引言水汽集中取样分析装置主要应用于发电厂水汽系统化学分析样品的预处理、人工取样,监督热力系统设备腐蚀、积盐情况,保证热力系统和发电机组安全、经济运行。

由于各电厂工程配置不同,的系统配置也有较大差异,对于该设备的生产厂家,工程设计人员设计时每个工程项目都需要绘制系统图,工作量大,效率低。

如运用集成在Autocad 软件内部的AutoLisp 语言开发系统图自动生成软件,使得系统图根据初始设计条件由程序自动绘制完成,将大大提高工程设计人员的绘图效率,既方便、又快捷准确无误。

1 软件目标应用AutoLisp二次开发AutoCAD程序,在AutoCAD界面中自动生成系统图,并自动生成明细表。

2 实现方案程序读取预设的初始设计条件,根据初始设计条件程序自动配置元器件,并在CAD中绘制相应的系统图,其中各元器件以图块形式预设,最后程序统计元器件块的数量,生成明细表。

2.1 初始设计条件的设置在初始设计条件表格中设置好样点数量、样点名称以及温度压力等参数,并选取元器件、仪表配置,其中“1”代表本项目有该器件,空白代表无需此器件。

程序运行时,读取表格中的参数信息,并以“扩展数据”的形式储存在当前DWG图纸中,以便于后续程序的调用。

2.2 程序运行逻辑程序读取初始参数后,在当前CAD中打开“初始模板”,该模板中以“图块”的形式存储了各种元器件的图形信息。

然后,程序进行逻辑运算,根据不同条件进行系统图绘制、插入不同的元器件图块,程序逻辑图如图2所示。

程序根据样点总数依次循环绘制,如果样点温度>200℃则进入高温架的预冷装置,配置高温高压阀门,如果200℃>样点温度>50℃则不进高温架的预冷,配置中温中压阀,两者均需进行冷却器降温,减压阀减压后进入低温屏的恒温系统。

第2讲利用AutoLisp语言绘图

第2讲利用AutoLisp语言绘图

第2讲利⽤AutoLisp语⾔绘图第2讲利⽤AutoLisp语⾔绘图在AuotCAD绘制简单图形时,有三种主要⽅式:(1)图标菜单(2)下拉式菜单(3)命令⾏。

事实上还有另外⼀种绘图⽅式,即通过lisp语⾔实现绘制图形。

利⽤Lisp语⾔绘图的最⼤优点是可以实现批处理,降低劳动强度。

⼩知识:Lisp语⾔最⼤优势是和AutoCAD绘图结合的很好,这也是该语⾔⾄今仍未被淘汰的最主要原因。

1、简单的绘图语句⼏乎AuotCAD中所有的绘图及环境设置命令都可以通过程序调⽤!,利⽤Lisp语⾔编写绘图命令的窍门是⾸先在命令⾏下把绘图命令和对应的参数记住,然后⽤Lisp语⾔的格式书写出即可。

1.1 绘制直线(command "line" "0,0" "1,1" "")1.2 绘制圆(command "circle" "0,0" 5)1.3 绘制正多边形(command "polygon" 5 "0,0" "i" 5)(command "polygon" "5" "0,0" "i" "5")都正确1.4 新建图层(command "la yer" "m" "道路" "c" 2 "" "")请同学⾃⼰编写⾼度为2,起点位置在“0,0”,⽂字内容是“理⼯⼤”的程序2、⽤多条绘图语句表⽰复杂图形正常情况下图形都⽐较复杂,需要⽤多条语句编写,例如测绘中的下⽔井、路灯等符号。

例1、下⽔井的绘制(defun c:xsj()(command "circle" "0,0" 0.5)(command "line" "-0.5,0" "0.5,0" "")(command "line" "0,-0.5" "0,0.5" ""))3、循环控制语句例2、绘制同⼼圆例3、绘制可多次插⼊的下⽔井符号例4、绘制y=sinx 曲线4、课后练习题4.1 编写lisp 程序,绘制路灯图案,参照下⽔井程序,改写成可以多次插⼊的程序。

基于AutoLisp的AutoCAD二次开发在测绘图形处理中的应用

基于AutoLisp的AutoCAD二次开发在测绘图形处理中的应用

基于AutoLisp的AutoCAD二次开发在测绘图形处理中的应用摘要:本文介绍了如何利用Autolisp语言对AutoCAD进行二次开发,并实现了根据断面图来半自动化生成高程点,其结果大大提高了根据断面图绘制平面图的质量和速度。

关键词:AutoCAD Autolisp 自动化程序断面1引言在实际的测绘生产工作中,我们经常会遇到利用已有的断面图来绘制平面图进而复原地形的情况,想要绘制平面图高程点元素是必不可少的,那么我们就必须根据已有的断面图来生成相应的高程点。

本文介绍了如何利用Autolisp语言在AutoCAD中实现根据设计断面图半自动化生成高程点,简化了原来利用AutoCAD测距量取距离,计算桩号、偏距、高程,再用Cass交互展点画出高程点的生成办法,在提高了准确率的同时也提高了工作效率。

2 Autolisp简介Autolisp是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor(表处理程序)的缩写。

LISP语言具有语法简单,通俗易懂等特点,通过autolisp编程,可以节省工程师很多时间。

AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具[[1]]。

在工程测量领域中,AutoCAD得到了普遍应用,在日常工作中有许多人在研究使用AutoCAD,并画出了很多工程图纸。

然而,人们经常会感觉到作图效率还是不够高,这是因为AutoCAD是一个通用的绘图软件,并不具备专业特色。

AutoCAD开放的结构为不同的使用者留出了广阔的空间,提供了许多二次开发工具,AutoLISP是其中最强大的一个,Autolisp是AutoCAD自带的一门编程语言,无需安装,是为扩展和自定义AutoCAD功能而设计的编程语言,Autolisp易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。

Autolisp嵌入AutoCAD内部,它不仅具有一般高级语言的基本结构和功能,而且还具有强大的图形处理和数据交换功能。

基于Visual LISP语言的AUTOCAD参数化设计

基于Visual LISP语言的AUTOCAD参数化设计

基于Visual LISP语言的AUTOCAD参数化设计摘要本系统是以模块化设计和参数化设计为指导思想,以Visual LISP为编程语言和开发工具,对AutoCAD软件进行的二次开发。

研制出了界面友好的标准件图库系统和标准图幅调用系统,实现了设置绘图环境的自动化和绘制标准滚动轴承,从而提高绘图的质量和效率。

本文介绍了构建此系统所用到的CAD二次开发的主要方法和关键技术,包括CAD的Visual LISP集成开发技术,Visual BASIC对话框设计,Visual LISP 与VBA的交互式编程技术。

用户通过人机交互界面设置滚动轴承的关键参数,系统自动计算出绘制图块所需要的各点的坐标,调用绘图程序进行绘图;通过标准图幅调用系统,用户可以在交互界面设置所需要的图纸类型,绘图比例,系统将参数传输给调用模型,调用事先绘制好的标准图幅块并设置全局性比例,然后按1:1打印即可完成打印出图。

系统优点:标准图幅库是可编辑的,可以在AutoCAD环境下设置,使其符合企业的特殊要求;滚动轴承参数化模型完全按照国标要求编制,尺寸系列摘自国标不需要用户再查手册,也可以自定义。

关键词:Visual LISP;参数化绘图;二次开发;VBA;交互式编程;标准图幅;标准件库;滚动轴承参数化模型基于VisualLISP语言的AutoCAD参数化设计PARAMETRIC DESIGN AUTOCAD BASEDon Visual LISP LANGUAGEABSTRACTThe system is based on modular design and parametric design as the guiding ideology, as in Visual LISP programming language and development tools for the secondary development of AutoCAD software. Developed a user-friendly standard parts library system and the standard drawing system, which can automatically set the graphics environment and draw the standard rolling bearing, thereby enhancing the quality and efficiency of drawing.This article will describe the main methods and the major key technologies of CAD's secondary development including Visual LISP Integrated Development Technology, Visual BASIC dialog design and Visual LISP and VBA programming interactive. Users only need to enter the key parameters in the human-computer interaction interface, the system will calculate the necessary points coordinates which is needed in drawing and then draw the drawing. Through the drawing system, the user can select the required drawing frame, set the ratio of the drawing in the dialog box, the system automatically draw out the drawing frame and set overall ratio. Then, in accordance with the 1:1 print a drawing to complete the print. System Benefits: Standard Drawing Library is open source, can be set up in the AutoCAD environment, to meet the specific requirements of enterprises; rolling bearing models in full accordance with the requirements of the preparation of GB, GB size range from requiring users to re-check the manual, but also required to custom; procedures for open-source, standard parts library can be filled follow-up.KEYWORDS:Visual LISP;Parametric Drawing;The secondary development;VBA;Standard drawing frame目录1.绪论 (1)1.1课题背景及研究的目的和意义 (1)1.2目前国内外研究进展概述 (2)1.2.1AutoCAD发展趋势 (2)1.2.2CAD二次开发研究热点 (3)1.2.3 本文主要研究内容 (4)2.AUTOCAD二次开发工具 (6)2.1VISUALLISP编程方法 (6)2.1.1VisualLISP语言概要 (6)2.1.2AutoLISP基本函数 (6)2.1.3参数化绘图程序设计技术 (9)2.2VBA编程方法 (10)2.2.1VisualBasic语言概要 (10)2.2.2VBA IDE集成编程环境 (13)2.3VISUALLISP与VBA的交叉编程方法 (14)3.绘图环境的设置 (17)3.1设置图层、文字样式、标注样式 (17)3.1.1创建新图层 (17)3.1.2定义字样 (17)3.1.3 设置尺寸标注 (18)3.2绘制标准图框模板 (20)3.2.1绘制标准图幅 (20)3.2.2设置块属性 (21)3.3VBA制作绘图模板调用窗口及V ISUAL LISP编制调用程序.. 22基于VisualLISP语言的AutoCAD参数化设计3.3.1VBA制作调用窗口 (23)3.3.2Visual LISP编制调用程序 (28)4.VISUALLISP参数化编程 (30)4.1参数化图形的特点及应用 (30)4.2VISUALLISP编制标准滚动轴承参数化模型程序库 (30)4.3VBA编制标准件调用窗口 (34)4.4VBA与VISUALLISP交叉编程应用 (37)5.程序设计综合应用 (39)5.1程序检查和调试中的问题 (39)5.2VBA编程与VISUALLISP编程的数据传递 (40)5.3有关系统变量的应用举例 (42)5.4自定义工具栏应用举例 (43)结论 (46)参考文献 (46)致谢 (47)1.绪论1.1课题背景及研究的目的和意义众所周知,AutoCAD 是目前在Windows95/ 98/ 2000/ NT /XP环境下应用最广泛、使用人数最多的CAD 软件, 以其完善的绘图功能、良好的用户界面、易学易用的特点,受到了广大工程技术人员的普遍欢迎。

在autocad中应用autolisp实现轴承参数化绘图

在autocad中应用autolisp实现轴承参数化绘图

在AutoCAD 中应用Autolis p 实现轴承参数化绘图王弘慧1,李建辉2(1.哈尔滨轴承集团公司质量管理部,黑龙江哈尔滨150036;2.中航工业哈尔滨轴承有限公司研发中心,黑龙江哈尔滨150036)摘 要:以深沟球轴承的参数化绘图为示例,介绍了用A ut oli sp 对A ut oCA D 图形进行的参数化绘图程序设计。

实践表明,A ut olisp 语言功能强大,易学易用,是A ut oCA D 二次开发的重要工具。

关键词:A ut olisp A ut oCA D ;参数化;深沟球轴承中图分类号:TH133.33,TP319文献标识码:B 文章编码:1672-4582(2012)01-0055-03Achieving bear ing parameteric drawing with Autolisp based on AutoCADWang Honghui 1,Li Jianhui 2(1.Department of quality management,Harbin Bearing Group Corporation,Harbin 150036,China;2.Bearing R&D Center,A VIC Harbin Bearing Co.,Ltd.,Harbin 150036,China)Abstract:The deep groove ball bearing,for example,the AutoCAD graphic is achieved parametric drawing program design with Autolisp.The practice shows that Autolisp is powerfull,it is easy to study and use,and an important tool for AutoCAD secondary development.Key words:Autolisp AutoCAD;parameterization;deep groove ball bearings第33卷 第1期2012年3月Vo l.33No .1Mar.2012哈 尔 滨 轴 承JOU RNA L O F HA RBIN BEARIN G收稿日期:作者简介:2011-08-26.王弘慧(1965-),女,工程师.1 前言 AutoCAD 是由美国Autodesk 公司推出的通用绘图设计软件,功能强大,但其功能还仅限于帮助用户完成CAD 中的图形显示和绘制。

基于Auto LISP的参数化绘图技术与实例分析

基于Auto LISP的参数化绘图技术与实例分析

基于Auto LISP的参数化绘图技术与实例分析摘要:AutoCAD 是一款通用的绘图软件,Auto LISP是嵌入AutoCAD的二次开发工具,参数化绘图是其典型的应用。

文章探讨了参数化绘图设计原理及步骤,并以轴承参数化绘图为例,介绍了Auto LISP的参数化绘图技术。

关键词:参数化;AutoCAD;Auto LISPAutoCAD是由Autodesk公司发行的一款应用于多领域的设计辅助和图形处理软件。

在机械行业得到了广泛应用。

AutoCAD虽然功能强大,但在专业应用上还是有不足之处,如何让通用的CAD系统更适合行业需要,必须对其要进行二次开发。

AutoCAD在30多年时间里相继推出了Auto LISP、ADS、Visual LISP、VBA、Object ARX、几种不同层次的二次开发工具。

“其中Auto LISP是唯一的一种以解释方式运行于AutoCAD内部的解释性程序设计语言,Auto LISP把数据和程序统一表达为表结构,所以它既可以把程序当作数据来处理,还可以把数据当作程序来执行”。

其语言规则简单,直接针对AutoCAD,易学易用,AutoCAD的绝大多数命令可直接调用,参数化绘图是其典型的应用之一。

1 参数化绘图设计原理及步骤所谓参数化就是将图形的有关几何关系、约束关系有机地结合起来,从而构成一个完整的参数化模型。

当设计人员改变图形的某一参数时,模型能根据尺寸及几何约束等自动计算出满足约束关系的工程图形。

参数化编程方法的实质,就是将图形信息记录在程序中。

它用一组变量记录图形的几何参数,用一些约束条件或者赋值语句来表达几何参数与结构参数之间的关系,再用一些绘图语句来表述图形的拓扑关系。

参数化方法快捷、高效,参数化绘图程序编写步骤是:①先进行图形结构特征分析,一般绘制一个零件的图样,需要很多尺寸,这就需要我们分析这个零件,确定图形中的关健几何尺寸及图形对象之间的依赖关系。

②从设计角度具体分析,确立不仅能体现零件的结构特征,又可以推导出其它尺寸的基本尺寸作为图形参数,并明确尺寸与图形参数之间的关系。

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令AutoLISP语言作为AutoCAD的二次开发工具,虽然在功能、运行速度和保密性等方面比起ARX等工具要逊色一些,但由于它易学易用,交互性好,灵活性强,对于那些经常使用AutoCAD进行绘图的普通用户来说,不失为一种理想的开发工具。

下面就介绍用AutoLISP 语言自定义的几个AutoCAD绘图命令,可以起到简化操作、提高作图效率的作用。

一、键槽尺寸视图的绘制命令“jct”在绘制轴、齿轮或带轮等零件图时,经常需要画轴上键槽处的剖视图或轮毂键槽的端面视图,比较麻烦;由于键槽的尺寸随轴径的变化而变化,所以我们可以用LISP程序来实现自动绘图。

加载下面的程序,在命令行中键入”jct”并回车,通过人机交互的形式输入有关参数,可自动完成轴上键槽的剖视图和轮毂键槽的端面视图的绘制。

代码示例如下所示。

(defun C:jct ()(setq pt0 (getpoint "\n 请输入视图的中心位置点:"))(initget 7)(setq loop T)(while loop(setq d (getreal "\n请输入键槽处的轴径(12<d<130)(mm):"))(if(or (< d 12) (> d 130))(alert "轴径数据输入错误!\n\n请重新输入!")(setq loop nil));if);while(cond;根据轴径检索键槽尺寸((and (> d 12) (<= d 17)) (setq b 5 t1 3.0 t2 2.3));b表示键槽的宽度((and (> d 17) (<= d 22)) (setq b 6 t1 3.5 t2 2.8));t1表示轴上键槽的深度((and (> d 22) (<= d 30)) (setq b 8 t1 4.0 t2 3.3));t2表示轮毂上键槽的高度((and (> d 30) (<= d 38)) (setq b 10 t1 5.0 t2 3.3))((and (> d 38) (<= d 44)) (setq b 12 t1 5.0 t2 3.3))((and (> d 44) (<= d 50)) (setq b 14 t1 5.5 t2 3.8))((and (> d 50) (<= d 58)) (setq b 16 t1 6.0 t2 4.3))((and (> d 58) (<= d 65)) (setq b 18 t1 7.0 t2 4.4))((and (> d 65) (<= d 75)) (setq b 20 t1 7.5 t2 4.9))((and (> d 75) (<= d 85)) (setq b 22 t1 9.0 t2 5.4))((and (> d 85) (<= d 95)) (setq b 25 t1 9.0 t2 5.4))((and (> d 95) (<= d 110)) (setq b 28 t1 10.0 t2 6.4))((and (> d 110) (<= d 130)) (setq b 32 t1 11.0 t2 7.4)))(command "circle" pt0 "d" d)(command "zoom" "a")(setq s1 (ssget "l" ))(setq di (-(* (/ d 2.0) (/ d 2.0)) (* (/ b 2.0) (/ b 2.0)))dx (sqrt di)dy (/ b 2.0)pt1 (list (+ (car pt0) dx) (+ (cadr pt0) dy)))(initget "Zc Lc");Zc表示画轴键槽的剖视图,Lc表示画轮毂键槽的端面视图(setq zrl (getkword "\n 画轴键槽的剖视图还是轮毂键槽的端面视图(Z/L)?"))(if (= zrl "Zc")(progn;计算轴键槽上点的坐标(setq pt2 (list (+ (car pt0) (-(/ d 2.0) t1)) (+ (cadr pt0) dy))pt3 (polar pt2 (- (/ pi 2.0)) b)pt4 (polar pt3 0 (- dx (- (/ d 2.0) t1)))));progn);if(if (= zrl "Lc")(progn;计算轮毂键槽上点的坐标(setq pt2 (list (+ (car pt0) (+(/ d 2.0) t2)) (+ (cadr pt0) dy))pt3 (polar pt2 (- (/ pi 2.0)) b)pt4 (polar pt3 (- pi) (- (+ (/ d 2.0) t2) dx))));progn);if(command "pline" pt1 pt2 pt3 pt4 "");画键槽(setq s2 (ssget "l"))(command "layer" "m" 5 "l" "center" 5 "c" 1 5 "")(command "ltscale" 8)(command "line" (polar pt0 (- pi) (+ (/ d 2.0) 10));画中心线(polar pt0 0 (+ (/ d 2.0) 10)) "")(command "line" (polar pt0(-(/ pi 2.0)) (+ (/ d 2.0) 10))(polar pt0 (/ pi 2.0) (+ (/ d 2.0) 10)) "")(command "layer" "s" 0 "")(if (= zrl "Zc")(progn(setq s3 (entsel "\n 请选择修剪的目标:"))(command "trim" s2 "" s3 "");修剪形成键槽(command "hatch" "U" "45" "2" "n" s1 s2 ""));画轴上键槽处剖视图的剖面线);if(if (= zrl "Lc")(progn(setq s4 (entsel "\n 请选择修剪的目标:"))(command "trim" s2 "" s4 "");修剪形成键槽(command "rotate" s1 s2 "" pt0 90));将轮毂键槽的端面视图旋转90度);if);end defun二、螺纹孔剖视图的绘制命令“lwk”在绘制机械零件图时,经常要画螺纹孔的剖视图,同样由于螺纹孔的有关尺寸都随螺纹的公称直径而变化,我们可以用下面的程序自动完成其剖视图的绘制。

Autolisp在CAD二次开发中的应用

Autolisp在CAD二次开发中的应用

Autolisp在CAD二次开发中的应用摘要:Auto LISP语言是Auto CAD中最大的一种编程工具,基于Auto LISP的编程工具,数量大的让人惊讶。

将一些小程序嵌套于AUTO LISP 内部, 使LISP 语言和AUTO CAD 有机结合,能有效地提高AutoCAD的绘图功能。

通过对Auto LISP语言的分析与研究,探讨了基于Auto LISP的AutoCAD 参数化处理数据的程序设计的基本步骤。

本文设计了如何用Auto LISP语言如何绘制典型机械零件图形,并且详细阐述了其实现过程。

实践表明,Auto LISP语言功能强大,易学易用,AutoCAD二次开发的重要工具。

关键词:Auto lisp语言; 程序设计; 二次开发随着科学技术的不断发展和社会的不断进步,计算机也越来越普遍的在各个行业中得到推广和应用。

实践证明在利用CAD绘制零件图技术在质量和速度上都产生了一个质的飞跃,使机械设计工作上了一个大台阶。

但是目前许多设计人员大多只能利用AUTO CAD软件,一笔一画地绘出所需的设计图纸,是设计人员大大部分时间都花费在繁琐的计算和绘图中,设计工作的重复性较大,工作效率较低。

如果设计人员能够对AUTO CAD进行二次开发,通过对AUTO LISP 进行编程,在CASS中加入一些用户需要的功能,从而使CASS在绘图中更具有实用化。

Auto LISP 语言是嵌入在Auto CAD内部的LISP编程语言,它是LISP语言与Auto CAD有机结合的产物。

Auto LISP的嵌入使Auto CAD真正成为能进行计算机辅助设计、绘图的软件。

VLISP是Auto LISP的换代产品。

VLISP对语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。

同时,通过实现反应器函数,还扩展Auto LISP响应事件的能力。

Visual Lisp具有一个交互式和智能控制台,包括有一个项目窗口、代码分色的文本编辑器、调试器、源程序窗口及许多其他特性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1) 分析结构特征 ,确定绘图参数 。通常绘制一个零件的 图样 ,需要很多尺寸 ,但是不可能把所有的尺寸都作为参数 。 这时就需要我们分析这个零件 ,确定既能体现零件的结构特 征 ,又能推导出其它尺寸的基本尺寸作为绘图参数 ,参数越少 越好 。
2) 根据绘图参数 ,设计交流界面 (对话框) 。对于参数化 绘图程序来说 ,对话框主要考虑绘图参数的输入和相关控件 的布局 ,为了增加程序的可读性 ,对话框中还要配有图像按 钮 ,用幻灯片来显示各绘图参数的含义 。
Key words :Auto L ISP ;AutoCAD ;paramet ric drawing ;redevelop ment s
1 引言
AutoCAD 是美国 AutoDesk 公司推出的一种通用的计算 机辅助设计和图形处理软件 ,具有易于掌握 、使用方便 、绘图 精确和体系结构开放等优点 。因此 ,自 1982 年问世以来深受 广大设计人员的青睐 ,是 CAD 族群中使用最普遍的软件之 一 。如今 ,AutoCAD 已广泛应用于机械 、建筑 、电子 、航天 、造 船 、冶金 、纺织 、轻工等领域 ,可见 AutoCAD 是一个通用的 CAD 软件 。但要使一个通用的 CAD 系统适合自己的专业工 作需要 ,达到使用方便的要求 ,就必须进行二次开发 。在 Au2 toCAD 为用户提供的 Auto L ISP 、A RX、VBA 等开发工具中 , Auto L ISP 是一种简便易学的解释性语言 ,具有很强的数据 表格处理功能 ,是开发 AutoCAD 的一种重要手段[1] 。
2 Auto L ISP 语言的特点简介
Auto L ISP 语言是嵌套于 AutoCAD 内部 ,将 L ISP (List Processing Language) 语言和 AutoCAD 有机结合的产物 ,它 是 AutoCAD 开放式体系结构的具体表现 。使用 Auto L ISP 可直接调用几乎全部 AutoCAD 命令 ,Auto L ISP 语言既具有 一般高级语言的基本结构和功能 ,又具有一般高级语言所没 有的强大的图形处理功能 ,是当今世界上 CAD 软件广泛采用 的语言之一[2 ] 。
(setq x (dimx_tile image_name) ) ( setq y ( dimy_tile im2 age_name) )
( start_ image image _ name) ( slide _ image 0 0 x y file _ name) (end_image) )
(def un getdata () ; ; ;参数获取子程序 ( setq a (atof (get_tile“key_a”) ) ) ( setq b (atof (get_tile “key_b”) ) ) ( setq c (atof (get_tile“key_c”) ) ) ( setq h (atof (get_tile“key_h”) ) ) ( setq r (atof (get_tile “key_r”) ) ) ) (def un dxdypt (point dx dy / pt) (polar (polar point 0 dx) (/ pi 2) dy) ) ; ; ;坐标变换子程序 (def un draw () ; ; ;图形绘制子程序 ( setq o s ( getvar“OSMOD E”) ) ( setvar“OSMOD E”0) ( setq basept (getpoin“t \ n 基点 :”) )
·70 ·
现代机几种方式 : 1) 命令行方式 ,用 Load 函数装载 :co mmand : (load“驱动 器 :\ \ 路径\ \ 文件名”) [3] 2) 对话框方式 ,选择下拉菜单“工具”→“Auto L ISP”→ “加载”选项 ,会出现“加载/ 卸载应用程序”对话框 ,选择所需 加载的 L ISP 文件 ,点击加载即可[3] 。 3) 自动加载 ,在 AutoCAD 工 作 目 录 下 有 一 个 ACAD. L SP 文件 ,它是 AutoCAD 启动时自动装载的 Auto L ISP 程 序 。用户想要在 AutoCAD 启动时自动装入自己定义的程 序 ,在 ACAD. L SP 文件中加入 (load“驱动器 :\ \ 路径\ \ 文件 名”) 即可[3 ] 。 在 AutoCAD 环境中 ,相关程序被装载后就可以运行了 。 运行时 ,在 command :提示符下键入 def un 定义的程序名 ,就 会出现相应的对话框 ,输入相关的参数后确定 ,根据提示 ,选 取绘图基点 ,就可以绘出所需的图形 。
计算机应用
文章编号 :1002 - 6886 (2006) 04 - 0069 - 03
基于 Auto L ISP 的 AutoCAD 参数化绘图
周陶勇 ,李珊 ,王磊 ,邓绪勇
( 昆明理工大学 机电工程学院 , 云南 昆明 650093)
·69 ·
摘要 :通过对 Auto L ISP 语言的分析与研究 ,探讨了基于 Auto L ISP 的 AutoCAD 参数化绘图程序设计的基本步骤 。本文以 钣金折弯件的参数化绘图为例 ,应用 L ISP 语言编写工程图的参数化绘制程序 ,应用 DCL 语言创建人机交流的对话框 ,并且 详细阐述了其实现过程 。实践表明 ,Auto L ISP 语言功能强大 ,易学易用 ,是 AutoCAD 二次开发的重要工具 。 关键词 :Auto L ISP AutoCAD 参数化绘图 二次开发 中图分类号 : T H126. 2 文献标识码 :A
3) 按照图形需要 ,编写绘图程序 。用 DCL 语言定义好的 对话框只是一个界面描述 ,不能独立地运行 ,只有以 PDB 函 数为基础的 L ISP 程序来驱动 ,才能实现指定的功能 ,获取用 户输入的绘图参数[2] 。根据获取的绘图参数 ,按照图形需要 , 进行相关的坐标变换 ,编写相应的图形绘制程序 。
Auto L ISP 语言的一个最大特点是语法较为简单易懂 , 比用其它语言 (如 A RX、VBA 等) 开发 AutoCAD 的应用程序 更易于掌握 ,所以被广泛地应用于 AutoCAD 的二次开发上 。 此外 ,Auto L ISP 语言还能够利用 PDB 函数驱动 DCL (Dialog
Cont rol Language) 文件创建自己的对话框[2] 。 Auto L ISP 语言最典型的应用之一就是实现参数化绘图
ue =“40”;} :edit_bo x{key =“key_c”;label =“钣金件长度 C = ”;val2
ue =“50”;} :edit_ box{ key =“key_ h”; label =“钣金件厚度 H = ”;
value =“5”;} :edit_bo x{key =“key_r”;label =“折弯内圆角 R = ”; val2
4 参数化绘图程序设计的应用实例
下面以钣金折弯件的参数化绘图为例 ,用 DCL 语言创建 人机交流的对话框 ,用 L ISP 语言编写工程图的参数化绘制 程序 ,并详细阐述其实现过程 。
1) 根据对钣金折弯件的结构特征的分析 ,确定钣金件弯 边 (A) 、钣金件弯边 (B) 、钣金件长度 ( C) 、钣金件厚度 ( H) 、折 弯内圆角 ( R) 等为绘图参数 。
2) 根据钣金折弯件的绘图参数 ,用 DCL 语言编写钣金折 弯件绘图程序的对话框文件 (e :\ x\ bj. dcl) 。考虑到程序的可 读性 ,增加一个图像按钮 ,用幻灯片文件 (e :\ x\ bj. sld) 来显示 各绘图参数的含义 。
bj :dialog{label =“钣金折弯件”; :row{ :image{key =“key_image”; widt h = 18 ;aspect _ ratio = 0.
1 ;color = - 2 ;} :boxed_column{label =“钣金折弯件参数 :”; :edit_bo x{key =“key_a”;label =“钣金件弯边 A = ”;val2
ue =“30”;} :edit_bo x{key =“key_b”;label =“钣金件弯边 B = ”;val2
ue =“5”;}}} o k_cancel ;} 3) 根据绘图参数 ,按照图形需要 ,用 L ISP 语言编写钣金
折弯件的参数化绘图程序 (e :\ x\ bj. lsp) 。 (def un C :BJ () ; ; ;钣金折弯件绘图主程序 ( setq index_ value (load _ dialog“e : \ x \ bj. dcl”) ) ( setq
what_next 2) (while ( > = what_next 2) (if (not ( new _ dialog“bj”index_ value) ) (exit ) ) ( show
“key_image”“e :\ x\ bj. sld”) (actio n_tile“accept ”“( getdata) ( done_ dialog 1) ”) (ac2
4) 装载相关程序 ,绘制所需图形 。在编辑器下编辑好的 L ISP 程序 ,必须经过加载方能使用 。
作者简介 :周陶勇 (1973 —) ,男 ,安徽枞阳人 ,工程师 ,硕士研究生 ,主要研究方向 :数字化设计与制造 。 收稿日期 :2005 - 12 - 12
© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved.
程序设计[2] ,本文以钣金折弯件的参数化绘图为例 ,说明 Au2 to L ISP 在 AutoCAD 二次开发中的应用 。
3 参数化绘图程序设计的基本步骤
所谓参数化绘图 ,是指用户根据参数对话框的提示 ,输入 相关的参数 ,就能生成所需的图样 。为此就要进行相应的程 序设计 ,对于一般的参数化绘图的程序设计 ,可以遵循以下步 骤:
相关文档
最新文档