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

合集下载

基于AutoLISP的AutoCAD参数化绘图

基于AutoLISP的AutoCAD参数化绘图
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 ] 。

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令

用LISP语言自定义AutoCAD命令LISPAutoCADAutoLISP语言作为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”在绘制机械零件图时,经常要画螺纹孔的剖视图,同样由于螺纹孔的有关尺寸都随螺纹的公称直径而变化,我们可以用下面的程序自动完成其剖视图的绘制。

基于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 软件, 以其完善的绘图功能、良好的用户界面、易学易用的特点,受到了广大工程技术人员的普遍欢迎。

基于VisualLISP的AUTOCAD绘图命令的二次开发

基于VisualLISP的AUTOCAD绘图命令的二次开发

3 命令在命令行的应用过程
首先在命令行中键入 bm 后空格, 系统提示 请输入 基准代号的插入点: , 输入插入坐标或者拾取点后会弹出 如图 1所示的对话框。
图 1 基准代码对话框
在对话框中输入指定的选项 , 确认后即可得到自定制 的基准代号。
4 结论
V isual L ISP 是简单易懂的 AUTOCAD 二次开发软件, 使用该语言可以方便地开发出适用的常用工作图形符号, 本文旨在为 V isual L ISP 的命令开发过程作详细解释。
第 9卷
第 5期
漯河职业技术学院学报
Jou rnal of Lu ohe V ocational T echnology Co llege
Vo. l 9 No. 5
Sep . 2010
2010年 9 月
do : i 10 . 3969 / .j issn. 1671 7864 . 2010 . 05 . 011
0 引言
A utoCAD 是由美国 A utodesk 公司于 20 世纪 80 年代 初为微机上应用 CAD 技术而开发的绘图程序软件包 , 经 过不断完善 , 现 已经成为国际 上广为 流行的绘 图工具。 AutoCAD 允许用户定制菜单和工具栏, 并能利用内嵌语言 Autolisp 、 V isual L isp、 VBA、 ADS、 ARX 等 进行 二次 开发。 AutoCAD 是在 R2. 1版本开始嵌入 L ISP 语言的一个增强 了针对性的子集 Au toLISP , 自 R14 版本开始 , Au todesk 公 司推出了 V isualL ISP, 更进一步方便了用户对 L ISP 的使 [ 1] 用 。 在日常的绘图工作中, 常常需要定制一些软件没有的 特定图形符号, 虽然可以使用复制或定制块的形式实现 , 但将常用命令开发成类似于 Au toCAD 的内部命令对使用 者来说是非常有吸引力的。 V isual L ISP 语言可以很方便地调用 AutoCAD 的内部 命令 , 在可视化的界面进行编辑 , 完全可以胜任一般绘图 命令的二次开发。 对话框控制语言 D ialog C on trol Language( 简称 DCL) 也是内置于 AUTOCAD 中, 它弥补了 Au toLISP语言在对话 框功能上的不足 , 但可以很方便地通过 LISP 架设与 DCL 语言对话的桥梁。

基于AutoLISP语言的参数化设计绘图系统

基于AutoLISP语言的参数化设计绘图系统

基于AutoLISP语言的参数化设计绘图系统
王盛智
【期刊名称】《辽宁石油化工大学学报》
【年(卷),期】2003(023)001
【摘要】介绍使用AutoLISP语言做为开发工具的计算机辅助机械设计开发系统,系统除具备通常交互式绘图软件所有的二维绘图功能外,还提供了常用的三维零件参数化建模及使用AutoLISP语言开发计算机辅助机械设计应用系统所必需的函数库.增加了系统初始化设置、比例计算、图纸幅面、绘图比例、线型设置、标题栏处理、明细表处理、符号标注、标准件图库等函数库.编制了常用的几何作图及圆弧连接函数,为用户编写参数化绘图程序提供了必要的条件.增加了通用数据输入对话框,用户不必掌握DCL语言也可编写出人机交互性较好的应用程序.使用该系统可以最简捷的方法快速地开发出极具有专业化的AutoCAD应用产品.
【总页数】4页(P69-72)
【作者】王盛智
【作者单位】辽宁石油化工大学机械学院,辽宁抚顺,113001
【正文语种】中文
【中图分类】TH126.2
【相关文献】
1.基于AutoLISP语言参数化绘图的实现 [J], 黄淑娟
2.基于AutoLISP语言的参数化绘图设计 [J], 周华勇;张红梅;王录林
3.利用AutoLISP语言为AutoCAD系统配设专用辅助绘图工具库 [J], 李达莱
4.基于AutoLISP的渐开线圆柱齿轮参数化设计及绘图系统 [J], 王永;郭钢;蒋晶;黄红涛;潘军远
5.基于Pro/E的参数化设计及绘图系统的开发 [J], 陶宇;平雪良;董宁;叶晶
因版权原因,仅展示原文概要,查看原文内容请购买。

