为何(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)
) 不知那里出错现在可以啦,谢谢.
上面所有都有试过我才发帖的.我刚刚关机从新打开CAD就可以啦. 应该是 (= ssw "PUNCH") 吧? highflybir 发表于 2014-10-25 09:22 static/image/common/back.gif
应该是 (= ssw "PUNCH") 吧?
不行常试过!!! ymcui 发表于 2014-10-25 09:39 static/image/common/back.gif
不行常试过!!!
PUNCH 是大小写么? PUNCH是什么,数值还是字串?如果是字串,注意大小写。实在不行,把=换成equal 图层名得注意 大小写的对应关系
Punch /= PUNCH/= punch
自贡黄明儒 发表于 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))))) Andyhon 发表于 2014-10-25 10:03 static/image/common/back.gif
图层名得注意 大小写的对应关系
Punch /= PUNCH/= punch
大小写也常试过还是不行
那请上传该 Dwg 以利调试... 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