几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   数据库ObjectDBX (http://www.dimcax.com/hust/forumdisplay.php?f=177)
-   -   【转帖】绘制螺旋线的lisp程序 (http://www.dimcax.com/hust/showthread.php?t=13838)

yang686526 2009-04-28 03:52 PM

【转帖】绘制螺旋线的lisp程序
 
绘制螺旋线的lisp程序
www.dimcax.com
绘制螺旋线的lisp程序
管理提醒: 本帖被 tandongchi 从 autodesk技术、教程、资料交流区 移动到本区(2007-09-17) 图片:

defun c:luoxc (/)
(setq bl (getpoint"请指定螺旋线基点:"))
(setq rl (getreal"请指定初始螺旋线半径:"))
(setq disp ( getreal"请输入螺旋线节距:"))
(setq angtg (getreal"请输入螺旋线锥形角度:"))
(setq m (getint"请输入螺旋线圈数:"))
(setq n (getint"请输入每圈细化段数:"))
(setq delta (/(* 2.0 pi) n))
(setq j (/ disp n))
(setq bb (caddr b1))
(setq tg (* (/ angtg 180) pi))
(setq ang 0)
(setq k 0)
(command "ucs" "o"bl)
(command "3dpoly" (list rl 0 0))
(repeat (* m n)
(setq k(+ k 1))
(setq ang(+ delta ang))
(setq r(- rl (* (+ 0 (* j k)) (/(sin tg) (cos tg)) )))
(setq pt2(list (* r(cos ang)) (* r(sin ang)) (+ 0 (* j k))))
(command pt2)
)
(command"")
)
上面是绘制锥型螺旋线的程序
(defun c:luox(/)
(setq bl (getpoint"请指定螺旋线基点:")) //setq函数用于给变量赋值
(setq r (getreal"请指定螺旋线平均半径:"))
(setq disp ( getreal"请输入螺旋线节距:"))
(setq n (getint"请输入每圈细化段数:"))
(setq delta (/(* 2.0 pi) n))
(setq j (/ disp n))
(setq bb(caddr bl))
(setq ang 0)
(setq k 0)
(command "ucs" "o" bl) //将坐标原点移到指定的螺旋线基点
(command "3dpoly" (list r 0 0)) //以(r、0、0)为起点绘制多段线
(repeat n //循环操作语句,n为循环次数
(setq k(+ k 1))
(setq ang(+ delta ang))
(setq pt2(list (* r(cos ang)) (* r(sin ang)) (+ 0 (* j k))))
(command pt2)
)
(command "")
)
锥型螺旋线的操作命令是luoxc
普通螺旋线的命令是luox

07已有螺旋线命令了.

谢谢楼主了,我是2006的总是画不了弹簧,装2007以上版本的机子又运行不了,这下可好了。

用后要提意见

好东西,谢谢了,我用了,很好,就是给的数还没有数,哈哈

装2007以上版本的机子又运行不了,

很好·~·

谢谢楼主!


所有的时间均为北京时间。 现在的时间是 06:01 AM.