用VLISP开发AutoCAD

用VLISP开发AutoCAD
计 算 机 5.2.2 用VLISP开发AutoCAD 辅 一、概述 二、AutoLISP编程 助 三、AutoLISP函数 设 四、VLISP的基本操作 五、编辑源程序代码 计
六、调试程序 七、构造应用程序 八、用VLISP开发AutoCAD实例
A u t o C A D 定 制 与 开 发
一、概述
首页
上页
返回
下页
结束
2
A u t o C A D 定 制 与 开 发
用VLISP开发AutoLISP程序步骤
i.
ii. iii. iv. v. vi.
考虑程序所要完成的任务以及如何实现 这个任务。 设计程序。 编写代码。 规范代码格式。 检查程序中的错误。 测试和调试程序。
首页 上页 返回 下页 结束 3
VLISP是为加速AutoLISP程序开发而设计的软 件开发工具,它提供了一个完整的集成开发环境, 包括文本编辑器、格式编排器、语法检查器、源代 码调试器、检验和监视工具、文件编译器、工程管 理系统、上下文相关帮助与自动匹配功能和智能化 控制台等。在VLISP集成环境下可以便捷、高效地 开发AutoLISP程序,可得到运行效率更高、代码更 加紧凑、源代码受到保护的应用程序。
首页 上页 返回 下页 结束 5
A u t o特点(示例)
1)由于AutoLISP的一切成分都是函数,而函数又以表 结构形式存在,所以AutoLISP的所有括号都需要左右匹配。 2)AutoLISP程序阅读函数时,按从左到右的规则进行。 3)AutoLISP采用前缀表示法,将函数名放在所有操作 数之前。表中的函数与参数,各参数之间均至少要一个空 格来分开。 4)两个表之间和表内的多余空格和回车是不需要的, 故一个表可占多行,一行也可写多个表。如:(setq x 25.0) (setq y 12.2) (+(*x y) x) 5)AutoLISP程序中可以使用分号(;)作注释。

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

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

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

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

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

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

在AutoCAD图形平台中用Visual LISP语言编程对双曲线冷却塔筒壁模板分节进行计算

在AutoCAD图形平台中用Visual LISP语言编程对双曲线冷却塔筒壁模板分节进行计算

在AutoCAD图形平台中用Visual LISP语言编程对双曲线冷却塔筒壁模板分节进行计算摘要:完善了双曲线冷却塔筒壁模板分节施工数据的计算方法,回避曲线方程和解联立方程组。

AutoCAD和LISP交互工作,使该数据能更加精确地模拟筒壁外形曲线。

不论上环梁、下环梁采用指数变厚、线性变厚等不同设计情况,该程序均能完美解决。

关键词:AutoCAD;Visual LISP;双曲线冷却塔;分节计算;样条曲线一AutoCAD 和Visual LISP简介AutoCAD从1982首发到至今的AutoCAD 2019版本,广泛用于二维绘图、详细绘制,现已经成为国际上广为流行的绘图工具。

是一个较为成熟的绘图平台,它除了具有强大的编辑功能外,还具有图数互访的功能,图即是数,数即是图,矢量方式表达,虽经多极放大或缩小,仍能保持精度不变。

AutoLISP 是为二次开发AutoCAD而专门设计的,起源于LISP语言,是LISP语言和AutoCAD有机结合的产物,嵌入在AutoCAD内,针对AutoCAD增加了许多功能,具有AutoCAD强大的图形编辑功能的特点。

在AutoCAD 2000开始集成了Visual LISP语言,提供了更开放的二次开发环境。

它与AutoLISP完全兼容,又提供了AutoLISP的所有功能,能够访问AutoCAD的多文档环境,非常适合于图形的应用和计算。

