Pomeranje teksta koji se preklapa u GCM poprečnim profilima. Pomera se kompletan tekst za jednu tačku po profilu.
iskopirajte kod dole u notepad i sačuvajte dokument sa ekstenzijom .lsp
"nmx" je komanda za pomeranje teksta
pitaće za destination (koliko daleko da pomeri tekst) i tu stavite 0.4. Ako vam se ne sviđa resetujte destination sa komandom "dmx"
(terpri)
(princ "\n *MovTxt* loaded.")
(princ "\n - mx - Multiple text moving.")
(princ "\n - nmx - Restart multiple text moving.")
(princ "\n - dmx - Reset destination.")
(terpri)
(defun c:dmx ()
(setq dest nil)
(c:nmx)
(princ)
)
(defun c:nmx (/ osnl)
(command "_undo" "BE")
(setq osnl (getvar "OSMODE"))
;(setq dest nil)
(c:mx)
(setvar "OSMODE" osnl)
(command "_undo" "End")
(princ)
)
(DEFUN C:MX ()
(if (/= nil dest)
(princ "\nDestination: ")
(setq dest (getreal "\nDefine destination: "))
)
(princ dest)
(WHILE
(C:MOVTXT)
)
(PRINC "\n Done.")
(princ)
)
(defun c:movtxt (/ izvor baza xys pomak lejer x i skup xy)
(setvar "OSMODE" 0)
(setvar "CMDECHO" 0)
(setq izvor (entsel "\nSelect Entity: "))
(IF (/= IZVOR NIL)
(PROGN
(setq izvor (entget (car izvor)))
(setq xy (assoc '10 izvor)
lejer (cdr (assoc '8 izvor)))
;(setq pomak (getpoint (cdr xy) "Novi polozaj: "))
(setq pomak (list (+ (cadr xy) dest) (caddr xy) 0.0))
;(princ pomak)
(setq baza (ssget "X" (list (cons 0 "TEXT") (cons 8 lejer)))
i 0
skup (list "Skup"))
(repeat (sslength baza)
(setq xys (assoc '10 (entget (ssname baza i))))
;(terpri)
;(princ xys)(princ " i ")(princ xy)
(setq x (cadr xys))
(if (= x (cadr xy))
(progn
;(princ xys)(princ " TO ")(princ xy)
(setq skup (append skup (list (ssname baza i))))
)
)
(setq i (1+ i))
)
(setq skup (cdr skup)
i 0)
(repeat (length skup)
(command "_move" (nth i skup) "" (cdr xy) pomak)
(setq i (1+ i))
)
;(princ "\nIzvor: ")
;(princ izvor)
(princ "\nNumber of replaced entities: ")(princ i)
);PROGN
);IF
)