 - (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 bl))
- (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 "")
- )
|