VisualLISP开发三维圆柱螺旋线程序_第1页
VisualLISP开发三维圆柱螺旋线程序_第2页
VisualLISP开发三维圆柱螺旋线程序_第3页
VisualLISP开发三维圆柱螺旋线程序_第4页
VisualLISP开发三维圆柱螺旋线程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、visual lisp开发三维圆柱螺旋线程序作者: 文章來源:cad世界网 点击数:2286更新时间:2005-3-17摘 要本文介绍了用autocad 2000中的visual lisp开发工具开发三维恻柱螺旋线程序,给出了开发程序代码和运行结果,以及三维弹簧、螺纹绘制实例。关键词 visual lisp三维圆柱螺旋线1、引言在众多的autocad开发工具中,autolisp是使用最简单、应用最广泛、使用者最多的一种开发工具。但是,a utolisp只是一种解释型语言,且不能加密。为了解决这个问题,autodesk公司在autocad r14中推;i1t visual l isp的测试版,随

2、后在autocad 2000中推出了 visual lisp的正式版本。visual lisp完全兼容以前的autolisp, 同时应用了 autocad的另一个开发工具-objectarx面向对象技术和activex技术,使visual lisp开发的应用程 序功能更强大,运行速度更快,从而真正成为一个能开发商业软件的开发平台。本文作者采用autocad 2000屮的 visual lisp进行了三维恻柱螺旋线程序开发,并与autocad 2000交互绘图结合,快速绘制三维螺纹和弹簧。2、问题的提出笔者在用autocad 2000绘制三维工程图时,经常遇到绘制螺纹、弹簧这类三维圆柱螺旋线的问

3、题。在autoc ad屮,绘制三维线的命令有很多,如line、3dpoly、spline等命令,而可以作为三维拉伸路径的线只有3dpoly命 令绘出的线可以胜任,而且不能使用其中的拟合项。因此,为了保证绘制的三维圆柱螺旋线尺寸精确,就必须输入 大量精确数据,才能一点一点地画出所需的螺旋线,这样做起來非常麻烦。有关资料介绍采用i员i弧近似构成螺旋线1, 但是这样画出的螺纹不能通过装配干涉检查。由于在autocad中不方便绘制螺旋线,为了解决这个问题,笔者釆用 编制一个lisp程序來实现。该程序可以实现圆柱螺旋线自动绘图,不仅可以用于绘制弹簧螺旋线和螺纹的螺纹线。还可以进行参数化绘图。3、圆柱螺旋

4、线的绘制3圆柱螺旋线数学模型*圆柱螺旋线的形成鬪柱螺旋线是技术上应用最广的空间曲线,其形成如图1所示。一动点m沿岡柱的母线ab作等速直线运动, 而该母线乂绕圆柱的轴线作等角速旋转时,点m的运动轨迹即为圆柱螺旋线。*数学模型当圆柱螺旋线的轴线与坐标系的z轴重合时,圆柱螺旋线上动点m (x, y, z)的参数方程如下:x=rcosay=rsinaz=±tl*a/(27i)在参数方程屮:1为圆柱面的半径,a为螺旋线升角,tl为导程(即母线ab旋转一周时,动点m沿轴线方向上 升的距离),右旋取正号,左旋取负号。3.2程序椎图开始参数r、tl、k赋值给岀基点坐标计算x, y, z各点坐标绘制螺

5、旋线结朿3.3程序代码打开autocad2000进入visual lisp开发环境,新建一个文件,在visual lisp文本编辑器窗口进行程序代码 编制。绘制圆柱螺旋线的autolisp程序代码如下:;this program is using for drawing a helix(setq bl (getpoint ”请输入棊点:n)(setq r (getreal ”半径 r=: h)(setq tl (getreal ”节距 tl=: h)(setq k (getint(setq n (getint(setq ta (/(*(setq jl (/ tl”段数 k=: ”)”圈数 n=

6、: n)2 3.14159) k)k)(setq a 0)(setq jj 0)(setq ii 0)(command hucsn non bl)(command "3dpoly" (list r 00)(repeat n(repeat k(setqjj(+jj1)(setqa(+taa)(setqx(*r(cosa)(setqy(*r(sina)(setqz(*jljj)(setq p2 (list x y z)(command p2)(setq ii (+ ii1)(setq z (* tl ii)(command hh )段数k最好为36或36的倍数(72) o绘弹簧

7、时,n为弹簧的总圈数;绘螺纹时,若螺纹的长度为l,则n=l / tlo将这个lisp程序保存为“helix.lsp”。在编写lisp程序时,应注意输入一定要正确,括号和空格都必不可少,否则会影响到螺旋线的轨迹。3.4程序运行结果加载并运行”helix.lsp”程序,首先在autocad2000绘图窗口命令行出现提示,按提示输入参数r、tl、k、n值 后,螺旋线即画好。4、应用*绘制弹簧在autocad2000绘图窗口改变坐标系,用“画恻”的命令绘制弹簧截而,再将螺旋线作为弹簧拉伸路径拉伸,进 行适当剖切绘制支承段即画好如图5所示弹簧。我们绘制的弹簧参数如下:外径d=14mm, d=lmm,节距t=4mm,有效圈数nl=10,支承圈数“2=2.5,右旋。*绘制螺纹如果用“画多边形,,的命令绘制三角形或矩形截面,再将螺旋线作为螺纹拉伸路径拉伸。然后进行适当修整,我们 可以得到如图6所示螺纹。5、结论(1) 在visual lisp ')发环境加载并运行圆柱螺旋线autolisp程序,在autocad2000绘图窗口命令行后,按 提示输入不同的参数,即可绘制所需耍的三维圆柱螺旋线。故此,可以参数化快速绘制各种三维螺纹和弹簧。(2) 以前autolisp应用程序要另找文本编辑器编写源代码,然后冋到autocad中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论