乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 19|回复: 19

[编程交流] 通过se更改ByLayer的颜色

[复制链接]

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:06:10 | 显示全部楼层 |阅读模式
是否有人拥有lisp,允许我在图形中选择实体,并且该层的bylayer颜色将更改为253。我有很多灰显的事情要做,而不是通过层列表,我认为这可能更容易。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:10:43 | 显示全部楼层
  1. (defun c:test ( / el i la ls ss )
  2.    (if (setq ss (ssget))
  3.        (repeat (setq i (sslength ss))
  4.            (if (not (member (setq la (cdr (assoc 8 (entget (ssname ss (setq i (1- i))))))) ls))
  5.                (progn
  6.                    (setq el (entget (tblobjname "LAYER" la))
  7.                          ls (cons la ls)
  8.                    )                              
  9.                    (entmod (subst (cons 62 253) (assoc 62 el) el))
  10.                )
  11.            )
  12.        )
  13.    )
  14.    (princ)
  15. )

 
或单个:
 
  1. (defun c:test ( / e )
  2. (and
  3.    (setq e (car (entsel)))
  4.    (setq e (entget (tblobjname "LAYER" (cdr (assoc 8 (entget e))))))
  5.    (entmod (subst (cons 62 253) (assoc 62 e) e))
  6. )
  7. (princ)
  8. )
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:14:42 | 显示全部楼层
我两个都试过了,但似乎都不管用。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:18:53 | 显示全部楼层
你在使用它们后重新生成了吗?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:19:37 | 显示全部楼层
是的,试过了,但没有乐趣。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:24:35 | 显示全部楼层
 
这是一个简单的代码,不会有太多的问题-你的图层颜色没有被改变吗?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:28:19 | 显示全部楼层
不。它让我可以选择一些东西,但什么也没有发生。颜色保持不变,项目设置为“bylayer”。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:31:01 | 显示全部楼层
 
对象是否嵌套在块中?
回复

使用道具 举报

145

主题

590

帖子

446

银币

中流砥柱

Rank: 25

铜币
725
发表于 2022-7-6 09:32:07 | 显示全部楼层
不,等等。我选择了hatch,它不适用于那个,但它适用于线条。我的错。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 09:37:28 | 显示全部楼层
奇怪的它在我的2011年完美地工作(甚至使用图案填充)。
 
编辑:轻微修改李的代码
  1. (setq *SetLayerColor* 253)
  2. (defun c:SetLayerColor (/ e c)
  3. (if (setq c (acad_colordlg *SetLayerColor* nil))
  4.    (setq *SetLayerColor* c)
  5. )
  6. (while (and
  7.           c
  8.           (setq e (car (entsel "\nPick entity on layer (Enter to stop): ")))
  9.           (setq e (entget (tblobjname "LAYER" (cdr (assoc 8 (entget e))))))
  10.         )
  11.    (entmod (subst (cons 62 c) (assoc 62 e) e))
  12. )
  13. (princ)
  14. )
允许选择不同的颜色,并且与LayFrz“类似”。如果希望它在嵌套实体上工作,请将entsel更改为entsel。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 14:05 , Processed in 0.956142 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表