张大锤 发表于 2018-6-29 09:14:07

if判断(请教 = 与 /= 的问题(= 数值 或 座标的不同))

(= 1 1)
T
数值 = 1 1OK

(setq A '(-71750.7 3062.91 0))
(setq B '(-71750.7 3062.91 0))
(= a b)
nil
座标相同 如何判断=



(setq ss0 (SSGET)
(setq ssA (cdr (assoc 10 (entget (ssname ss0 0)))))
(setq ssB (getpoint ssA "\n選擇"))

(setq ssL (rtos (/ (* (angle ssA ssB) 180) pi) 2 4))
(if (or (= ssL "0")(= ssL "90")(= ssL "180")(= ssL "270"))
(alert "1")
)
(if (or (/= ssL "0" )(/= ssL "90")(/= ssL "180")(/= ssL "270"))
(alert "2")
)

当ssa/ssb 形成的角度是0 90 180 270俩个判断都会生效(这里怎么写才能只判断1 而不判断2)
当ssa/ssb 形成的角度不是0 90 180 270alet "2" 会生效




请教各位这些基础知识 因自学比较杂 这些基础的东西 真的没明白怎么回事 所以求指点

llsheng_73 发表于 2018-6-29 09:32:41

本帖最后由 llsheng_73 于 2018-6-29 09:35 编辑

(equal a b)
(equal a b 0.01)
.....
(vl-every '= a b)


(if (or (= ssL "0")(= ssL "90")(= ssL "180")(= ssL "270"))
(alert "1")
)
(if (or (/= ssL "0" )(/= ssL "90")(/= ssL "180")(/= ssL "270"))
(alert "2")
)
=>
(alert(if(member ssL'("0" "90" "180" "270")"1" "2"))

张大锤 发表于 2018-6-29 09:42:18

llsheng_73 发表于 2018-6-29 09:32
(equal a b)
(equal a b 0.01)
.....


Thank
页: [1]
查看完整版本: if判断(请教 = 与 /= 的问题(= 数值 或 座标的不同))