Lisp kết nối text cao độ
Tính năng Lisp là kết nối 2 text cao độ rời nhau có dạng: 20. & .12 trùng nhau tại dấu . thập phân. Bạn copy đoạn code bên dưới rồi lưu lại dưới dạng file *.lsp. Sử dụng: Load code rồi nhập lệnh "mtip02" chọn các đối tượng text trên là xong (Có thể chọn nhiều cặp text trong một lần chọn).
(defun c:mtip02 (/ oldos sst d p1 p2 t1 n et et1 t2)
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(command "undo" "be")
(setq sst (acet-ss-to-list (ssget (list (cons 0 "text") (cons 72 2)))))
(foreach tx sst
(setq et (entget tx)
d (distance (car (textbox et)) (cadr (textbox et)))
p1 (cdr (assoc 10 et))
p2 (list (+ (car p1) d) (+ (cadr p1) (cdr (assoc 40 et))))
t1 (cdr (assoc 1 et))
n (sslength (setq ss1 (ssget "c" p1 p2 (list (cons 0 "text") (cons 72 0))))))
(if (= n 1)
(progn
(setq et1 (entget (ssname ss1 0))
t2 (strcat t1 "" (substr (cdr (assoc 1 et1)) 2))
et (subst (cons 1 t2) (assoc 1 et) et))
(entmod et)
(command "erase" ss1 "")))) (command "undo" "e")
(setvar "osmode" oldos) (princ))