カスタムコンポーネント-変数に入れるif文の条件式が複数ある場合
Not version-specific
Tekla Structures
Environment
Japan
Q:
カスタムコンポーネントの変数に、if文を利用して条件式を入れる際、条件の選択肢が3つ以上ある場合、else以下はどのように入れればいいでしょうか。
A:
if文を使用した条件分岐if~then~elseの、else以下に()を付けて条件を拡張することが可能です。
=if(条件1)then ”実行A” else (if(条件2)then “実行B” else (if(条件3)then “実行C” else ” ” endif) endif) endif
例)
P1が500以上の場合40、499~450は35、449~400は30を返し、条件が一致しない時は0を返す。
=if(P1>=500)then 40
else
(
if(P1<500 && P1>=450)then 35
else
(
if(P1<450 && P1>=400)then 30
else 0
endif
)
endif
)
endif
※上記の記載は分岐構造の紹介の図になり、実際は改行は不要です。
カスタムコンポーネントの変数式の記入欄に、全ての式を入れて確認しづらい場合は、一つの条件式ごとに変数を作成して入力しますと結果も確認しやすくなります。
例)P1 =if(P6>=500) then 40 else 0 endif
P2 =if(P6<500 && P6>=450) then 35 else 0 endif
P3 =if(P6<450 && P6>=400) then 30 else 0 endif
P4 =P1+P2+P3
P5 =if(P4>0)then P4 else 0 endif(条件式の判定結果として出力する変数)
P6 (計算に使用される値)
カスタムコンポーネントの変数に、if文を利用して条件式を入れる際、条件の選択肢が3つ以上ある場合、else以下はどのように入れればいいでしょうか。
A:
if文を使用した条件分岐if~then~elseの、else以下に()を付けて条件を拡張することが可能です。
=if(条件1)then ”実行A” else (if(条件2)then “実行B” else (if(条件3)then “実行C” else ” ” endif) endif) endif
例)
P1が500以上の場合40、499~450は35、449~400は30を返し、条件が一致しない時は0を返す。
=if(P1>=500)then 40
else
(
if(P1<500 && P1>=450)then 35
else
(
if(P1<450 && P1>=400)then 30
else 0
endif
)
endif
)
endif
※上記の記載は分岐構造の紹介の図になり、実際は改行は不要です。
カスタムコンポーネントの変数式の記入欄に、全ての式を入れて確認しづらい場合は、一つの条件式ごとに変数を作成して入力しますと結果も確認しやすくなります。
例)P1 =if(P6>=500) then 40 else 0 endif
P2 =if(P6<500 && P6>=450) then 35 else 0 endif
P3 =if(P6<450 && P6>=400) then 30 else 0 endif
P4 =P1+P2+P3
P5 =if(P4>0)then P4 else 0 endif(条件式の判定結果として出力する変数)
P6 (計算に使用される値)