tmelancon 发表于 2022-7-6 06:21:38

快速轻松地更改LISP

我很忙,当然,和每个人一样,我有很多工作需要完成,所以我想我会快速发布这篇帖子。希望有时间的人能帮忙!我基本上需要一个简单的例程,将颜色从旧标准更改为新标准。
 
我相信这很可能是最简单的例行程序,但如果有人可以张贴一个,节省我一点时间,我将不胜感激。
 
一个例子是图层:文字,30多年来我们的旧标准一直是“绿色”,现在我们已经改变了这一点,并使用颜色“104”,这更像是海龟绿,无论如何,这是老板想要的,所以这是老板得到的。
 
现在,当我们打开一幅10年前绘制的图时,它有我们所有的旧图层和它们各自的旧颜色。
 
我只需要一个lisp,将运行每次我们打开一个图形进行编辑或修订,将自动搜索图层和更改其属性(颜色)。。

ReMark 发表于 2022-7-6 06:26:32

是否要批量处理图形文件夹?

tmelancon 发表于 2022-7-6 06:31:51

我认为批量处理可以加快整个过程,不会有任何问题。但我们有这么多的画,有时几个月或几年都没有重画。有什么方法可以让我们在打开现有图形时编写一些只在启动时运行的内容,将图层“TEXT”的颜色更改为“104”。“文本”层是我真正需要解决的层,因为它在我们的office标准模板中占主导地位。

Lee Mac 发表于 2022-7-6 06:34:27

试试这个:
(defun c:clc ( / col ent lst )
   (setq lst
      '(
         ("TEXT"          104)
         ("YourLayerHere" 123)
       )
   )
   (foreach lay lst
       (if (setq ent (tblobjname "layer" (car lay)))
         (progn
               (setq ent (entget ent)
                     col (assoc 62 ent)
               )
               (entmod (subst (cons 62 (if (minusp (cdr col)) (- (cadr lay)) (cadr lay))) col ent))
         )
       )
   )
   (princ)
)用层名称和颜色填充高亮显示的列表,与所示格式匹配。

tmelancon 发表于 2022-7-6 06:38:12

非常感谢那些耍了李的家伙。祝福。

Lee Mac 发表于 2022-7-6 06:44:03

 
不客气

Dadgad 发表于 2022-7-6 06:45:56

我知道李已经帮过你了,
但是也有一些OOTB解决方案,其中一个是使用LAYTRANS命令。
这是一个很棒的命令,我认为它没有得到充分利用,非常适合这种情况。
或者你可以用一个。dws(图形标准文件)做同样的事情。
 
很高兴李把你摆平了,他通常是这么做的!

tmelancon 发表于 2022-7-6 06:48:17

李,我该如何修改才能将这篇文章添加到我的启动例程中?删除DEFUN?请协助。谢谢

tmelancon 发表于 2022-7-6 06:52:23

嘿,Gad,你能详细介绍一下LAYTRANS功能吗?我现在正在检查,有没有其他细节或步骤可以这样做?

ReMark 发表于 2022-7-6 06:57:48

通过Start Suite自动加载程序。。。
 
http://lee-mac.com/autoloading.html
页: [1] 2
查看完整版本: 快速轻松地更改LISP