佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
CAD/CAM软件
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
Visual LISP三维圆柱螺旋线程序
newmaker
欢迎访问e展厅
展厅
1
CAD/CAM软件展厅
CAD软件, CAD/CAM, CAM, 钣金CAD/CAM, CAI, ...
摘 要  本文介绍了用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绘图窗口命令行后,按提示输入不同的参数,即可绘制所需要的三维圆柱螺旋线。故此,可以参数化快速绘制各种三维螺纹和弹簧。

(2)以前AutoLISP应用程序要另找文本编辑器编写源代码,然后回到AutoCAD中加载运行,不便于程序的调试。用Visual LISP 集成开发环境,我们可以在一个单独的环境中执行文本编辑、程序调试、与AutoCAD及其他应用程序的交互等操作,极大地方便了AutoCAD的二次开发,满足技术人员AutoCAD的二次开发需要。(end)
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (5/25/2005)
查看更多CAD/CAM软件相关文章: more
·迪卡侬利用欧特克衍生式设计重新构想 更轻、更强、更可持续的自行车 Autodesk (11/18/2020)
·NUM助力台湾机床公司,实现机器人专用渐开线齿轮和摆线齿轮的自动化生产 (5/18/2019)
·hyperMILL革命性五轴加工策略 让复杂工件加工时间的节省高达90% OPEN MIND (12/6/2018)
·ESPRIT助力上海泷泽在机床行业寒冬期逆势增长300% DP Technology (8/13/2018)
·小型数控铣床刀具路径(刀路)参数曲面粗精选择 newmaker (3/26/2018)
·线切割加工中电极丝的选用 (12/9/2007)
·新洲软件:让设计成为享受 新洲软件 (10/31/2006)
·用CAXA电子图板设计螺旋梯 河北辛集化工集团 赵静淼 (5/30/2006)
·基于CATIA系统的虚拟装配技术应用研究 newmaker (5/30/2006)
·应用AutoCAD几何计算器实现快速定位 西南石油学院 郑悦明 (2/11/2006)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > CAD/CAM软件展厅 > CAD/CAM软件文章
文章点评 查看全部点评 投稿 进入贴吧


对 CAD/CAM软件 有何见解?请到 CAD/CAM软件论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技