[color=#006000]; copy text +
;
www.vietlisp.com;-------------------------------------------------------------------------------
(defun c:c+ (/ copy+ ss sslst i k p1 p2 )
(defun copy+ (ename p1 p2 add / ent i number str)[/color]
[color=#006000](command "copy" ename "" p1 p2)[/color]
[color=#006000](setq ent (entget (entlast)))[/color]
[color=#006000](if (setq str (cdr (assoc 1 ent)))[/color]
[color=#006000](progn[/color]
[color=#006000](setq i 1)[/color]
[color=#006000](while (<= i (strlen str))[/color]
[color=#006000](if (not (wcmatch (substr str i) "*@*"))[/color]
[color=#006000](progn[/color]
[color=#006000](setq number (substr str i))[/color]
[color=#006000](setq i 10000)[/color]
[color=#006000])[/color]
[color=#006000](setq i (1+ i))[/color]
[color=#006000])[/color]
[color=#006000])[/color]
[color=#006000](if number (setq str (strcat (substr str 1 (- (strlen str) (strlen number)))
(if (vl-string-search " " number) " " "")
(itoa (+ (atoi number) add)))))[/color]
[color=#006000](setq ent (subst (cons 1 str) (assoc 1 ent) ent))
(entmod ent)
)
)
)[/color]
[color=#006000](setq ss (ssget))
(if ss
(progn
(setq sslist (append))
(setq i 0)[/color]
[color=#006000](while (setq ename (ssname ss i))[/color]
[color=#006000](setq sslst (append sslst (list ename)))[/color]
[color=#006000](setq i (1+ i))[/color]
[color=#006000])[/color]
[color=#006000](setq k 1)[/color]
[color=#006000](setq p1 (getpoint"\nSpecify base point or [Displacement/mOde] <Displacement>:"))
(while
(setq p2 (getpoint p1 "\nSpecify second point or <use first point as displacement>:"))
(mapcar '(lambda (x) (copy+ x p1 p2 k)) sslst)
(setq k (1+ k))
)
))
(princ)
)[/color]