明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6291|回复: 21

[提问] 请问如何在if语句中并列多个判断值

[复制链接]
发表于 2013-12-13 09:48:13 | 显示全部楼层 |阅读模式
本帖最后由 peraperson 于 2013-12-13 10:14 编辑

比如我想在选择集中找到处于图层 a b c d 的图元
尝试了(if (= (cdr (assoc 8 endata)) "a,b,c,d")这种写法,结果不可行
请问应该怎么写
另外如何通过框选建立图层集代替 a b c..
发表于 2013-12-13 09:53:12 | 显示全部楼层
(if (wcmatch (cdr (assoc 8 endata)) "a,b,c,d")行吗?
 楼主| 发表于 2013-12-13 10:00:44 | 显示全部楼层
本帖最后由 peraperson 于 2013-12-13 10:03 编辑
自贡黄明儒 发表于 2013-12-13 09:53
(if (wcmatch (cdr (assoc 8 endata)) "a,b,c,d")行吗?

非常谢谢黄兄
可以了 但是如果是要判断不等于呢?
还有 如果我不想通过写a b c d到lisp里(因为 a b c d等未定),希望通过框选图中多个元素得到相应的图层储存起来(即图层集)作为判断值 请问有什么方法呢
谢谢
发表于 2013-12-13 10:02:40 | 显示全部楼层
(if (member (cdr (assoc 8 endata)) '("a" "b" "c" "d")))
发表于 2013-12-13 10:05:19 | 显示全部楼层
(setq lan(cdr (assoc 8 endata)))
(if (or (= lan "a")
         (= lan "b")
....

或者:
(if (member lan '("a" "b" "c" "d"))
  ...
 楼主| 发表于 2013-12-13 10:07:04 | 显示全部楼层
llsheng_73 发表于 2013-12-13 10:02
(if (member (cdr (assoc 8 endata)) '("a" "b" "c" "d")))

谢谢 试了一下可行  
如果我不想通过写a b c d到lisp里(因为 a b c d等未定),希望通过框选图中多个元素得到相应的图层储存起来(即图层集)作为判断值 请问有什么方法呢
 楼主| 发表于 2013-12-13 10:08:16 | 显示全部楼层
ll_j 发表于 2013-12-13 10:05
(setq lan(cdr (assoc 8 endata)))
(if (or (= lan "a")
         (= lan "b")

谢谢 请问如何通过框选建立图层集代替 a b c...
发表于 2013-12-13 10:17:00 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-12-13 10:22 编辑
peraperson 发表于 2013-12-13 10:08
谢谢 请问如何通过框选建立图层集代替 a b c...


;;'("a" "b" "c" "d")这一部分你可以自己定义一个图层名表
;;比如你选了一堆东东得到一个选择集S,通过SSLENGTH S得到它的长度n
(setq n(sslength s)m 0  ls nil)
(while (< m n)(setq ly(cdr(assoc 8(entget(ssname s m))))
                    m(1+ m)
                    ls(if(member ly ls)ls(cons ly ls))))

(if (member (cdr (assoc 8 endata)) ls)
    (progn  真 )
    (progn  假)
)
发表于 2013-12-13 10:25:43 | 显示全部楼层
peraperson 发表于 2013-12-13 10:08
谢谢 请问如何通过框选建立图层集代替 a b c...

框选的时候需要用ssget的逻辑判断组码-4了,
(ssget (list '(-4 .  "<or") '(8 . "a") ... '(-4 . "or>)))
发表于 2013-12-13 10:27:14 | 显示全部楼层
试试 (ssget '((8 . "[a-d]")))
详情 得究 WcMatch 的帮助

点评

这种写法得学习下,不然只能(-4 . "<OR") (8 . "图层1")....(8 . "图层n")(-4 . "OR>")一长串,看着都心烦  发表于 2013-12-13 10:51
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-26 01:19 , Processed in 0.198043 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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