它可以把AutoLISP程序和AutoCAD的绘图命令透明地结合起来,使设计和绘图完全融为一体,利用AutoLISP语言可以进行各种工程分析计算、自动绘制复杂的图形。

二分节计算冷却塔是火力发电厂中一个重要的水工构筑物。

目前大多数火力发电厂都采用双曲型自然通风冷却塔。

这种冷却塔的外形是由内、外筒壁表面曲线绕冷却塔中心轴旋转形成的壳体,其纵截面中心线(母线)就是双曲线。

筒壁模板施工是由底部逐渐向上循环交替进行的,直至塔顶,一般塔顶最后一节是非标准节。

Visual LISP程序设计 for AutoCAD

Visual LISP程序设计 for AutoCAD
8
(续)
三、关于Visual LISP
Vusual LISP是在AutoLISP的基础上开发的,它加速了AutoCAD内 嵌AutoLISP程序开发,并且变成了一个完整的集成开发环境。具 备了相应的其它高级程序语言的一系列功能。
四、 Vusual LISP集成环境
1、进入:打开AutoCAD软件,在命令行输入:vlide,或在下拉菜单
般不用数据溢出。 注:在-1到+1之间的小数必须书写完整,不能将0.5写成.5
实型数可以用科学计数法来表示:如1234.56可以写成1.23456E3 或12.3456E2等。
13

• 字符串(str):是用双引号括起来的字符序列。字符串中的字
母的大小写和空格都有效。
字符串中的字符个数称为字符串的长度。如“1236”的长度为4, “我爱你,中国!”的长度为7, “我爱你 中国!”的长度也为 7。但当字符串中没有任意字符时,其长度为0。如“”长度为0。 又如“ ”的长度为1,因为双引号中有一个空格。
12
第二章:数据类型、表达式和函数
2.1 数据类型
• 1、整型(int):就是整数。由数字和正负号组成。整数的范围是:
-2147483648到+ 2147483647 (约20亿) 这个范围不需要大家强记,计算机存储整数是有一定范围的, 不是任意整数都能存储。
2、实型(real):就是带小数点的数。这个类型的数范围非常大,一
7
第一章:概述
一、关于LISP
LISP(list processing language):广泛应用的一种程序设计语言, 主要用于人工智能,专家系统,博弈等领域。它也被称之为符号 式语言,因为它主要处理对象是符号表达式。

使用Visual LISP编制参数化绘图程序

