REVIT - Câu lệnh If (if文)

 

 
if文
条件文ifの構文
ファミリのパラメータには条件文を組み込むことができます。構文は
=if(条件,条件が真の場合の値,条件が偽の場合の値)
です。
【条件は数字しか判断できない】

条件には他のパラメータの値を用いることができますが、その真偽の判断が可能なのは数字のみで、文字は判断できません。たとえば「文字列が一致する」などの判断はできません。

例1
パラメータ名 パラメータタイプ
paramA           文字
paramB           文字
 
=if(paramA=paramB,…,…)
 
条件式に用いることができるパラメータタイプは、
  • 数値
  • パラメータタイプが数値のパラメータ名
  • パラメータタイプがはい/いいえのパラメータ名です。
【異なるタイプを比較するには?】
例2
パラメータ名 パラメータタイプ
paramA           長さ
paramB           実数
=if(paramA=paramB,…,…)
 
 
パラメータタイプが異なる場合は直接比較することはできません。そう、Revitは単位にうるさいのです。こういうときは「魔法の/1」を使って
○=if(paramA / 1 = paramB, …,…)
とすればOKです。
【以上・以下の判断】
大きい小さいを比較する演算子は>,<,=のみであり、>=や<=を用いることはできません。これは「未満ではない」という理屈でnotを使って条件式を作ります。notは真偽の値を反転します。
 
例3
パラメータ名 パラメータタイプ
paramA           長さ
paramB           長さ
 
 
 
paramAがparamB以上である
=if(paramA >= paramB, …, …)
○=if(not(paramA < paramB), …, …)
 
【値の差が±1.0に納まっている】
値が±○○以内にあることを判断するには絶対値absを使います。
 
例4
パラメータ名 パラメータタイプ
paramA           長さ
paramB           長さ
 
 
 
paramA-paramBが±1未満である
○=if(abs(paramA - paramB) < 1 , …, …)
 
paramA-paramBが±1以内(1より大きくない)である
○=if(not(abs(paramA - paramB) > 1 ), …, …)
【〇〇より大きく〇〇より小さい】
値がある範囲に収まっているかどうかを判断するにはandを使って二つの式を結合します。
andの構文  and(式1,式2)
式1と式2がともに真ならば、真を返します。つまり両方成り立っている場合だけ真を返します。
 
例5
パラメータ名 パラメータタイプ
paramA           長さ
 
paramAが1より大きく10より小さい場合
 
 
○=if(and(paramA>1, paramA<10) , …, …)
 
paramAが1以上10以下の場合
 
 
○=if(and(not(paramA < 1), not(paramA > 10)),…, …)
 
paramAが1以上10未満の場合
 
 
○=if(and(not(paramA < 1), paramA < 10),…, …)
【条件式をはい/いいえのパラメータが受け取るとき】
条件式を「はい/いいえ」のパラメータが受け取る場合はifは不要です。
 
例6
パラメータ名 パラメータタイプ
paramA           長さ
paramB           はい/いいえ
 
paramAが10より小さいとき
 
paramB = paramA<10
 
 
【範囲外】
ある範囲に値がないことを判断するにはORを使います。
orの構文  or(式1, 式2)
式1または式2のどちらかが真であれば真を返します。つまりどちらかが成り立っていればよい、ということです。
例7
パラメータ名 パラメータタイプ
paramA           長さ
 
paramAが0未満、または10より大きい
○=if(or(paramA<0, paramA>10) , …, …)
paramAが0以下、または10以上
○=if(or(not(paramA>0), not(paramA<10)) , …, …)
【二つ以上の式を判断する】
andとorは引数として式を2しか受け取ることができませんが、使い方を工夫すれば3つ以上の条件を判断することができます。
考え方のポイントは
 
  • ☑真=1(0でない整数)
  • □偽=0
  • andは掛け算(式1×式2)----一つでも0があれば答えは0=偽
  • orは足し算(式1+式2)-----一つでも1があれば答えは0ではない=真
 
とすればわかりやすいと思います。
 
すべての式が成り立っていることを判断するには
and(and(式1,式2),式3)
                         --------(式1×式2)×式3
and(and(式1, 式2), and(式3, 式4))
                         --------(式1×式2)×(式3×式4)
一つでも偽=0があれば答えは0=偽です。
 
どれかが成り立っていることを判断するには
or(or(式1,式2),式3)
                         --------(式1+式2)+式3
or(or(式1, 式2), or(式3, 式4))
                         --------(式1+式2)+(式3+式4)
一つでも真=1があれば答えは0ではない=真です。

Cảm ơn bạn đã theo dõiheart

Nếu bạn thấy bài viết này hữu ích hãy Chia sẻ, Like và Follow trang để chúng mình có động lực ra thêm nhiều bài viết nữa nhésmileysmileysmiley!

https://www.facebook.com/Beniken.vn

https://www.youtube.com/@benikenvn

 

#ベトナムCGパース作成#ベトナム工場工事建設請負#CGパース作成#ベトナムBIMデータ作成#BIM活用#ベトナム図面屋#ベトナム図面作成#図面トレース#設計施工#鉄骨図作成#CAD図面作成#ベトナム施工図面作成#原寸作業#アウトソーシング#ベトナム図面屋#ベトナム図面作成#外観パース#内観パース#Revitデータ作成#建築CGパース#Revit#Skechup#Jwcad#Tekla#Real4#Autocad#Beniken#beniken.vn

 

Beniken co., Ltd
BENIKEN  有限会社
Blog