明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 525|回复: 6

[提问] 求教IF判断的问题 如何判断2根不一样的线

[复制链接]
发表于 2018-6-12 16:30 | 显示全部楼层 |阅读模式
本帖最后由 张大锤 于 2018-6-12 16:34 编辑

(setq sx_1 (getpoint))(setq sx_2 (getcorner sx_1 ))
(setq sx_3 (ssget "c" sx_1 sx_2 '((-4 . "<AND")(0 . "LWPOLYLINE")(-4 . "<or")(62 . 121)(62 . 30)(-4 . "or>")(-4 ."AND>"))))   ;选择pl线 121和30颜色的
(setq sx_4 (sslength sx_3))       ;判断选择到几根
(setq n 0)
(repeat (sslength sx_3)
(setq ent (ssname sx_3 n))
(setq en (entget ent))
(setq p62 (cdr(assoc 62 en )))

(if (= sx_4 2)                             ;判断选择到了2根
(progn

2根线 颜色都是 30   = (alert "30线*2")
2根线 颜色都是121 = (alert "121线*2 ")

如果2根线 1根30 1根121 提示(alert "30+121 各1根")
请问各位这个地方 要怎么判断? 我现在只能判断出1跟 不能判断出2根

))





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2018-6-12 16:40 | 显示全部楼层
本帖最后由 Andyhon 于 2018-6-12 16:58 编辑

(cond
((= sx_4 2)
  (setq clrA (cdr (assoc 62 (entget (ssname sx_3 0))))
        clrB (cdr (assoc 62 (entget (ssname sx_3 1))))
  )      
  (= ClrA ClrB)
))
 楼主| 发表于 2018-6-12 16:58 | 显示全部楼层

请问一下 member 书写格式要怎么写 这个函数没有用过,,,
(member p62 (30 121))
这样写吗?
发表于 2018-6-12 17:10 | 显示全部楼层
如用 member
(setq clrss (Cons clra clrss))
(if (member clrb clrss)
...
)
 楼主| 发表于 2018-6-12 18:42 | 显示全部楼层
Andyhon 发表于 2018-6-12 17:10
如用 member
(setq clrss (Cons clra clrss))
(if (member clrb clrss)

感谢感谢 上边的那个已经解决了 我的问题
下边的 我研究一下 感谢感谢

(ssname   我只写过 0或者n 没有写过 1 原来还可以这样
发表于 2018-6-17 22:46 | 显示全部楼层
发现楼主非常好学...
同为新手的我   建议你看一下我发的主题贴(不要再追问我了,因为太久没玩LISP 我也忘光了)
 楼主| 发表于 2018-6-18 09:10 | 显示全部楼层
ysq101 发表于 2018-6-17 22:46
发现楼主非常好学...
同为新手的我   建议你看一下我发的主题贴(不要再追问我了,因为太久没玩LISP 我也忘 ...

3Q 感谢 现在去看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 14:14 , Processed in 0.314708 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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