
- (defun C:U3DPOLAR (/ SP EPT N I ANG SETPS SS)
- ;;;-----------输入基本参数-------------
- (setq SP (getpoint "指定数组的中心点:")
- N (getint "数目:")
- ANG (/ (getdist "总角度:") N)
- SETPS (/ (getdist "总高度:") N)
- SS (ssget)
- I 0
- )
- ;;;-----------保存部分系统变量------------
- (setq ENVIR0 (getvar "CMDECHO")
- ENVIR1 (getvar "BLIPMODE")
- ENVIR2 (getvar "OSNAPCOORD")
- )
- ;;;-----------设置部分系统变量------------
- (setvar "CMDECHO" 0)
- (setvar "BLIPMODE" 0)
- (setvar "OSNAPCOORD" 1)
- ;;;-----------三维环形数组程序------------
- (repeat (+ N 1)
- (setq I (+ I 1)
- EPT (list (car SP) (cadr SP) (+ (caddr SP) (* SETPS I)))
- )
- (COMMAND "COPY" SS "" "0,0" "0,0")
- (COMMAND "ROTATE" "L" "" SP (* ANG I))
- ;(command "array" SS "" "p" SP "2" (* ANG I) "y")
- (command "move" "l" "" SP EPT)
- )
- ;;;-----------恢复系统变量------------
- (setvar "CMDECHO" ENVIR0)
- (setvar "BLIPMODE" ENVIR1)
- (setvar "OSNAPCOORD" ENVIR2)
- ;;;-----------结束------------
- (princ "三维环形数组已经完成")
- (princ)
- )
- ;;还有一个是uspiral.lsp(三维螺旋线),也是不能正常使用,请赐教!!
- (defun C:USPIRAL (/ SP RR NN AA HH I ENVIR0 ENVIR1 ENVIR2 EPT)
- ;;;---------输入基本参数----------
- (setq SP (getpoint "指定数组的中心点:")
- RR (getdist SP "半径:")
- NN (- (getint "密度:") 1)
- AA (/ (getdist "总角度:") NN)
- HH (/ (getdist "总高度:") NN)
- I 0
- )
- ;;;---------保存部分系统变量----------
- (setq ENVIR0 (getvar "CMDECHO")
- ENVIR1 (getvar "BLIPMODE")
- ENVIR2 (getvar "OSNAPCOORD")
- )
- ;;;---------设置部分系统变量---------
- (setvar "CMDECHO" 0)
- (setvar "BLIPMODE" 0)
- (setvar "OSNAPCOORD" 1)
- ;;;---------三维螺旋线程序----------
- (command "3dpoly" (setq EPT (polar SP 0 RR)))
- (repeat NN
- (setq I (+ I 1)
- EPT (polar SP (* (/ pi 180) aa I) RR)
- EPT (list (car EPT) (cadr EPT) (+ (caddr EPT) (* HH I)))
- )
- (command EPT)
- )
- (command "")
- ;;;---------恢复系统变量----------
- (setvar "CMDECHO" ENVIR0)
- (setvar "BLIPMODE" ENVIR1)
- (setvar "OSNAPCOORD" ENVIR2)
- ;;;---------结束---------------------
- (princ "三维螺旋线已经完成")
- (princ)
- )
|