求高手编写LISP代码范围内文字合并问题
求高手编写LISP代码范围内文字合并问题,我想通过选择所有的文字,把A附近(一个小范围内)的2(洋红色的)合并成A2,谢谢!!
或者方框里面的文字全部合并也行 永不言弃 发表于 2013-9-25 18:00
或者方框里面的文字全部合并也行
解决问题用xyp1964工具箱,超快,超全,外加顶级高手群24小时挫折教育。 哪儿有啊,论坛里面好像没有 (defun c:gg (/ ss i el e)
(setq nr nil)
(setq ss (ssget '((0 . "TEXT"))))
(setq i 0)
(repeat (sslength ss)
(setq e (ssname ss i))
(setq el (entget e))
(setq nr (append nr (list (read (cdr (assoc 1 el))))))
(setq i (1+ i)))
(princ)
)这个是text文字合并的,不知对您是否有所帮助 用了没反应 在最后加上这一行试试 (print nr) ;合并框内文字 明经 ZZXXQQ 2013.9.26
(defun c:tt ()
(if (setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4)))) (progn
(setq i -1)
(repeat (sslength ss)
(setq plst (list))
(setq ent (entget(ssname ss (setq i (1+ i)))))
(foreach x ent (if (= (car x) 10) (setq plst (cons (cdr x) plst))))
(if (= (sslength (setq ss1 (ssget "CP" plst '((0 . "TEXT"))))) 2) (progn
(setq ent1 (entget(ssname ss1 0))
en (ssname ss1 1)
txt (cdr(assoc 1 ent1))
txt2(cdr(assoc 1 (entget en))))
(entmod (subst (cons 1 (strcat txt txt2)) (assoc 1 ent1) ent1))
(entdel en)
))
)
))
(princ)
)
(defun c:gg (/ ss i el e lst p nr)
(setq nr "")
(setq ss (ssget '((0 . "TEXT"))))
(setq i 0)
(repeat (sslength ss)
(setq e (ssname ss i))
(setq el (entget e))
(setq nr (strcat nr (cdr (assoc 1 el))))
(setq i (1+ i)))
(setq lst (entget (ssname ss 0)))
(setq p (assoc 10 lst))
(entmake (list '(0 . "TEXT") (cons 1 nr) (cons 10 (cdr p)) (cons 40 5)))
(princ)
)我又重新修改了一下,希望能达到您的满意
非常感谢,可以了
页:
[1]
2