)
)
(command "") ; 输入结束
(princ)
)
;;;
;;; 生成三维弹簧函数调用接口
;;;
(defun C:3DSPRING (/ olderror cmdch blpmd cntPt RottCnt horiGrw vertGrw bgnRdtn ptCntPerCircle)
(setq cmdch (getvar "cmdecho")) ; 获取cmdecho值,以便调用结束后恢复
(setq blpmd (getvar "blipmode")) ; 获取blipmode值,以便调用结束后恢复
(setvar "cmdecho" 0) ; 关闭 cmdecho
(initget 1) ; cntPt 必须非空
(setq cntPt (getpoint "\n请输入底部中心点: "))
(initget 7) ; RottCnt 必须非零、非空,不可忽略
(setq RottCnt (getint "\n旋转的圈数: "))
(initget 7) ; bgnRdtn 必须非零、非空,不可忽略
(setq bgnRdtn (getdist cntPt "\n起始半径: "))
(initget 1) ; cf 必须非零、非空
(setq horiGrw (getdist "\n每一圈的水平增长距离: "))
(initget 3) ; cf 必须非零、非空
(setq vertGrw (getdist "\n每一圈的垂直增长距离: "))
(initget 6) ; ptCntPerCircle 必须非零、不可忽略
(setq ptCntPerCircle (getint "\n每一圈的插值点数<35>: "))
(cond ((null ptCntPerCircle) (setq ptCntPerCircle 35)))
(spring RottCnt cntPt horiGrw ptCntPerCircle bgnRdtn vertGrw)
(setvar "cmdecho" cmdch) ; 恢复调用前的cmdecho系统变量值
(setvar "blipmode" blpmd) ; 恢复调用前的blipmode系统变量值
(setq *error* olderror) ; Restore old *error* handler
(princ)

