;Doan Van Ha
(defun C:CA (/ dt dsdt dt1 dt2 p1 p2 sl x)
(command "undo" "be")
(setq osm (getvar "osmode"))
(princ "\nChon cac doi tuong can Copy-Array...")
(setq dsdt (acet-ss-to-list (setq dt (ssget)))
p1 (getpoint "\nDiem goc: ")
p2 (getpoint p1 "\nDiem den: ")
sl (getint "\nSo lan: ")
x 1)
(foreach n dsdt
(if (or (= "TEXT" (cdr (assoc 0 (entget n)))) (= "MTEXT" (cdr (assoc 0 (entget n)))))
(setq dt1 (ssdel n dt) dt2 n)))
(setvar "osmode" 0)
(repeat sl
(command ".copy" dt1 "" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) x)))
(command ".copy" dt2 "" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) x)))
(entmod (subst (cons 1 (itoa (+ (atoi (cdr (assoc 1 (entget dt2)))) x))) (assoc 1 (entget (entlast))) (entget (entlast))))
(entupd (entlast))
(setq x (1+ x)))
(command "undo" "e")
(setvar "osmode" osm)
(princ))
https://www.cadviet.com/forum/topic/54624-y%C3%AAu-c%E1%BA%A7u-lisp-k%E1%BA%BFt-h%E1%BB%A3p-l%E1%BB%87nh-array-v%C3%A0-copy/