Darth Maul 发表于 2022-7-5 18:26:29

更改字符样式Lisp

我试图创建一个lisp,它可以选择所有的文本框并更改文本的样式,我正在努力编写它。我似乎不知道如何选择文本框

Happy Hobbit 发表于 2022-7-5 18:47:32

原作者:未知
这个Lisp程序不是我写的,我只是修改了其中的一些内容以适应。
 
这不会自动选择您的文本框,lisp将提示您和用户这样做。

(defun c:changestyle (/ entities len count ent ent_data ent_name new_style_name)
(setq entities (ssget "_:L" '((0 . "text,mtext,attdef")))
   len      (sslength entities)
   count 0
);setq
(while (< count len)
      (setq ent      (ssname entities count)
            ent_data (entget ent)
            ent_name (cdr (assoc 7 ent_data))
      );setq
(setq new_style_name (cons 7 "veranda"))
(setq ent_data (subst new_style_name (assoc 7 ent_data) ent_data))
(entmod ent_data)
(setq count (+ count 1))
);while
(princ)
);defun

注意:它将所选文本设置为我偶尔使用的名为“Veranda”的文本样式。
如果您更改行:
对于您希望在文本框上使用的任何样式名称,它都应该足够了。

Tharwat 发表于 2022-7-5 19:07:33

最好在循环或选择文本之前检查图形中是否已经存在目标文本样式,以避免程序出错和崩溃。

Happy Hobbit 发表于 2022-7-5 19:43:01

 
我同意塔瓦特的观点
 
在顶行后立即插入以下内容(适当修改为您选择的文本样式名称和字体)
2
页: [1]
查看完整版本: 更改字符样式Lisp