您当前的位置:首页>论文资料>参数化设计在AUTOLISP中的应用

参数化设计在AUTOLISP中的应用

资料类别:论文资料

文档格式:PDF电子版

文件大小:1.62 MB

资料语言:中文

更新时间:2024-12-04 10:09:56



推荐标签:

内容简介

参数化设计在AUTOLISP中的应用 信息产业
参数化设计在AUTOLISP中的应用
李林单长吉
(略通学院物理与电子信息工程学院,云南昭通657000)
要:利用AUTOLISP语言实现参数化设计,一方面提高了绘图的效率及准确性,另一方面车富了AUTOCAD图形数据库。摘
关键词:参数化;AUTOLISP:CAD;表处理语言;应用
AUTOLISP是AUTOCAD中嵌入的一种表处理语言,它涵盖了几乎所有的AUTOCAD命令.通过编译LISP程序,实现方便、快捷准确的绘图。LISP语言的一个重要应用就是实现参数化绘图。由于 ATUOCAD中的绘图经常会遇到需要形状类似,但结构尺寸不同的情况,如果采用逐个绘图的方法,增加工作量:参数化绘图能够轻松地解决上述间题。参数化AUTOLISP可以任意添加和修改CAD命令,随意根据需要绘制的图形来增加图形库,因此可以结合所涉及的领域开发相关实用的CAD图形包
CAD制图对于尺寸有一系列的规则,尺寸要求核心内容是:充分必要。LISP语言编辑的图形,尺寸要做到充分必要,能够准确表达图形。尺寸就是参数,参数化设计就是将图形的尺寸作为变量来充实图形库。本文就是通过LISP在参数化的应用来说明其强大的功能。
1绘制曲线
LISP是表处理语言,因此有严格的书写规范,否则很容易出错。同时,LISP语言也是函数调用语言,需要对函数熟练掌握。曲线的绘制是常见的间题,利用LISP语言编辑相对应的程序,保存在文档里,保存格式为.IsP。打开CAD对话框,在命令行输入"AP"命令,会弹出一个对话框,在系统盘里找到编辑的.Isp文件,选择加载,就可以运行该文件。下面根据实例来说明编辑曲线LISP文件。
需要绘制:Y=Asin(X)-Asin(B)的图形。编制程序如下:首先设置用户窗口,窗口包括在2个文本框,名称为txtA和txtB,用来输人A 和B两个参量。
Private Sub CommandButton1_Click()
Application.Quit End Sub
Private Sub CommandButton2_Click()
Dim lineObj As AcadLine
/声明直线的对象参数变量
Dim startPnt(O To 2) As Double
组组
Dim endPnt(O To 2) As Double
/声明直线的起点坐标数/声明直线的终点坐标数
/设置X轴的起始点和终止点
startPnt(0) = 0: startPnt(1) = 0: startPnt(2) = 0 endPnt(0) = 400: endPnt(1) = 0: endPnt(2) = 0
Set lineObj=ThisDrawing.ModelSpace.AddLine (startPnt,
endPnt)
lineObj.color = acRed
/设置Y轴的起始点和终止点
startPnt(O) = 0: startPnt(1) = (CDbl(Me.txtA) + 50): startPnt(2) =0
endPnt(0) = 0: endPnt(1) = CDbl(Me.txtA) + 50: endPnt(2) = 0 Set lineObj = ThisDrawing.ModelSpace.AddLine(startPnt, endPnt) lineObj.color = acBlue
Dim i As Integer For i = 0 To 359
startPnt(O) = i
(# / ) (a = (s
Sin(CDbl(Me.txtB)
startPnt(2) = 0
endPnt(0) = i + 1
·155·
endPnt (1) = CDbl (Me.txtA) *(Sin (i + 1) * 3.141592 /
18O#) Sin(CDbl(Me.txtB)
endPnt(2) = 0
Set
lineObj=
ThisDrawing.ModelSpace.AddLine
(startPnt, endPnt)
lineObj.color = acGreen Next i
/令图形不要超越视口界限
ZoomAll
Set lineObj = Nothing
Unload Me End Sub
2图形块的LISP编制
工程上的配合主要就是轴跟孔的配合,绘制轴,绘制齿轮,绘制键槽,绘制螺栓等,都是常用的,有时候在一幅图中,要反复绘制相同结构的部件。固此,用LISP将这些常用的部件编制成参数化程序,方便调用,提高绘图效率。
对于LISP语言来讲,函数的调用是很重要的,需要熟练了解函数命令返回值的数据类型。Defun函数是一个特殊函数,它的目的是定义用户函数。Defun定义的函数在CAD命令中被调用时,会返回函数值。Defun函数定义体要应用到两种变量:全局变量和局部变量。全部变量是指函数调用后,仍然保留其当前的约束值的变量,在退出CAD之前,全局变量会一直保存在内存中。局部变量包括语言中的形参和局部变量两个部分。由于变量多,因固此在不编制程序之前,要综合考患,除非必要的,应该尽可能设置为局部变量,最大程度上减少全局变量的数目,主要是为了防止变量之间互相冲突窦。当减少了变量数目后,函数间的变量相互之间不干扰,可以顺利实现图形绘制
下面以绘制轴来说明defun函数的应用。(defun zhou (/n I d 1 pO pp p00)
(...(09T (02),(0 0),.asEaa, puEo)(initget 7)
(setg Iz (getdist "n 轴的长度:")(tk1)
/缩制图框
(sfcof Iz 1 1)(initget 7)
/水平对称
(setgn (getint"vn全部轴段数:")
(setq pO (getpoint“(n 轴的左端面中点:")pp pO i 1)
.. .S Jael. pueuo)(while (<= i n)
(prompt(strcat“输人第"i"轴段数据:")terpri)(setq d (getdist "in 轴段直径 d=2")d(* cof d)(setq 1 (getdist "vn 轴段长度 [=2")I(* cof I)(setg pO (xt pO d)
(set (read (strcat "s" (itoa i)(entlast) aqa:( +T) I bjas)
(command "layer" "s" 1 ="
"line" (polar pp pi 5)(setq pe (polar p00 0 5)"") (下转 156 页)
作者简介:李林(1964-),男,云南昭通人,略通学院物理与电子信息工程学院,制教投。研究方向:大学物理教学与科研
上一章:浅谈代建管理的模式、利弊以及取费 下一章:基于灰度共生矩阵的遥感影像纹理分析方法

相关文章

AutoCAD 及 AutoLisp 语言在规划建筑红线放线测量中的应用 基于VB的Solid﹢Edge变量化设计在法兰设计中的应用 射频识别技术在定制化产品柔性制造系统中的设计与应用 AMESim在双向液压锁性能分析及结构参数设计中的应用 微波技术在酯化反应中的应用 液压集成块3维参数化设计研究与应用 电动调节阀参数化设计应用研究_华利敏 能量泛函正则化模型在图像恢复中的应用