明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2076|回复: 10

[求助]除指定图层外的所有图层的物体的颜色改到指定的颜色

  [复制链接]
发表于 2009-7-31 11:03:00 | 显示全部楼层 |阅读模式
在程式里用到要修改所有图层内的物体的颜色,但有一个指定的图层的物体的颜色是不能改的,试过锁住指定的图层用命令change "all" "p" "c" 修改但当遇到只有指定的图层有物体时,会出现 未知命令[p] [c]等的提示。如何得到除指定图层外的所有图层的物体的颜色改到指定的颜色?请教各位大哥了
发表于 2009-7-31 11:21:00 | 显示全部楼层

(setq lay (getstring "\n要排除的层名:"))

(setq ss (ssget "x" (list (cons 8 (strcat "~" lay)))))

(command "_.chprop" ss "" "c_" "1" "");;以改为红色为例

 楼主| 发表于 2009-8-6 10:47:00 | 显示全部楼层

上面这位大哥说的也行不通啊,比如我输入0层,但我只有0层上有图元其它层没有时也会出现未知命令“C” “1”等的提示。还有就是象下面这样,我不要在提示输入直接内定图层名,如果有多个图层要排除时应该怎样写呢

(setq ss (ssget "x" (list (cons 8 (strcat "~" "0"))

发表于 2009-8-6 11:15:00 | 显示全部楼层

楼上大哥只是举例耳
完整的程序需要更周延的考量
但一般我给自己编程时效率摆前头,那天出错了再来补条件

给朋友编程也只保证通过他所给的调试用文件而已
状况外的事多着呢,就看自己怎么样取舍了

发表于 2009-8-6 13:18:00 | 显示全部楼层

Andyhon兄说的的是,多个图层以逗号分开:

(setq ss (ssget "x" (list (cons 8 (strcat "~" "lay1,lay2,lay3"))

发表于 2009-8-6 16:48:00 | 显示全部楼层
淮上发表于2009-8-6 13:18:00Andyhon兄说的的是,多个图层以逗号分开:(setq ss (ssget \"x\" (list (cons 8 (strcat \"~\" \"lay1,lay2,lay3\"))

请问句子中的"~" 是什么意思?学习一下,谢谢!

发表于 2009-8-7 13:37:00 | 显示全部楼层
查看 wcmatch 函数帮助
发表于 2009-8-7 18:47:00 | 显示全部楼层
淮上发表于2009-8-7 13:37:00查看 wcmatch 函数帮助

谢谢指点!找到了!
 楼主| 发表于 2009-8-7 20:27:00 | 显示全部楼层
淮上发表于2009-8-6 13:18:00Andyhon兄说的的是,多个图层以逗号分开:(setq ss (ssget \"x\" (list (cons 8 (strcat \"~\" \"lay1,lay2,lay3\"))

淮上大哥你试过用逗号分开运行后可行了吗,这个我试了怎么只有第一个图层名有效,其后面的都为无效的。
发表于 2009-8-8 19:30:00 | 显示全部楼层

(setq ss (ssget "x" (list (cons 8 "~[lay1~lay2~lay3]"))))

不知对不对

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

本版积分规则

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

GMT+8, 2024-10-1 09:39 , Processed in 0.178851 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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