明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1846|回复: 10

[讨论] 请教 if 简约写法

[复制链接]
发表于 2018-6-13 10:48:27 | 显示全部楼层 |阅读模式
(if (= ctrA "1")(if (= ctrB "2")(if (= ctrC "2")
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))
(if (= ctrA "2")(if (= ctrB "1")(if (= ctrC "2")
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))
(if (= ctrA "2")(if (= ctrB "2")(if (= ctrC "1")
(progn
(command "-insert" "s90" sxx_10 "" "" "")
(command "-insert" "kt7" ktx_10 "" "" "")
)
)))





请问红色字 因为ABC的循序原因 我要这么写3遍
虽然可以达到我要的效果 但我想请问一下 有比较简约的写法吗?

发表于 2018-6-14 08:52:04 | 显示全部楼层
  1. (if (member (strcat strA atrB strC) '("122" "212" "221"))
  2.    (progn
  3.       (command "-insert" "s90" sxx_10 "" "" "")
  4. (command "-insert" "kt7" ktx_10 "" "" "")
  5. )
  6. )
回复 支持 1 反对 0

使用道具 举报

发表于 2018-6-13 10:55:34 | 显示全部楼层
  1. (if (or        (and (= ctrA "1")
  2.              (= ctrB "2")
  3.              (= ctrC "2")
  4.         )
  5.         (and (= ctrA "2")
  6.              (= ctrB "1")
  7.              (= ctrC "2")
  8.         )
  9.         (and (= ctrA "2")
  10.              (= ctrB "2")
  11.              (= ctrC "1")
  12.         )
  13.     )
  14.   (progn
  15.     (command "-insert" "s90" sxx_10 "" "" "")
  16.     (command "-insert" "kt7" ktx_10 "" "" "")
  17.   )
  18. )

是这个意思吗?
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-6-13 13:07:04 | 显示全部楼层
vectra 发表于 2018-6-13 10:55
是这个意思吗?

嗯是这么个意思 就是简洁的写法
发表于 2018-6-13 14:08:02 | 显示全部楼层
若非字串而是数值或可
但得考量变量是 1 2 之外时???
(or
   (= ctrA (1- ctrB) (1- ctrC) 1)
   (= (+ CtrB CtrC ctrA) 5)
)
 楼主| 发表于 2018-6-13 14:16:33 | 显示全部楼层
本帖最后由 张大锤 于 2018-6-13 14:26 编辑
Andyhon 发表于 2018-6-13 14:08
若非字串而是数值或可
但得考量变量是 1 2 之外时???
(or

哦 第一次没看懂 手写了一遍懂了    这么写是挺简洁的 就是好绕脑
a=1
b=2
c=2
A =1 (1-B=1)(1-C=1)   A B C 都等于1 成立
+ A B c =5   5=5 成立


其实A B C就是 3中管属性  并非数值  
但是2位的答复的确是我想要的 在if里 还是有很多写法的

发表于 2018-6-13 16:30:27 | 显示全部楼层
(equal (list "2" "2") (vl-remove "1" (list ctrA ctrB ctrC)))
 楼主| 发表于 2018-6-14 08:15:49 | 显示全部楼层

谢谢朋友 我想学习IF的写法
 楼主| 发表于 2018-6-14 09:27:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 12:44 , Processed in 0.189178 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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