ymcui 发表于 2014-10-25 09:18:59

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

(defun c:22()
(setq ssd (entsel "\n请指定图层:"));所选的也是对应的PUNCH图层
(setq ssw (cdr (assoc 8 (entget (car ssd)))))
(if (= ssw PUNCH) (princ "111111111"))
(princ)
)

ymcui 发表于 2014-10-25 13:49:29

不知那里出错现在可以啦,谢谢.
上面所有都有试过我才发帖的.我刚刚关机从新打开CAD就可以啦.

highflybir 发表于 2014-10-25 09:22:10

应该是 (= ssw "PUNCH") 吧?

ymcui 发表于 2014-10-25 09:39:40

highflybir 发表于 2014-10-25 09:22 static/image/common/back.gif
应该是 (= ssw "PUNCH") 吧?

不行常试过!!!

highflybir 发表于 2014-10-25 10:01:22

ymcui 发表于 2014-10-25 09:39 static/image/common/back.gif
不行常试过!!!

PUNCH 是大小写么?

自贡黄明儒 发表于 2014-10-25 10:02:13

PUNCH是什么,数值还是字串?如果是字串,注意大小写。实在不行,把=换成equal

Andyhon 发表于 2014-10-25 10:03:58

图层名得注意 大小写的对应关系
Punch /= PUNCH/= punch

ymcui 发表于 2014-10-25 10:22:24

自贡黄明儒 发表于 2014-10-25 10:02 static/image/common/back.gif
PUNCH是什么,数值还是字串?如果是字串,注意大小写。实在不行,把=换成equal

PUNCH是:点选物体得出的图层名称
        (setq ssd (entsel "\n请指定图层:"))
        (setq ssw (cdr (assoc 8 (entget (car ssd)))))

ymcui 发表于 2014-10-25 10:25:10

Andyhon 发表于 2014-10-25 10:03 static/image/common/back.gif
图层名得注意 大小写的对应关系
Punch /= PUNCH/= punch

大小写也常试过还是不行

Andyhon 发表于 2014-10-25 11:40:54

那请上传该 Dwg 以利调试...

kwok 发表于 2014-10-25 13:17:32

ymcui 发表于 2014-10-25 10:25 static/image/common/back.gif
大小写也常试过还是不行
;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)
)
页: [1] 2
查看完整版本: 为何(cdr (assoc 8 (entget (car ssd))))得出的图层名称不能用作对比?