新手 关于绘制平面螺旋线的问题~大哥们帮帮忙!!!!!!!!
www.dimcax.com
新手 关于绘制平面螺旋线的问题~大哥们帮帮忙!!!!!!!!
描述:要画的螺旋线
图片:
我们要做这个课设,实在是不怎么会
这个程序错在哪儿帮我修改下
defun c:luox(/)
(setq bl (getpoint"请指定螺旋线基点:"))
(setq a (getreal "请输入阿基米德系数:"))
(setq m (getint"请输入螺旋线圈数:"))
(setq n (getint"请输入每圈细化段数:"))
(setq delta (/(* 2.0 pi) n))
(setq r 0)
(setq ang 0)
(command "ucs" "o"bl)
(repeat n
(setq ang(+ delta ang))
(setq r(* a ang))
(setq pt2(list (* r(cos ang)) (* r(sin ang)) ))
(command pt2)
)
(command"")
图片:
(defun c:luox(/)
(setq bl (getpoint"请指定螺旋线基点:"))
(setq a (getreal "请输入阿基米德系数:"))
(setq m (getint"请输入螺旋线圈数:"))
(setq n (getint"请输入每圈细化段数:") nn (* m n))
(setq delta (/ (* 2.0 pi) n))
(setq r 0)
(setq ang 0)
(command "ucs" "o" bl)
(command "pline")
(repeat nn
(setq ang (+ delta ang))
(setq r (* a ang))
(setq pt2 (list (* r (cos ang)) (* r (sin ang)) ))
(command pt2)
)
(command"")
)
gbg
1楼的兄弟 你的加载不了啊 弹出来这个东西 -----表格 从 #<editor "e:/学习工具/autocad.2004简体中文版/support/luox3.lsp"> 加载
还有这个是什么意思啊? 你的 (setq pt2 (list (* r (cos ang)) (* r (sin ang)) )) ;(+ 0 (* j k))))
(* r (sin ang)) )) ;这儿不懂
我搞错了点 ,不要这个;(+ 0 (* j k))))
你把上面的程序编到你的cad下,用autocad下的下拉菜单中的工具中的autolisp(s)中的加载去点cad下的这个程序就行
gbg
我给你一个程序它可画平面,园拄,塔形螺旋线,可画左旋也可画右旋螺旋线。程序在下;
(defun c:lxx ()
(setvar "osmode" 0)
(setq p1 (getpoint "螺旋线的中心:") d (getreal "螺旋线的上端直径(外)") dd (getreal "螺旋线的下端直径

内)") h (getreal "整个螺旋线的高度:"))
(setq n (getreal "圈数:") k (getreal "螺旋线左旋输入1 螺旋线左旋输入-1 " ) r (/ d 2.0) rr (/ dd 2.0) pp1 (polar p1 0 r))
(setq an (* (/ pi 180) (* n 360.0)) an1 0.1 s (/ (- rr r) n) g (/ h n) )
(setq pp5 (polar p1 0 rr) ss (/ s ( / (* pi 2.0) an1)) gg (/ g ( / (* pi 2.0) an1)) )
(setq i (fix (/ an an1)) r (+ r ss) an2 0)
(command "3dpoly" pp5)
(repeat i
(if (= k 1)(setq an2 (+ an2 an1))
(setq an2 (- an2 an1)))
(setq p1 (list (car p1) (cadr p1) (+ (caddr p1) gg)) pp6 (polar p1 an2 rr) rr (- rr ss) )
(command pp6)
)
(command """regen")
)
gbg
老顾大哥 ,我试过了用你的第一个程序加载后cad命令行那儿没显示啊
你加载后在命令下输入luox回车你就看到提示,按提示输入数据就画除平面螺旋线。
gbg
什么东东,下下看看