yamjqq 发表于 2020-2-25 16:40:07

请教如何实现文本和图层名的统一

该程序用于实现文本和图层名的统一,程序目前能实现点选文本生成图层名,
将文本切换到对应的图层不知如何实现,望赐教!


(defun c:test(/ name1str1 )
(setvar "cmdecho" 0)
(setq name1 (car (entsel "\n 具体内容N:")))
(redraw name1 4)
(setq str1(cdr (assoc 1 (setq ent (entget name1)))) )
(command "_layer" "m" STR1 "C" 1 "" "");;;;;这一句应该如何完善
;(redraw name1 3)
(redraw)
)

tryhi 发表于 2020-2-25 17:12:05

(defun c:tt (/ data en i ss str)
        (setq ss(ssget '((0 . "TEXT"))))
        (setq i -1)
        (while(setq en(ssname ss(setq i(1+ i))))
                (setq data (entget en)
                        str(cdr (assoc 1 data))
                        data(subst (cons 8 str)(assoc 8 data)data)
                )
                (entmod data)
                (entupd en)
        )
)

start4444 发表于 2020-2-25 17:30:15

(defun c:tt5 (/ entname i ss str)
        (setq ss (ssget '((0 . "text"))))
        (setq i -1)
        (while (setq entname (ssname ss (setq i (1+ i))))
                (setq str (cdr (assoc 1 (entget entname))))
                (if (not (tblsearch "layer" str)) (command "layer" "n" str ""))       
                (command"change" entname "" "p" "la" str "")
        );while       
        (princ)
)
页: [1]
查看完整版本: 请教如何实现文本和图层名的统一