![]() |
求扭转弹簧的二维、三维lisp程序
求扭转弹簧的二维、三维lisp程序
www.dimcax.com 求扭转弹簧的二维、三维lisp程序 下面是我已经有了的画弹簧的程序,可是怎么才能让它可以画出扭转弹簧的三维程序呢,请高手指点,另外如果可以的话也请帮忙设计一下扭转弹簧的二维lisp程序,非常感谢!!! (defun c:spring() (setq bp (getpoint "\n 弹簧中心点")) (setq dw (getreal "\n 弹簧直径=")) (setq d (getreal "\n 弹簧丝径=")) (setq pitch (getreal "\n 弹簧节距=")) (setq len (getreal "\n 弹簧长度=")) (setq n (getint "\n 段数=")) (setq r (/(- dw d)2)) (setq d1 (- d (* 1.0825 pitch))) (setq r1 (/ d1 2)) (setq m1 (fix (* n 1.25))) (setq m0 (fix (*n (/ (- len (* d 2)) pitch)))) (setq delta (/(* 2.0 pi)n)) (setq j0 (/ pitch n )) (setq j1 (/ d n )) (setq bz (caddr bp )) (setq ang 0) (setq jj 0 ) (command "ucs" "o" bp ) (command "3dpoly" (list r 0 0 )) (repeat m1 (setq jj (+ jj 1)) (setq ang (+ delta ang )) (setq pt1 (list (* r (cos ang ))(* r (sin ang ))(+ bz (* j1 jj)))) (command pt1) ) (setq bz (caddr pt1)) (setq jj 0) (repeat m0 (setq jj (+ jj 1)) (setq ang (+ delta ang )) (setq pt0 (list (* r (cos ang ))(* r (sin ang ))(+ bz (* j0 jj)))) (command pt0) ) (setq bz (caddr pt0)) (setq jj 0) (repeat m1 (setq jj (+ jj 1)) (setq ang (+ delta ang )) (setq pt2 (list (* r (cos ang ))(* r (sin ang ))(+ bz (* j1 jj)))) (command pt2) ) (command "") ) 图片: 下面的程序可画出拄形弹簧和塔形弹簧 将txlxxx.rar考到你的cad下,解压后为txlxxx.lsp是原程序,在命令下用(load"txlxxx")回车就可使用. 在命令下输入dh回车,软件提示螺旋线的中心: 你用鼠标给出螺旋线的中心,软件提示: 螺旋线的上端直径:用键盘输入上端直径, 软件提示:螺旋线的下端直径:用键盘输入下端直径, 软件提示:整个螺旋线的高度:输入高度 软件提示:圈数:输入圈数回车 软件提示:钢丝直径:输入钢丝直径,回车 软件提示:360度的节点数:输入节点数回车 软件画出三维弹簧. 5 gbg 非常感谢!!! |
所有的时间均为北京时间。 现在的时间是 11:28 AM. |