明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 569|回复: 6

[源码] 请教:)

[复制链接]
发表于 2015-11-25 11:13 | 显示全部楼层 |阅读模式
(defun  C:TT( / LAY I)
   (vl-load-com)
   (vlax-for  I  (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))   
       (if (wcmatch (strCase (vla-get-Name I)) "A*,B*,C*,D*")
           (progn
                  (setq LAY (cons (vla-get-Layer I) LAY) )        ;;;;;;;;;;;;;;LINE 1            
                  (princ (strcat "[" (vla-get-Name I) "]\n") )               )                           
       )   

   )         
   (setq LAY (vl-sort LAY '<) )
   (vlax-for  I  (vla-get-layers (vla-get-activedocument (vlax-get-acad-object)))
          (princ (strcat "=" (vla-get-Name I) "=\n") )
   )
   (princ)
)

上述代码的目的是想把A、B、C、D开头的图层全部找出来,
但我只要增加了 LINE1 那句代码,其后面的所有代码均失效,能运行,但不会执行我要的操作(如PRINC之类)
发表于 2015-11-25 11:31 | 显示全部楼层

  1. (defun c:tt (/ lyrs)
  2.   (vlax-for lyr        (vla-get-layers
  3.                   (vla-get-activedocument (vlax-get-acad-object))
  4.                 )
  5.     (if
  6.       (and (wcmatch (strcase (setq name (vla-get-name lyr))) "[ABCD]*")
  7.            (not (member name lyrs))
  8.       )
  9.        (setq lyrs (cons name lyrs))
  10.     )
  11.   )
  12.   (foreach x (vl-sort lyrs '<)
  13.     (princ (strcat "\nName = " x))
  14.   )
  15.   (princ)
  16. )
 楼主| 发表于 2015-11-25 12:53 | 显示全部楼层
ivde 发表于 2015-11-25 11:31

但我在 你的 IF then 后面增加一句            (princ (strcat "\nName **** " lyr))
后 其后的代码也无效了,何解?
         
发表于 2015-11-25 12:57 | 显示全部楼层
问题在(vla-get-Layer I)这一句
查一下vla-get-Layer适用的对象是啥
发表于 2015-11-25 13:19 来自手机 | 显示全部楼层
iJero 发表于 2015-11-25 12:53
但我在 你的 IF then 后面增加一句            (princ (strcat "\nName **** " lyr))
后 其后的代码也无 ...

lyr是OBJECT不是string,自然不能Strcat
 楼主| 发表于 2015-11-25 13:39 | 显示全部楼层
ivde 发表于 2015-11-25 13:19
lyr是OBJECT不是string,自然不能Strcat

我对lyr 加了(vla-get-Name Lyr)
 楼主| 发表于 2015-11-25 13:45 | 显示全部楼层
问题貌似解决了,受ivide的提醒,可能是哪个LIST里混编了OBJECT 和STRING ,在仔细查看中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 19:40 , Processed in 0.234461 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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