codebegin@
(defun c:cc( / *error* ss p1 p2 juli ang shuliang)
(defun *error* (msg)
(setvar "osmode" os)
(command "_undo" "e")
(setvar "cmdecho" 1)
) (vl-load-com)
(setvar "cmdecho" 0)
(command "_undo" "be")
(setq os (getvar "osmode")) (setvar "osmode" 15359)
(princ "\n选择复制或阵列的对象:")
(setq ss (ssget))
(setq p1 (getpoint "\n选择基点:"))
(setq p2 (getpoint p1 "\n选择目标点:"))
(setq juli (distance p1 p2))
(setq ang (angle p1 p2))
(setq jianju (getdist "\n请输入间距<100>:"))
(if (null jianju)(setq jianju 100))
(setq shuliang (fix (/ juli jianju)))
(command "_copy" ss "" p1 "A" (1+ shuliang) (polar p1 ang jianju) "")
(setvar "osmode" os)
(command "_undo" "e")
(setvar "cmdecho" 1)
(princ)
)
@codeend