使用Visual LISP编制参数化绘图程序
�下如码代。宽线或型线、色颜的同不予赋别分上层每�层多� 等3、2、1置设要还要需据根常通�外层0的认默了除层图 �
)”“ 1 5 ”c“ 2 6 ”c“ 3 1 ”c“ 3 ”n“ 2 ”n“ 1 ”n“ ”reyal“ dnammoc(� )”“ 1 4.0 ”wl“ 1 ” suounitnoc“ ”L“ 1 7 ”c“ 1 ”n“ ”reyal“ dnammoc(�
• • • • • • • • • • • • • • • •
图轮带式心实绘数根带和径直准基轮带、号型带据根.5例实
) ))c c gl - ( ip 0 1p ra lop ( p01 p )gl ip 9p ra lo p( p9 p )c 0 p11p ralop( p21p ) 0 )b 5 .0 - * ( t si l( p1 1p qt es( )) 1r )i p 5.0 *( 11 p r al op( 6 p )) c 1 r +( )i p 5 .0 * ( 2p ra lop ( 4p )1 r ) ip 5. 0 *( 3 p r al op( 5 p ) c ip 2 p r al op( 3 p )w r ) ip 5. 1 *( 0 0p ra lop ( 2p qt es( q te s;) )g r ) b 5.0 *( ts il( 1 p ) )c gr - ( ) ip 5. 0 *( 11 p r al op( 8 p ) gr )i p 5 .0 *( 2 1 p r alo p( 7p ) )c zr +( ) ip 5. 0 *( 11 p r al op( 9 p ) zr ) ip 5. 0 *( 21 p r al op( 0 1p )c i p 1 1p ra lo p( 21 p ))) b gl - ( ) b 5 .0 *( + ( 0 )0 0( ' r al op( 1 1p qt es( ))) )z r 5 . 3 * ( ))z r 4 * ( b > (( ) b ) )) zr 3 *( b =>( ))z r 4 * ( b < ( dna (( ) )zr b +( ) )3 z =<( ))z r 3 * ( b < ( dna (( d noc ( gl qt es( qt es ;)) ah r + ( w r ))z r 7.1 * ( x if ( g r )a tl d f h r - ( 1r qt es( ) c^ dn amm oc ( ) )) pp dn amm oc ( b l pp hc aer of ( "en il p" dn amm oc ( ))) 00 p t s il( b l d ne ppa ( bl qt es( el ih w;) )) 1 n + ( n ) ee 0 1p ra lo p( 1p qt es ( )) )4p 3 p 2 p 1p ts il( b l dne pp a( bl qt es ( ))2 l )i ahp ) ip 5. 1 * ( - ( 4 p ral op ( 3 p ) 3l 0 1p ra lop ( 4p )2 l ))i p 5.0 * ( iah p - ( 1p ra lo p( 2p qt es ( ) z n < ( e li hw(

CAD二次开发Visual_LISP指南

CAD二次开发Visual_LISP指南
第三章 使用 Visual LISP 调试工具 ............................................ 7 3.1 局部变量和全局变量的区别 ............................................. 7 3.1.1 在程序中使用局部变量 ........................................... 7 3.1.2 检查 gp:getPointInput 函数 ..................................... 8 3.2 使用关联表来捆绑数据 ................................................. 9 3.2.1 使用关联表 .................................................... 10 3.2.2 将 gp:getPointInput 的返回值保存到变量中 ...................... 10 3.3 检查程序变量 ........................................................ 11 3.4 修改程序代码 ........................................................ 12 3.5 给程序代码加注释 .................................................... 14 3.6 设置断点并进行更多监视 .............................................. 15 3.6.1 使用“调试”工具栏 ............................................ 15 3.6.2 单步执行代码 .................................................. 17 3.6.3 单步执行程序时监视变量 ........................................ 17 3.6.4 跳出函数 gp:getPointInput 并进入 C:Gpmain ..................... 18 3.7 第二课回顾 .......................................................... 19

第四讲 使用Visual LISP编制参数化绘图程序

第四讲 使用Visual LISP编制参数化绘图程序

4)环境设置程序实例
• • • • • • • • • • • • • (defun c:hjsz () (command "layer" "n" 1 "n" 2 "n" 3 "c" 1 1 "c" 6 2 "c" 5 3 "l" "center" 1 "") (command "ltscale" 10) (command "style" "st1" "gbeitc.shx,gbcbig.shx" 3.5 0.8 "" "" "") (command "style" "st2" "gbenor.shx,gbcbig.shx" 3.5 0.8 "" "" "") (command "style" "st3" "仿宋_GB2312" 4 0.8 "" "" "") "仿宋_GB2312" 仿宋 (command "dim" "dimtih" "off" "dimtoh" "off" "dimtad" "2" "dimtxt" 3.5 "dimasz" 3.5 "dimexe" 3 "dimexo" 1 "dimtxsty" "st1" "exit") );end

应用AutoLISP 实现AutoCAD 参数化绘图

应用AutoLISP 实现AutoCAD 参数化绘图

1概述AutoCAD是美国AutoDesk公司开发的一个交互式绘图软件,它不仅具有强大的绘图、编辑功能,还具有开放的体系结构,允许用户通过内置的AutoLISP语言实现二次开发。

在CAD的二次开发中,参数化绘图是其中的一项,它可以让设计者自己通过修改设计参数来制作产品零件的模型图形。

参数化绘图已经从传统的模式中摆脱出来,全面的简化了使用者对零件模型的修改过程,从而提高了效率。

2AutoLISP语言特点AutoLISP是一种内嵌式表处理语言,是CAD开放式体系结构的一种体现,同时也是LISP(List Processor)语言和CAD相结合的产物。

AutoLISP语言不仅拥有普通的高级语言所具备的功能,而且还有普通的高级语言所不具备的强大的处理图形的功能。

它最大的好处在于语法简单易懂,易于掌握,可直接调用几乎全部AutoCAD命令,因此被广泛应用于AutoCAD二次开发上。

AutoLISP语言最典型的应用之一就是实现参数化绘图程序设计。

3参数化绘图设计方案3.1绘图对象的选择任何机器或部件都是由若干零件按一定的技术要求装配而成。

零件分为标准件和非标准件两大类。

标准件的结构和尺寸都由标准系列确定,通常由专业厂家生产;而非标准件的结构、形状、大小等需要根据它们在机器或部件中的作用进行设计确定,据此画出每个零件的零件图,以便加工制造。

底板是箱体类零件的一个组成部分,主要起连接、固定零件的作用,一般由中心孔、定位销孔、槽孔等组成,不同的零件,其底板的大小、形状、定位销孔的数量也不同,这些都可以通过改变程序中的设计参数来实现。

在此,以非标准零件中常见的箱体类零件的矩形应用AutoLISP实现AutoCAD参数化绘图王伯黎张兴蓉宜宾职业技术学院四川宜宾644003摘要:通过对AutoLISP语言特点的研究,探讨了基于AutoLisp的AutoCAD参数化绘图程序设计的基本步骤。

以底板参数化绘图为例,详细阐述了应用DCL创建人机交流对话框,应用AutoLISP编写参数化绘图程序的具体过程。

Visual LISP程序设计 for AutoCAD

Visual LISP程序设计 for AutoCAD
• Cdr:返回去掉表中第一个元素之后的表
11

• Cadr:返回表中的第2个元素,常用于获得点坐标的Y坐标值。 • List:返回将任意数目的表达式组合的一个表,如:
(list”a” “b” c) ;返回(A B C) (list ‘a ‘(b c ) ‘d); 返回( A (B C) D) (List 5.1 9);返回(5.1 9) • Cons:当表的第2个元素是一个表时,该函数将总表中的第一个元素插入到 表内作为次表的第一个元素,返回添加这个元素后的表。如: (cons ’a ‘(b c d));返回(A B C D) 如果部表中第二个元素为单独元素则返回原表。如: (cons ‘a ‘b);返回(A B)
• Getcorner:该函数暂停等待用户输入矩形对角点的坐标,返回一个以 当前坐标系下的一个点。如 (getcorner ‘(2 6 ) “please input one point”)
• Car:返回表的第一个元素,如: (car (‘a ‘b ‘c));返回A (car ( 2.3 8));返回2.3
上述要求对我一样有效,请同学们监督。
4
开设这门课的几点说明
1、本专业为什么要开设AutoCAD二次开发这门课?----培 养大家继续学习的需要,培养大家创新精神的需要。
2、本课程的特点----有点难,有点烦,学进去,能赚钱。
3、本门课需要的基础知识----《机械制图》、《AutoCAD 软件的应用》、《计算机基本操作》、 《英语》和《程序
设计基础》。
4、关于教材--很遗憾,本教材不适合初学者,请同学
们上课多记笔记。
5
教学参考书
1 Visual LISP 程序设计,李学志主编,清华大学出版 社

基于Autolisp语言的AutoCAD中盘套类零件参数化设计

基于Autolisp语言的AutoCAD中盘套类零件参数化设计

基于Autolisp语言的AutoCAD中盘套类零件参数化设计盘套类零件的特点是形式多样,难以用一个简单的结构概括。

木文采用参数化法实现盘套类零件的绘制。

该方法基于AutoLisp 语言,在AutoCAD中编写盘套类零件的程序,实现参数化设计,该方法可以方便、快捷地设计盘套类零件,从而提高制图的效率。

标签:AutoCAD Autolisp语言盘套类零件参数化盘套类零件是机械零件中较为常见的典型零件之一,在机械设计绘图中,也经常需要绘制这类零件。

因为此类零件的投影多为直线、矩形和倒角,在AutoCAD中,通常用矩形命令,根据每段的直径、长度等参数,绘制多个矩形进行组合,或者利用直线命令,绘制出中心线一侧的各段线段,然后用镜像命令相对中心线镜像而成,或者利用偏移、修改等命令来完成。

加之倒角、退刀槽等工艺结构,绘制起来比较麻烦,绘图效率较低。

但此类零件基本结构固定,只是尺寸有所不同。

因此,可以考虑用一种编程语言进行编程,采用参数化的方法绘图,虽然前期编程会耗用较多时间,但一旦程序编制完成,遇到此类结构,只要给定参数,就可以用程序自动完成这类图形的绘制,从而实现参数化,达到高效、准确绘图的目的。

在AutoCAD中,提供了多种开发语言和开发环境,Autolisp,ObjectARX,VBA 等高级语言,但AutolispLisp是一种人工智能语言,由于简单易学,在工程图学中占据着重要地位。

本文即利用AutolispLisp语言在AutoCAD2004中,研究其图形的参数化。

一、分析图形的结构,提取图形特性盘套类零件虽然在形式上多种多样(如图1所示),但它们结构有许多相同之处,把相同的结构用参数表示,用这些参数进行组合、改变参数大小即可获得不同的盘套类零件。

二、盘套类零件绘图程序解决方案——参数化法目前运用于Auto CAD 上的图形生成方法主要有:轮廓线法、参数化法、图形元素拼接法、尺寸驱动法(变量化技术的一种)、二维实体投影法。

基于AutoLISP的AutoCAD程序参数化绘图研究

基于AutoLISP的AutoCAD程序参数化绘图研究

基于AutoLISP的AutoCAD程序参数化绘图研究
刘峻;朱敏红
【期刊名称】《机械制造与自动化》
【年(卷),期】2010(039)005
【摘要】通过对程序参数化绘图原理进行分析,研究了AutoLISP语言的特点和AutoLISP编程技术,并结合实例,介绍了用AutoLISP对AutoCAD图形进行的参数化绘图程序设计.实践表明,AutoLISP语言功能强大,易学易用,是AutoCAD二次开发的重要工具.
【总页数】4页(P112-114,141)
【作者】刘峻;朱敏红
【作者单位】扬州大学,机械工程学院,江苏,扬州,225009;扬州江海职业技术学院,江苏,扬州,225101;扬州江海职业技术学院,江苏,扬州,225101
【正文语种】中文
【中图分类】TH12%TP39
【相关文献】
1.基于AutoLisp的参数化绘图程序的设计 [J], 雷萍
2.利用AutoCAD软件包二次开发曲轴零件参数化绘图处理程序的研究 [J], 姜晓
3.基于AutoCAD支撑平台的参数化绘图程序开发 [J], 王得胜;莫华林;王占奎
4.基于AutoCAD2002的Visual LISP参数化绘图程序 [J], 张彦河
5.基于AutoCAD的参数化绘图程序设计 [J], 谢军;江渡
因版权原因,仅展示原文概要,查看原文内容请购买。

用VLISP开发AutoCAD

用VLISP开发AutoCAD

A u t o C A D 定 制 与 开 发
三、 AutoLISP函数
AutoLISP语言提供了200多个函数,每个函数都 可实现一种特定的功能。通过对这些AutoLISP函数 做适当的组合和编排,就可编写一个AutoLISP 程序, 以完成某一特定的操作。因此,可以借助AutoLISP 编程语言,把AutoCAD由一个通用的绘图设计软件 开发成能满足用户特殊需要的专业绘图设计软件。 在AutoLISP 中,函数有两种类型:一种是 AutoLISP所提供的基本函数,另一种是用户自定义 的函数。
首页 上页 返回 下页 结束 6
A u t o C A D 定 制 与 开 发
*AutoLISP 示例*
;;;----------;;;绘制圆心为(100,100),半径为50的圆。 ;;;----------(defun c:My-circle() (setq pt(list 100 100)) (setq r 50) (command “circle” pt r) )
计 算 机 5.2.2 用VLISP开发AutoCAD 辅 一、概述 二、AutoLISP编程 助 三、AutoLISP函数 设 四、VLISP的基本操作 五、编辑源程序代码 计
六、调试程序 七、构造应用程序 八、用VLISP开发AutoCAD实例
A u t o C A D 定 制 与 开 发
一、概述
(entdel ename)
首页 上页 返回 下页 结束 12
A u t o C A D 定 制 与 开 发
*常用AutoLISP基本函数*
设置变量函数 格式:(setq 变量名1 值1[变量名2 值2……]) 功能:创建给定的变量,并赋特定值。 说明: 1)setq函数允许用户同时设置多个变量并 赋予相应的数值。 2)对字符串类型的值,应加上“”以示区 别。 3)各变量名、数值之间只用空格隔开,而 不能用其他标点符号。

