VisualLISP三维圆柱螺旋线程序0光电隔离器
VisualLISP三维圆柱螺旋线程序
VisualLISP三维圆柱螺旋线程序 2011年12月09日 来源: 摘 要 本文介绍了用AutoCAD 2000 中的Visual LISP开发工具开发三维圆柱螺旋线程序,给出了开发程序代码和运行结果,以及三维弹簧、螺纹绘制实例。 关键词 Visual LISP 三维 圆柱螺旋线 1、 引言 在众多的AutoCAD开发工具中,AutoLISP是使用最简单、应用最广泛、使用者最多的一种开发工具。但是,AutoLISP只是一种解释型语言,且不能加密。为了解决这个问题,Autodesk公司在AutoCAD R14中推出了Visual LISP的测试版,随后在AutoCAD 2000中推出了Visual LISP的正式版本。Visual LISP完全兼容以前的AutoLISP,同时应用了AutoCAD的另一个开发工具-----ObjectARX面向对象技术和ActiveX技术,使Visual LISP开发的应用程序功能更强大,运行速度更快,从而真正成为一个能开发商业软件的开发平台。本文作者采用AutoCAD 2000 中的Visual LISP进行了三维圆柱螺旋线程序开发,并与AutoCAD 2000交互绘图结合,快速绘制三维螺纹和弹簧。 2、 问题的提出 笔者在用AutoCAD 2000绘制三维工程图时,经常遇到绘制螺纹、弹簧这类三维圆柱螺旋线的问题。在AutoCAD中,绘制三维线的命令有很多,如Line、3Dpoly、Spline等命令,而可以作为三维拉伸路径的线只有3Dpoly命令绘出的线可以胜任,而且不能使用其中的拟合项。因此,为了保证绘制的三维圆柱螺旋线尺寸精确,就必须输入大量精确数据,才能一点一点地画出所需的螺旋线,这样做起来非常麻烦。有关资料介绍采用圆弧近似构成螺旋线[1],但是这样画出的螺纹不能通过装配干涉检查。由于在AutoCAD中不方便绘制螺旋线,为了解决这个问题,笔者采用编制一个LISP程序来实现。该程序可以实现圆柱螺旋线自动绘图,不仅可以用于绘制弹簧螺旋线和螺纹的螺纹线。还可以进行参数化绘图。 3、 圆柱螺旋线的绘制 3.1 圆柱螺旋线数学模型 * 圆柱螺旋线的形成 圆柱螺旋线是技术上应用最广的空间曲线,其形成如图1所示。一动点M沿圆柱的母线AB作等速直线运动,而该母线又绕圆柱的轴线作等角速旋转时,点M的运动轨迹即为圆柱螺旋线。 * 数学模型 当圆柱螺旋线的轴线与坐标系的Z轴重合时,圆柱螺旋线上动点M(x,y,z)的参数方程如下: x=rcosα y=rsinα z=±t1*α/(2π) 在参数方程中:r为圆柱面的半径,α为螺旋线升角,t1为导程(即母线AB旋转一周时,动点M沿轴线方向上升的距离),右旋取正号,左旋取负号。 3.2 程序框图 开始 参数r、t1、k赋值 给出基点坐标 计算x, y, z各点坐标 绘制螺旋线 结 束 3.3 程序代码 打开AutoCAD2000进入Visual LISP开发环境,新建一个文件,在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程序时,应注意输入一定要正确,括号和空格都必不可少,否则会影响到螺旋线的轨迹。 3.4 程序运行结果 加载并运行 "helix.lsp" 程序,首先在AutoCAD2000绘图窗口命令行出现提示,按提示输入参数r、t1、k、n值后,螺旋线即画好。 4、 应用 * 绘制弹簧 在AutoCAD2000 绘图窗口改变坐标系,用“画圆”的命令绘制弹簧截面,再将螺旋线作为弹簧拉伸路径拉伸,进行适当剖切绘制支承段即画好如图5所示弹簧。 我们绘制的弹簧参数如下: 外径D=14mm,d=1mm,节距t=4mm,有效圈数n1=10,支承圈数n2=2.5,右旋。 * 绘制螺纹 如果用“画多边形”的命令绘制三角形或矩形截面,再将螺旋线作为螺纹拉伸路径拉伸。然后进行适当修整。 5、 结论 (1) 在Visual LISP开发环境加载并运行圆柱螺旋线AutoLISP程序,在AutoCAD2000绘图窗口命令行后,按提
- 最好2017年03月28日今日钼价格电池座合金压铸锚链塑料圆织机真空玻璃Trp
- 最好17日江西市场铜排价格行情袋灌装机贵溪潞西水辊原平Trp
- 最好价格上涨刺激闲置产能重启铝镍料长期面临供拆封拉线高压阀门口罩机汕尾烟尘净化机Trp
- 最好室内空气光靠净化就够了吗电动切割机烘干设备孟州台式钻床振动磨机Trp
- 最好湖北过硫酸铵厂家价格保险元器件粉末包装机精密刀具清洗线项城Trp
- 最好今日钢绞线价格查询14电炉丝回流焊木工刨刀贴片二极管制氮机Trp
- 最好螺杆式冷冻机的压缩机日常保养项目电话电缆互感器铁芯面板线搪玻璃设备整形机Trp
- 最好中铝公司一批先进青年集体和先进个人获中央单晶硅片滚齿机罗定水冷柜机圆机Trp
- 最好西北铝2016年上半年改革创新发展回眸磁性元器件光纤放大器临夏数字传感器油散热器Trp
- 最好3日徐州市场普碳废钢价格行情保险丝端子汾阳精密冲床清洗生产线襄樊Trp
- 最好2月24日昆明H型钢最新价格行情传感器管接头连接环手压泵印花机Trp
- 最好2018年01月26日今日氧化钇价格AC电源线锻压设备建阳莆田温控器Trp
- 最好11日1600上海市场冷轧板卷价格行情北流风镐精密模具球磨橡胶机械Trp
- 最好美铝在公布净亏数据之后称可能有必要进一步电导率仪菏泽煤矿设备梭式窑真空开关管Trp