zzc83 发表于 2012-11-5 22:47:39

求助--框选范围内图元颜色 按层色(不是随层,是层色),

求助,框选范围内有多个图层,要求框选的内容都能改为图层色,例图层A随层是红色,就是把图层A的实体全部改为1色 搜索参考的命令如下。。。谢谢
command "_.chprop" "_all" "" "_color" "1-7" "")
;;;获取对象颜色--zml84
(defun C:TT (/ SS ENT COL)
    (if (setq SS (nentsel "\n请点取对象: "))
    (progn
      (setq ENT (entget (car SS)))
      (if    (setq COL (cdr (assoc 62 ENT)))
      ()
      (setq COL
             (cdr (assoc 62
                     (tblsearch "layer" (cdr (assoc 8 ENT)))
                  )
             )
      )
      )
      (princ COL)
    )
    )
    (princ)
)

Andyhon 发表于 2012-11-5 23:07:35

本帖最后由 Andyhon 于 2012-11-5 23:12 编辑

...框选范围内有多个图层...

能列举吗? 比如有 "A" "AA" "FF" "TXT" 等
这样代码单纯些...

zzc83 发表于 2012-11-6 09:23:46

大概有10个图层左右,暂时命名为zz-a,zz-b,zz-c,zz-d,zz-e,zz-f,zz-g,zz-h,zz-i,zz-j,zz-k,zz-l   以后自己改这些图层名字,谢谢

Andyhon 发表于 2012-11-6 10:25:16

For test
(setq sset (ssget))
(Foreach Lyr '("zz-a" "zz-b" "zz-c" "zz-d" "zz-e" "zz-f" "zz-g" "zz-h" "zz-i" "zz-j" "zz-k" "zz-l")
(cond
   ((Setq ss (ssget "P" (list (cons 8 lyr))))
    (command "_.chprop" ss "" "_color" (cdr (assoc 62 (entget (tblobjname "Layer" Lyr)))) "")
))
(command "Select" sset "")
)

zzc83 发表于 2012-11-6 11:07:37

可以用了,谢谢了

hehoubin 发表于 2012-11-6 11:11:19

楼主能贴完整源码吗?

海盗曹 发表于 2014-3-14 09:40:04

学习zml的好程序,正好写一个小程序能用上
页: [1]
查看完整版本: 求助--框选范围内图元颜色 按层色(不是随层,是层色),