AutoCAD环境下Visual LISP应用模块开发

AutoCAD环境下Visual LISP应用模块开发

AutoCAD环境下Visual LISP应用模块开发
万宇杰
【期刊名称】《江汉大学学报(自然科学版)》
【年(卷),期】2005(033)003
【摘要】研究了AutoCAD环境下实现带轮绘制以及绘图环境自动设定的详细过程,提供了一种利用Visual LISP语言进行类标准件的设计方法,其方法对开发其他CAD系统也具有借鉴价值.
【总页数】3页(P91-93)
【作者】万宇杰
【作者单位】江汉大学,机电与建筑工程学院,湖北,武汉,430056
【正文语种】中文
【中图分类】TP391.72
【相关文献】
1.AutoCAD及Visual Lisp语言在有限元前处理中的应用 [J], 王开云;何江达;李莉
2.基于AutoCAD环境下C/Visual C + +应用模块开发 [J], 万宇杰;张剑
3.基于VBA与Visual Lisp的AutoCAD建筑墙体命令开发研究 [J], 孙海玲
4.参数化绘制固结灌浆成果综合平、剖面图基于AutoCAD的Visual Lisp程序设计 [J], 王飞;王耀华;黄孝刚;杨天伟
5.参数化绘制帷幕灌浆综合剖面图基于AutoCAD的Visual Lisp程序设计 [J], 吴冀;黄孝刚;肖术云;赵锡楠
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于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 提供给我们的只是一般的通用CAD功能,如绘图、编辑、标注等,难以满足机械行业的一些特殊要求。

