筷子厂家
免费服务热线

Free service

hotline

010-00000000
筷子厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

机械网--Visual LISP三维圆柱螺旋线程序

发布时间:2021-11-19 14:24:03 阅读: 来源:筷子厂家

摘 要  本文介绍了用AutoCAD 2000 中的Visual LISP开发工具开发3维圆柱螺旋线程序,给出了开发程序代码和运行结果,和3维弹簧、螺纹绘制实例。关键词  Visual LISP 3维 圆柱螺旋线1、 引言在众多的AutoCAD开发工具中,AutoLISP是使用最简单、利用最广泛、使用者最多的1种开发工具。但是,AutoLISP只是1种解释型语言,且不能加密。为了解决这个问题,Autodesk公司在AutoCAD R14中推出了Visual LISP的测试版,随后在AutoCAD 2000中推出了Visual LISP的正式版本。Visual LISP完全兼容之前的AutoLISP,同时利用了AutoCAD的另外1个开发工具-----ObjectARX面向对象技术和ActiveX技术,使Visual LISP开发的利用程序功能更强大,运行速度更快,从而真正成为1个能开发商业软件的开发平台。本文作者采取AutoCAD 2000 中的Visual LISP进行了3维圆柱螺旋线程序开发,并与AutoCAD 2000交互绘图结合,快速绘制3维螺纹和弹簧房屋拆迁补偿款包含哪些。2、 问题的提出笔者在用AutoCAD 2000绘制3维工程图时,常常遇到绘制螺纹、弹簧这类3维圆柱螺旋线的问题。在AutoCAD中,绘制3维线的命令有很多,如Line、3Dpoly、Spline等命令,而可以作为3维拉伸路径的线只有3Dpoly命令绘出的线可以胜任,而且不能使用其中的拟合项。因此,为了保证绘制的3维圆柱螺旋线尺寸精确,就必须输入大量精确数据,才能1点1点地画出所需的螺旋线,这样做起来非常麻烦。有关资料介绍采取圆弧近似构成螺旋线[1],但是这样画出的螺纹不能通过装配干涉检查。由于在AutoCAD中不方便绘制螺旋线,为了解决这个问题,笔者采取编制1个LISP程序来实现。该程序可以实现圆柱螺旋线自动绘图,不但可以用于绘制弹簧螺旋线和螺纹的螺纹线。还可以进行参数化绘图。3、 圆柱螺旋线的绘制3.1 圆柱螺旋线数学模型* 圆柱螺旋线的构成圆柱螺旋线是技术上利用最广的空间曲线,其构成如图1所示商品房拆迁怎么补偿。1动点M沿圆柱的母线AB作等速直线运动,而该母线又绕圆柱的轴线作等角速旋转时,点M的运动轨迹即为圆柱螺旋线。* 数学模型 当圆柱螺旋线的轴线与坐标系的Z轴重合时,圆柱螺旋线上动点M(x,y,z)的参数方程以下:x=rcosα  y=rsinαz=±t1*α/(2π) 在参数方程中:r为圆柱面的半径,α为螺旋线升角,t1为导程(即母线AB旋转1周时,动点M沿轴线方向上升的距离),右旋取正号,左旋取负号。3.2 程序框图开始 参数r、t1、k赋值 给出基点坐标计算x, y, z各点坐标绘制螺旋线结 束3.3 程序代码打开AutoCAD2000进入Visual LISP开发环境,新建1个文件,在Visual LISP文本编辑器窗口进行程序代码编制。  绘制圆柱螺旋线的AutoLISP程序代码以下:; This program is using for drawing a helix(setq b1 (getpoint "请输入基点:")) (setq r (getreal "半径 r=:"))(setq t1 (getreal "节距 t1=:"))(setq k (getint "段数 k=:"))(setq n (getint "圈数 n=:")) (setq ta (/ (* 2 3.14159) k))(setq j1 (/ t1 k))(setq a 0)(setq jj 0)(setq ii 0)(command "ucs" "o" b1)(command "3dpoly" (list r 0 0))(repeat n(repeat k(setq jj (+ jj 1))(setq a (+ ta a))(setq x (* r (cos a)))(setq y (* r (sin a)))(setq z (* j1 jj))(setq p2 (list x y z))(command p2))(setq ii (+ ii 1))(setq z (* t1 ii)))(command "" )段数k 最好为36或36的倍数(72)。绘弹簧时,n为弹簧的总圈数;绘螺纹时,若螺纹的长度为L,则n=L / t1。将这个LISP程序保存为“helix.lsp"。在编写LISP程序时,应注意输入1定要正确,括号和空格都必不可少,否则会影响到螺旋线的轨迹。3.4 程序运行结果加载并运行 "helix.lsp" 程序,首先在AutoCAD2000绘图窗口命令行出现提示,按提示输入参数r、t1、k、n值后,螺旋线即画好。4、 利用 * 绘制弹簧在AutoCAD2000 绘图窗口改变坐标系,用“画圆”的命令绘制弹簧截面,再将螺旋线作为弹簧拉伸路径拉伸,进行适当剖切绘制支承段即画好如图5所示弹簧。我们绘制的弹簧参数以下:外径D=14mm,d=1mm,节距t=4mm,有效圈数n1=10,支承圈数n2=2.5,右旋。* 绘制螺纹如果用“画多边形”的命令绘制3角形或矩形截面,再将螺旋线作为螺纹拉伸路径拉伸。然落后行适当修整。5、 结论(1) 在Visual LISP开发环境加载并运行圆柱螺旋线AutoLISP程序,在AutoCAD2000绘图窗口命令行后,按提示输入不同的参数,即可绘制所需要的3维圆柱螺旋线。故此,可以参数化快速绘制各种3维螺纹和弹簧。(2)之前AutoLISP利用程序要另找文本编辑器编写源代码,然后回到AutoCAD中加载运行,不便于程序的调试。用Visual LISP 集成开发环境,我们可以在1个单独的环境中实行文本编辑、程序调试、与AutoCAD及其他利用程序的交互等操作,极大地方便了AutoCAD的2次开发,满足技术人员AutoCAD的2次开发需要。(end)资讯分类行业动态帮助文档展会专题报道5金人物商家文章