dnovember99 发表于 2022-7-5 15:36:09

更改文字样式

所以我有很多不同文字风格的图画,(这是一个工作提供的东西。)我想把所有的文字都改成相同的。
 
无需去选择相似或逐个单击。我发现有些东西对我来说似乎很管用,但在例行的提问结束后,我收到了一条信息,我没有在文本中看到这一点。或者我只是瞎了眼。
 
(defun C:CTS (/ entities len count ent ent_data ent_name new_style_name)

(command "STYLE" "Standard" "Romans" "" "" "" "" "")
(setq entities (ssget "X" '((0 . "TEXT,MTEXT")))
   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 "Standard"))
(setq ent_data (subst new_style_name (assoc 7 ent_data) ent_data))
(entmod ent_data)
Y
(setq count (+ count 1))
);while

(princ)

);defun
 
 
 
下面是命令行中显示的内容
 
命令:changestyleSTYLE输入文本样式的名称或[?]:标准现有样式。Full font name=ArialSpecify font name或font filename(用于SHX):罗马文字指定文字高度或[注释性]

ReMark 发表于 2022-7-5 15:57:50

有许多自定义lisp例程可以更改文本样式。试着再找一个。也许你会有更好的结果。

dnovember99 发表于 2022-7-5 16:18:25

 
我一直在寻找,我看到的大多数都是你必须选择你想要改变的东西。我想把这件事做好。
 
我对编写lisp例程仍然很陌生,我不确定在哪里隔离这些例程以将其添加和/或替换到另一个lisp。这就是为什么我需要一些帮助来确定这一点

ReMark 发表于 2022-7-5 16:46:37

查看Jeff Mishler的第7篇文章,以及他的“styles21”lisp例程。
 
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lisp-to-change-all-text-style-to-use-the-same-font/td-p/1623819
页: [1]
查看完整版本: 更改文字样式