明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2363|回复: 13

[已解答] 为何(cdr (assoc 8 (entget (car ssd))))得出的图层名称不能用作对比?

[复制链接]
发表于 2014-10-25 09:18 | 显示全部楼层 |阅读模式
(defun c:22()
(setq ssd (entsel "\n请指定图层:"));所选的也是对应的PUNCH图层
(setq ssw (cdr (assoc 8 (entget (car ssd)))))
(if (= ssw PUNCH) (princ "111111111"))
(princ)
)
 楼主| 发表于 2014-10-25 13:49 | 显示全部楼层
不知那里出错现在可以啦,谢谢.
上面所有都有试过我才发帖的.我刚刚关机从新打开CAD就可以啦.
回复 支持 1 反对 0

使用道具 举报

发表于 2014-10-25 09:22 | 显示全部楼层
应该是 (= ssw "PUNCH") 吧?
 楼主| 发表于 2014-10-25 09:39 | 显示全部楼层
highflybir 发表于 2014-10-25 09:22
应该是 (= ssw "PUNCH") 吧?

不行常试过!!!
发表于 2014-10-25 10:01 | 显示全部楼层
ymcui 发表于 2014-10-25 09:39
不行常试过!!!

PUNCH 是大小写么?
发表于 2014-10-25 10:02 | 显示全部楼层
PUNCH是什么,数值还是字串?如果是字串,注意大小写。实在不行,把=换成equal
发表于 2014-10-25 10:03 | 显示全部楼层
图层名得注意 大小写的对应关系
Punch /= PUNCH  /= punch
 楼主| 发表于 2014-10-25 10:22 | 显示全部楼层
自贡黄明儒 发表于 2014-10-25 10:02
PUNCH是什么,数值还是字串?如果是字串,注意大小写。实在不行,把=换成equal

PUNCH是:点选物体得出的图层名称
        (setq ssd (entsel "\n请指定图层:"))
        (setq ssw (cdr (assoc 8 (entget (car ssd)))))
 楼主| 发表于 2014-10-25 10:25 | 显示全部楼层
Andyhon 发表于 2014-10-25 10:03
图层名得注意 大小写的对应关系
Punch /= PUNCH  /= punch

大小写也常试过还是不行
发表于 2014-10-25 11:40 | 显示全部楼层
那请上传该 Dwg 以利调试...
发表于 2014-10-25 13:17 | 显示全部楼层
ymcui 发表于 2014-10-25 10:25
大小写也常试过还是不行

;cad2008测试通过
(defun c:tt(/ ssd ssw )
(setq ssd (entsel "\n请指定图层:"));所选的也是对应的 "图层1" 图层
(setq ssw (cdr (assoc 8 (entget (car ssd)))))
(if (= ssw "图层1") (princ "111111111"))
(princ)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 01:05 , Processed in 0.211705 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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