AutoCAD之所以得到广泛应用,另一个重要原因在于它具有开放式的结构体系和众多的系列化产品,并为用户提供了多种二次开发的工具和方法。

使用AutoCAD 二次开发工具,用户可将项目中的计算和绘图过程通过高级语言编制相应的程序,运行该程序,则计算和绘图过程自动完成,不仅大大提高了设计效率,而且通过开发工具可定制出满足行业需要的专业化模块,如国内建筑行业的天正CAD 软件、机械行业的大恒CAD 系统等都是用AutoCAD 开发工具实现的。

因此为了使AutoCAD 真正适用于某一具体领域,或让其经常完成一些重复性的工作,最好利用AutoCAD 的开发工具对其进行二次开发。

我们在开始工程绘图前总要对绘图环境和绘图比例进行设置,每次都做重复的工作势必降低绘图效率;在一张复杂的工程图样中,往往包含着许多形状相似但参数不同的各类标准件,这使得设计中不可避免的要进行大量的标准件绘制工作,从而导致绘图效率降低,并容易出错。

工厂往往是生产某一类产品,其产品的特点常常形状几乎相同,只是大小不同,如果能进行参数化设计将大大提高工厂的设计及产品的应变能力。

本文阐述了综合利用AutoCAD内置的二次开发工具VLISP和VBA及数据库技术,实现图形的参数化设计的具体过程。

