<Archicad 24>
Archicadの数式エディタを使用して、複数の条件を満たす数式を作成したい場合は、論理関数を使用して作成します。
今回は、IFを複数回使用して複数の条件を満たす数式を作成します。
例として、下記のような条件の場合を想定します。
- ゾーンの面積の面積を一覧表に表示したい
- 専有の面積のみを一覧表に表示したい
- 専有のうち1m2以下の面積は含めない
例えば、1m2の専有Cのゾーン面積のみを除いた専有部分の面積を取得したいとします。
そのために、下記の条件を判定する数式をプロパティで作成します。
・ゾーンが専有か共有か
・ゾーンの面積が1m2以下か
手順
まずは、ゾーンが専有か共有かの判別を作成します。今回はゾーンカテゴリを判定基準として、ゾーンカテゴリが「共用」のゾーンを「共有」として、その他のゾーンカテゴリのものを「専有」とします。
Archicadのメニューからプロパティマネージャーを開きます。
オプション> プロパティマネージャー
新しくプロパティを作成します。専有、共有の区別だけなので、下記のように作成します
- データタイプ「文字列」
- 数式
IF ( {Property:ゾーン/ゾーンカテゴリ} = "共用", "共有", "専有" )
次に、面積が1㎡以下かどうかを判定する数式を作成します。ゾーンの「計算した面積」が1以下の場合かの判定を行います。今回は1m2以下を"No"、1m2より大きい場合を"Yes"と返すようにしています。
- データタイプ「文字列」
- 数式
IF ( STRTONUM ( STRCALCUNIT ( {Property:ゾーン/計算した面積} ) ) <= 1, "No", "Yes" )
最後に、上記2つの条件を満たしているかどうかを確認するために、面積として一覧表で集計する場合は、「計算した面積」を、集計しない場合は「0」を返すプロパティを作成します。
- データタイプ「面積」
- 数式
IF ( {Property:判定/ゾーンカテゴリ判定(共有専有)} = "共有", 0 m2, IF ( {Property:判定/面積判定} = "Yes", {Property:ゾーン/計算した面積}, 0 m2 ) )
この数式は、まずゾーンのカテゴリの判別で「共有」かどうかをチェックします。
「共有」の場合、専有の面積から除外しますので、0m2とし、次の「共有ではない場合」つまり専有の場合に、さらにIFを作成して、面積の判定を行います
面積判定で"Yes"、つまり1m2よりも大きい専有の場合は、「計算した面積」を返し、1m2以下の場合は、0m2を返します。
結果
一覧表で作成したプロパティをフィールドに追加すると、下記のような結果が得られます。
「専有」の「1m2よりも大きい」ゾーンの面積の合計が取得できていることが確認できます。
確認ができたら、上記の条件に合致したゾーンだけの一覧表を作成します。
先度作成したプロパティを一覧表の基準に作成し、条件に合致するゾーンだけに絞り込みます。
条件に合致したゾーンのみの一覧表が作成できました。
コメント
0件のコメント
記事コメントは受け付けていません。