明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 尘缘一生

[提问] 扫“黄”专贴

[复制链接]
发表于 2018-6-29 14:12 | 显示全部楼层
刚好也在找这个插件
 楼主| 发表于 2018-6-29 16:05 | 显示全部楼层
本帖最后由 尘缘一生 于 2018-6-29 16:17 编辑
llsheng_73 发表于 2018-6-29 11:37
(command"chprop"(SELECTBYLAYER'((0 . "*")) '((62 . 2))"AND")"""c"1"")

我啊,正在写这段代码,调试没通过,希望谁能修改下。

  1. ;;;;;改所有黄色的图层为红色
  2. (defun c:yetorl  (/ ss lay l n enm)
  3.   (vl-load-com)
  4.   (setq ss (ssget "X" (list (cons 62 2)))) 选黄色
  5.   (setq app (vlax-get-acad-object)
  6.     doc (vla-get-activedocument app)
  7.     lays (vla-get-layers doc))
  8.   (if ss (progn
  9.            (setq l 0 n (sslength ss))
  10.            (while (< l n)
  11.              (setq enm (cdr (assoc 8 (setq en (entget (ssname ss l))))));;;获取黄色对象的图层名
  12.              (if (tblsearch "layer" enm)
  13.                (progn
  14.                  (setq lay (vla-item lays enm))                 
  15.                  (vlax-put-property lay 'Color 1)
  16.                )
  17.                (alert (strcat enm "不存在!"))
  18.              );if
  19.              (setq l (+ l 1))
  20.            )
  21.          )
  22.   )
  23. )

发表于 2018-6-29 16:18 | 显示全部楼层
改图层颜色简单,得到指定颜色的图层也简单,麻烦之处在于,把图元颜色改为随层,只能一个个图元修改

点评

搜索图层,凡事黄色的改为红色,提供下吧?  发表于 2018-6-29 16:34
图元改为随层,更简单的。  发表于 2018-6-29 16:33
发表于 2018-6-29 16:33 | 显示全部楼层
改图层的话(vlax-for n (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))) (if (= (vla-get-color n) 2) (vla-put-color n 1)))就差不多了吧

点评

没想到,你一句话给解决了。  发表于 2018-6-29 16:38
发表于 2018-6-29 17:55 | 显示全部楼层
  1. (Defun MODlayers(codes / d a b c)
  2.   (setq b(car codes)c(cadr codes))
  3.   (While(SetQ a(TblNext"layer"(not d)))
  4.     (if(member b(setq a(entget(tblobjname"layer"(cdadr a)))))(entmod(subst c b A)))
  5.     (SetQ d t)))

(MODlayers'((370 . -3)(370 . 50)));;线宽为默认的的改为0.5
(MODlayers'((62 . 2)(62 . 1)));;颜色为2的改成1
(MODlayers'((70 . 4)(70 . 0)));;锁定图层解锁
....
回复 支持 1 反对 1

使用道具 举报

发表于 2018-6-29 18:04 | 显示全部楼层
确实修改打印样式表最简单粗暴
发表于 2018-7-1 00:38 | 显示全部楼层
llsheng_73 发表于 2018-6-29 17:55
(MODlayers'((370 . -3)(370 . 50)));;线宽为默认的的改为0.5
(MODlayers'((62 . 2)(62 . 1)));;颜色为2 ...

龙大师出手相助了!!!!
 楼主| 发表于 2019-6-30 08:42 | 显示全部楼层
llsheng_73 发表于 2018-6-29 11:37
(command"chprop"(SELECTBYLAYER'((0 . "*")) '((62 . 2))"AND")"""c"1"")

顶起来这个代码,这个很有用,但是代码出错,请修改下吧?
发表于 2019-6-30 11:07 | 显示全部楼层
很多用户提出来问题,总是希望能有人来写段代码去解决,而不是先认真学习和掌握acad的基本功能。有的人工作了近十年,居然连ltscale都不知道....很多人只是在AutoCAD知识的大山脚下绕圈子...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 16:09 , Processed in 0.645595 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表