课题对AutoCAD二次开发所用到的关键技术进行了比较深入的探讨和比较,并完成了标准图幅的块调用和标准滚动轴承参数化设计工作。

使用户在进行绘图时通过简单命令就可以实现所需图纸绘制,并根据绘图比例自动调整图纸缩放比例以适应1:1绘图的需求;绘图过程中用到的滚动轴承也可通过交互界面找到所需要的标准尺寸系列,自动将参数输入给参数化模块,并在指定位置绘制标准模块。

这种参数化绘图方法极大的提高了绘图效率。

当今CAD技术的主要潮流是参数化造型与变量化造型,而CAD的二次开发技术也正是基于这两大理论之上的。

CAD软件开发的目的是将设计出的软件系统作为设计工具来辅助具体的基于VisualLISP语言的AutoCAD参数化设计机械设计,为工程设计人员创造方便、灵活、高效的设计环境。

在软件开发中要用工程化思想指导开发:首先,二次开发必须符合工程设计的特点;其次,二次开发系统的设计过程应遵循软件工程的方法和步骤。

我们进行二次开发的方法是以机械工程理论及实践为基础,以软件工程论作指导,面向机械设计的实际问题来着手进行。

1.2 目前国内外研究进展概述1.2.1 AutoCAD发展趋势CAD技术作为成熟的普及技术已在企业中广泛应用,并已成为企业的现实生产力。

围绕企业创新设计能力的提高和网络计算环境的普及,CAD技术的发展趋势主要围绕在标准化、开放式、集成化、智能化四方面[7]。

1)标准化除了CAD支撑软件逐步实现ISO标准和工业标准外,面向应用的标准构件(零部件库)、标准化方法也已成为CAD系统中的必备内容,且向着合理化工程设计的应用方向发展。

相关文档
最新文档