过滤器列表操作帮助
Hy编码器!我不明白为什么这个简单的代码不起作用:
我的目的是对属于第1层和第2层的线条进行连接选择。
(setq ss (ssget "_X" '(
(0 . "LINE")
(-4 . "<AND")
(8 . "layer1")
(8 . "layer2")
(-4 . ">AND")
)
)
)
(sssetfirst nil ss)
我不明白是否有什么错误。
对不起,我提了个愚蠢的问题
谢谢 在AND测试中不能有2个层。尝试OR测试
作为替补
(setq ss (ssget "X" (list (cons 0 "LINE")(cons 8 "LAYER1,LAYER2"))))
-大卫 有没有简单的方法来选择属于第1层第2层的线,排除所有其他线和其他对象?
(setq ss (ssget "_X"
'(
(-4 . "<OR")
(-4 . "<AND") (0 . "LINE") (8 . "layer1") (-4 . "AND>")
(-4 . "<AND") (0 . "LINE") (8 . "layer2") (-4 . "AND>")
(-4 . "OR>")
)
)
)
我做到了!
但仍然存在一些问题;
我需要插入存储在变量中的层的类似字符串的名称。
(setq ss (ssget "_X"
'(
(-4 . "<OR")
(-4 . "<AND") (0 . "LINE") (8 . "layer1") (-4 . "AND>")
(-4 . "<AND") (0 . "LINE") (8 . "layer2") (-4 . "AND>")
(-4 . "OR>")
)
)
)
我得到了这个错误:错误的值错误的SSGET。
这可能吗? 是的,你做到了!这是一种非常冗长的方式,但它是正确有效的-大卫 我建议:
(ssget "_X" '((0 . "LINE") (8 . "layer1,layer2")))
关于使用变量,请参阅我的教程。
(setq ss (ssget "_X" (list '(0 . "LINE") (cons 8 (strcat namelayer1 "," namelayer2)))))
(sssetfirst nil ss)
这是最后的代码。
谢谢大家! 干得好不客气。
页:
[1]