このセクションで説明する定数、演算子および関数を使用して、ARCHICAD要素に対して数式で定義されたプロパティを作成することができます。
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
値
3.141592654
引数がTrueまたはFalseのデータを必要とする関数で、TRUEまたはFALSEを返します。
例
文字列の接続 [TEXTJOIN]関数には、空のフィールドを無視するオプションがあります。
TEXTJOIN (“区切り文字”, 空の場合は無視, “テキスト1”, “テキスト2”, ...)
次のTEXTJOIN式では、True/Falseデータタイプである「空の場合は無視」引数に対してTRUEを挿入しています。
数式
TEXTJOIN (“, ”, TRUE, リノベーションステータス, 関連ゾーン名)
したがって、この式は空のフィールドを無視します。
例については、「文字列の接続 [TEXTJOIN]」を参照してください。
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
2つの引数(オペランド)を加算します。
構文
[+]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプと同じ
例
階段の蹴上高さと踏面の合計を返します。
数式
デフォルトの蹴上高さ + デフォルトの踏面
結果
2つの長さタイプの値を加算すると、長さタイプの結果(0.50など)が得られます。
注記
「 合計 [SUM]」も参照してください。
2つの引数(オペランド)を除算します。
構文
[/]
引数のデータタイプ
整数、数値、長さ、面積、体積、または角度
結果のデータタイプ
引数のデータタイプに依存します。
例
ゾーンの窓表面積パラメータを正味面積で割って、ガラス割合を計算します。
数式
窓表面積/正味面積
結果
2つの面積タイプの値を除算することによって、数値結果が得られます(.31など)
注記
両方の引数とも、面積タイプの値です。この数式による引数の除算結果として、単位なしの数値(2つの面積の比率)が求めれらます。
2つの引数(オペランド)を比較します。値が同じ場合はTrueを返し、等しくない場合はFalseを返します。
構文
[=]
引数のデータタイプ
True/False、整数、数値、長さ、面積、体積、角度、または文字列(全てのオペランドで同じである必要があります)
結果のデータタイプ
True/False
例
ゾーンが居住スペースに分類されているかどうかを確認します。
比較される2つの引数(分類と居住スペース)は、両方とも文字列タイプのデータです。
数式
ARCHICAD分類 -24 = “居住スペース”
結果
「居住スペース」として分類されたゾーンの場合はTrue、そうでない場合はFalse
2つの引数(オペランド)を比較します。
1つ目の値が2つ目の値より大きい場合はTrueを返し、それ以外の場合はFalseを返します。
構文
[>]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
True/False
数式
要素の購入価格(既存の数値タイプのプロパティ)が、30より大きいかどうかを識別します。
数式
購入価格> 30
結果
価格が30を超える要素の場合はTrue、それ以外の場合はFalse
2つの引数(オペランド)を比較します。1つ目の値が2つ目の値以上の場合はTrueを返し、それ以外の場合にはFalseを返します。
構文
[>=]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
True/False
例
ゾーンのガラス割合(既存のプロパティ)が、必須のガラス割合(固定値、ここでは .40)に適合している(所定の固定値以上の値である)かどうかを確認します。
数式
ゾーンのガラス割合 >= .40
結果
ガラス割合が .40 以上のゾーンの場合はTrue、そうでない場合はFalse
2つの引数(オペランド)を比較します。1つ目の値が2つ目の値よりも小さい場合はTrueを返し、それ以外の場合はFalseを返します。
構文
[<]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
True/False
例
要素の購入価格(既存の数値タイプのプロパティ)が、30より小さいかどうかを識別します。
数式
購入価格 < 30
結果
価格が30より小さい要素の場合はTrue、それ以外の場合はFalse
2つの引数(オペランド)を比較します。1つ目の値が2つ目の値以下の場合はTrueを返し、それ以外の場合にはFalseを返します。
構文
[<=]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
True/False
例
ゾーンのサブフロア厚さ(既存の長さタイプのプロパティ)が20 cm以下かどうかを識別します。
数式
サブフロア厚さ <= 20 cm
結果
サブフロア厚さが20cm以下のゾーンの場合はTrue、そうでない場合はFalse
注記
両方の引数のデータタイプが同じである必要があります。ここでは両方とも長さです。
長さの値には単位が必要です。数式エディタの単位ポップアップから長さの単位を選択します。
2つの引数(オペランド)を乗算します。
構文
[*]
引数のデータタイプ
整数、数値、長さ、面積、体積、または角度
結果のデータタイプ
引数のデータタイプに依存します。
例
特定のタイルの面積を、その固定されたプロパティ値(長さデータタイプ:水平方向の寸法(20 cm)および垂直方向の寸法(30 cm))に基づいて求めます。
数式
タイル寸法H * タイル寸法V
結果
600
注記
この例では、引数は両方とも長さです。これらの引数を乗算して面積を求めます:結果のプロパティのデータタイプを面積に設定します。
2つの引数を比較します。値が等しくない場合はTrueを返し、そうでない場合はFalseを返します。
構文
[<>]
引数のデータタイプ
True/False、整数、数値、長さ、面積、体積、角度、または文字列(全ての引数で同じである必要があります)
結果のデータタイプ
True/False
例
ゾーン分類の例として、オフィス、廊下、会議室、喫煙エリアなどが挙げられます。
「喫煙エリア」に分類されているゾーンを除く全てのゾーンで、煙探知器が必要です。
各ゾーンについて、その分類が「喫煙エリア」と等しくないかどうかを決定します。
この式では、両方の引数が文字列です。
数式
ARCHICAD分類 24 <> “喫煙エリア”
結果
喫煙エリアでない全てのゾーンについてTrue (このようなゾーンの全てで煙探知器が必要です)。
構文
[^]
またはべき乗 [POWER] 関数を使用します。
引数のデータタイプ
底:整数、数値、長さ、面積、体積、または角度
指数:整数または数値
結果のデータタイプ
引数のデータタイプに依存します (下記の注記を参照)。
数式
5^2
結果
25
注記
底のデータタイプが長さの場合
•指数が2だと、データタイプが面積でなければならないプロパティを返します。
•指数が3だと、データタイプが体積でなければならないプロパティを返します。
構文
[-]
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプと同じ
例
一方の長さタイプの式からもう一方の長さタイプの式を減算します。
結果も長さです(単位は長さの計算単位に依存します:ここでは、メートルです)。
数式
吊り天井レベル - 隆起したフロアレベル
結果
2.2
注記
この例では、引数は両方とも長さです。結果の値も長さです。
一連の条件の全ての項目(論理引数)がTrueであるかどうかを確認します。
全ての引数がTrueの場合、結果をTRUEで返します。
引数の中に一つでもFalseがある場合、FALSEを返します。
構文
AND (論理1, [論理2],...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
True/False
結果のデータタイプ
True/False
例
両方の梁長さのプロパティ(左長さと右長さ)が、指定された長さを超えているかどうかを決定します。
数式
AND (左長さ > 480 cm, 右長さ > 480 cm)
結果
TrueまたはFalse。両方の梁長さがこの値を超える全ての梁についてTrue、そうでない場合はFalse。
注記
AND関数は一連の引数を検証します。括弧内の各項目は、TrueまたはFalseのいずれかに識別できる論理引数であることが必要です。
一連の条件の少なくとも1つの項目(論理引数)がTrueであるかどうかを確認します。
少なくとも1つの引数がTrueの場合、TRUEを返します。
全ての引数がFalseの場合、FALSEを返します。
構文
OR (論理1, [論理2],...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
True/False
結果のデータタイプ
True/False
例1
梁長さプロパティ(長さ左または長さ右)のいずれかが所定の長さを超えるかどうかを決定します。
数式
OR (左長さ > 480 cm, 右長さ > 480 cm)
結果
TrueまたはFalse。少なくとも1つの梁長さがこの値を超える全ての梁についてTrue、そうでない場合はFalse。
例2
壁が耐火仕様であるかどうかを特定します。耐火仕様の壁は、次の2つの条件のうち少なくとも1つを満たす必要があります:ビルディングマテリアルが「鉄筋コンクリート - 構造」である、壁の厚さが50 cm以上である。
数式
OR (ビルディングマテリアル = "鉄筋コンクリート - 構造", 厚さ >= 50 cm)
結果
TrueまたはFalse。ビルディングマテリアルが鉄筋コンクリートである、および/または厚さが50 cm以上である全ての壁がTrueになります。
注記
OR関数は一連の引数を検証します。括弧内の各項目は、TrueまたはFalseのいずれかに識別できる論理引数であることが必要です。
結果がTRUEであればFALSEを返し、FALSEであればTRUEを返します。すなわち結果を逆にします。
構文
NOT (論理)
引数のデータタイプ
True/False
結果のデータタイプ
True/False
例
既存のプロパティは、モデルプロパティが未定義の全ての要素について「True」を返します。これらの結果をFalseに変更するには、NOTを使用します。
数式
NOT (ISUNDEFINED (モデル))
結果
モデルプロパティが<未定義>である全ての要素についてFalse
指定された論理引数がTrueの場合は指定された値を返し、
引数がFalseの場合は別の指定された値を返します。
構文
IF (論理, Trueの場合の値, Falseの場合の値)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
論理:True/False
Trueの場合の値, Falseの場合の値:任意のデータタイプ、ただし両方の値のデータタイプが同じである必要があります
結果のデータタイプ
値と同じデータタイプ
例
梁の長さに応じて梁の張り出しの標準を定義します。
梁が480 cmより短い場合、張り出しを10 cmにします。
480 cmより長い場合は、張り出しを12 cmにします。
数式
IF (左長さ <=480cm, 10 cm, 12 cm)
結果
短い梁の場合は10、長い梁の場合12
注記
複数の条件をテストする場合、IFS関数を使用する方が簡単な場合があります。
「If Multiple [IFS]」を参照してください。
複数の論理条件ごとに結果を返す場合、この関数を使用します。つまり、IF関数を複数条件に対応させた関数です。この関数は最初に定義された論理条件の値を返します。
IFSは、複数のネストされたIFステートメントの代替として使用できます。
構文
IFS (論理1, 値1, [論理2, 値2]...)
最大127個の論理条件を定義できます。
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
論理:True/False
値:任意のデータタイプ(ただし、全ての値に同じデータタイプと単位を使用する必要があります)
結果のデータタイプ
値と同じデータタイプ
例1
各ゾーンの分類に応じたガラス面積の必須比率を指定します。
数式
IFS (ARCHICAD分類 - 24 = "居住スペース","25%", ARCHICAD分類 - 24 = "会社スペース", "30%”,
ARCHICAD分類 - 24 = "収納スペース", "10%")
結果
各ゾーンの分類に応じて必要なガラス面積の比率を返します。値と結果のデータタイプは全て同じです(この場合は文字列)。
全ての条件がFalseである場合
一致する条件が存在しない場合、関数は「未定義」を返します。
ただし、論理条件が満たされなかった場合に使用するデフォルトの結果値を指定することもできます。最後の論理条件にTRUEを入力して、その後にデフォルト値を入力します。
このデフォルトの結果値のデータタイプは、関数のその他の結果値と同じです。
IFS (論理1, 値1, [論理2, 値2],...[TRUE,デフォルト値])
例2
梁を「長」(6 mより長い場合)または「短」(2 mより短い場合)として分類します。これらのカテゴリに該当しない梁を「中」として分類します。
数式
IFS (左長さ > 600 cm, "長", 左長さ < 200 cm, "短", TRUE, "中" )
結果
6 mより長い梁:長
2 mより短い梁:短
これらの中間の長さの梁:中
論理引数のTrueの数が奇数の場合、 Trueを返します。
2つの引数の場合:いずれか一方(両方ではない)がTrue。
構文
XOR (論理1, [論理2],...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
True/False
結果のデータタイプ
True/False
例
様々なサイズのオフィス装飾品を箱詰めする必要があります。3つのサイズの箱が使用可能です。
高さと幅がともに1mを超える品目は、大きい箱に入れます。
AND (幅 > 1m, 高さ > 1m)
高さと幅がともに1m未満の品目は、小さな箱に入れます。
AND (幅 < 1m, 高さ < 1m)
高さまたは幅のいずれかが1mを超える品目は、中サイズの箱に入れます。
プロパティを使用して、中サイズの箱が必要な品目を判断します。
数式
XOR (幅 > 1m, 高さ > 1m)
結果
幅または高さのいずれか(両方ではない)が1mを超える全ての品目についてTrue
特定のプロパティの値が未定義であるか確認します。
構文
ISUNDEFINED (値)
引数のデータタイプ
True/False、整数、数値、長さ、面積、体積、角度、または文字列
結果のデータタイプ
True/False
例
要素の文字列タイプの「モデル」プロパティが未定義であるかどうかを判定します。ISUNDEFINEDは論理値です。
数式
ISUNDEFINED (モデル)
結果
モデルプロパティが<未定義>である全ての要素についてTrue
絶対値。
数値の絶対値を返します。
構文
ABS (数値)
引数のデータタイプ
整数、数値、長さ、 面積、体積、角度
結果のデータタイプ
引数のデータタイプと同じ
数式
ABS (-4)
結果
4
eの指数関数。
指定された数値を"e"でべき乗した結果を返します。
底 “e” は定数(自然対数の底)です。
構文
EXP (数値)
引数のデータタイプ
数値、整数
結果のデータタイプ
数値
数式
EXP (2)
結果
7.39
注記
eの近似値は2.71828183です。
EXPは、自然対数 [LN](数値の自然対数)の逆関数です。
他の底のべき乗を計算するには、演算子^を使用します。
「べき乗 [^]」を参照してください。
指定された数値の自然対数を 返します。
構文
LN (数値)
引数のデータタイプ
数値、整数
結果のデータタイプ
数値
数式
LN (86)
結果
4.45
注記
LNは、e指数 [EXP]関数の逆関数です。
この関数は正の数値に対してのみ有効です。
指定された数値の底の対数を返します。
構文
LOG (数値, 底)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値、整数
結果のデータタイプ
数値
数式
LOG (8,2)
結果
3
注記
この関数は正の数値に対してのみ有効です。
指定された数値の底10の対数を 返します。
構文
LOG10 (数値)
引数のデータタイプ
数値、整数
結果のデータタイプ
数値
数式
LOG10 (10)
結果
1
注記
この関数は正の数値に対してのみ有効です。
モジュロ演算。除数で除算した後の余りを求めます。
構文
MOD (数値, 除数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値、整数
結果のデータタイプ
数値
数式
MOD (3,2)
結果
1
注記
商を(余りを出さずに)返すには、 商 [QUOTIENT]を使用します。
「 除算 [/]」も参照してください。
指定された引数の次数乗根を計算します。
構文
NTHROOT (数値, 次数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値:数値、整数、またはルート関数に適合するその他のデータタイプ
次数:数値、整数
結果のデータタイプ
引数のデータタイプに依存します。
例
指定された数値の立方根を求めます。
数式
NTHROOT (125, 3)
結果
5
注記
平方根については、「平方根 [SQRT]」を参照してください。
指定された数値の指定された指数の べき乗を返します。
構文
POWER (底, 指数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
底:整数、数値、長さ、面積、体積、角度
指数:数値、整数
結果のデータタイプ
引数のデータタイプに依存します。
数式
POWER (5,2)
結果
25
注記
べき乗 [^] (演算子)と同じように機能します。
除算の整数部を返します。
構文
QUOTIENT (分子, 分母)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、または角度(両方の引数で同じである必要があります)
結果のデータタイプ
数値
例
スラブの上部表面積プロパティをそのタイル面積プロパティで除算します。
Quotient関数は、結果の数値の整数部分のみを返します。
数式
QUOTIENT (上部表面積, タイル面積)
結果
1974
どちらのプロパティも面積タイプのデータです。除算すると数値が返されます。
注記
余りを(商を出さずに)返すには、余り [MOD]を使用します。
「 除算 [/]」も参照してください。
+1、0、または-1を返します。
数値が正の場合、結果は+1です。
数値がゼロの場合、結果は0です。
数値が負の場合、結果は-1です。
構文
SIGN (数値)
引数のデータタイプ
整数、数値、長さ、 面積、体積、角度
結果のデータタイプ
数値
例
編集可能なベース幅オフセットパラメータを持つ断面形状組み立て要素の場合:
ベース幅の値が正か負かを判定します。
数式
SIGN (ベース幅)
結果
-1 (ベース幅が負の場合)
1 (ベース幅が正の場合)
0 (ベース幅がゼロの場合)
平方根。
指定された引数の平方根を計算します。
構文
SQRT (数値)
引数のデータタイプ
整数、数値、面積
結果のデータタイプ
引数のデータタイプに依存します。
数式
SQRT (16)
結果
4
注記
他の次数乗根を計算するには、「N乗根 [NTHROOT]」を参照してください。
指定された引数の合計を計算します。
構文
SUM (数値1, [数値2],...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプに依存します。
例
2つのプロパティの結果を加算します。
数式
SUM (隆起したフロアレベル, サブフロア厚さ)
結果
.30
両方の引数とも、長さタイプの値です。加算された結果も長さタイプです。
注記
「 加算 [+]」も参照してください。
指定された数値を目的の倍数 になるように四捨五入します。
構文
MROUND (数値, 倍数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプに依存します。
数式
MROUND (2567, 10)
結果
2670
注記
余りが倍数の半分以上になると、MROUNDによって切り上げられます。
特定の倍数に常に切り上げるには倍数に切り上げ [MROUNDUP]を使用します。
特定の倍数に常に切り捨てるには倍数に切り捨て [MROUNDDOWN]を使用します。
特定の小数点以下の桁数に丸めるには四捨五入 [ROUND]、切り上げ [ROUNDUP]、切り捨て [ROUNDDOWN]を使用します。
指定された数値を目的の倍数 になるように切り捨てます。
構文
MROUNDDOWN (数値, 倍数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプに依存します。
例
「梁長さ」プロパティは、モデル内の既存の梁要素の正確な長さを計算します(2,044など)。
「プレハブ梁長さ」プロパティは固定値(300など)です。
梁長さをプレハブの増分に切り捨てる式を作成します。
数式
MROUNDDOWN (“梁長さ”, 300)
結果
1,800(サンプル梁長さが2,044の場合)
注記
「倍数に四捨五入 [MROUND]」、「倍数に切り上げ [MROUNDUP]」も参照。
特定の小数点以下の桁数に丸めるには四捨五入 [ROUND]、切り上げ [ROUNDUP]、切り捨て [ROUNDDOWN]を使用します。
指定された数値を目的の倍数 になるように切り上げます。
構文
MROUNDUP (数値, 倍数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプに依存します。
例
「梁長さ」プロパティは、モデル内の既存の梁要素の正確な長さを計算します(2,044など)。
「プレハブ梁長さ」プロパティは固定値(300など)です。
梁長さをプレハブの増分に切り上げる式を作成します。
数式
MROUNDUP (“梁長さ”, 300)
結果
2,100(サンプル梁長さが2,044の場合)
注記
「倍数に四捨五入 [MROUND]」、「倍数に切り捨て [MROUNDDOWN]」も参照。
特定の小数点以下の桁数に丸めるには四捨五入 [ROUND]、切り上げ [ROUNDUP]、切り捨て [ROUNDDOWN]を使用します。
数値を指定された桁数に丸めます。
構文
ROUND (数値, 桁数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値:整数、数値
桁数:整数
桁数引数が正の場合、指定された小数点以下の桁数に丸めます。(後述の「数式1」を参照)。
桁数引数がゼロの場合、数値は最も近い整数に丸められます。(後述の「数式2」を参照)。
桁数引数が負の場合、小数点の左側が丸められます。(後述の「数式3」を参照)。
結果のデータタイプ
数値
結果に表示される小数点以下の桁数は、[環境設定]→[作業単位]の設定によって異なります。
例
ROUND (46.9855, 2)
結果
46.99
ROUND (46.9855, 0)
結果
47.00
ROUND (46.9855, -1)
結果
50.00
注記
常に切り上げるには、切り上げ [ROUNDUP]を使用します。常に切り捨てるには、切り捨て [ROUNDDOWN]を使用します。
特定の倍数に丸めるには、倍数に四捨五入 [MROUND](または倍数に切り上げ [MROUNDUP]または倍数に切り捨て [MROUNDDOWN])を使用します。
数値を指定された桁数に切り捨てます。
桁数引数が正の場合、小数点以下の桁数に切り捨てます。
桁数引数がゼロの場合、数値は最も近い整数に切り捨てます。
桁数引数が負の場合、小数点の左側にある指定された桁数に切り捨てます。
構文
ROUNDDOWN (数値, 桁数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値:整数、数値
桁数:整数
結果のデータタイプ
数値
例
数式1
ROUNDDOWN (46.9855, 2)
結果
46.98
数式2
ROUNDDOWN (46.9855, 0)
結果
46.00
数式3
ROUNDDOWN (46.9855, -1)
結果
40.00
注記
「四捨五入 [ROUND]」、「切り上げ [ROUNDUP]」も参照。
特定の倍数に丸めるには、倍数に四捨五入 [MROUND](または倍数に切り上げ [MROUNDUP]または倍数に切り捨て [MROUNDDOWN])を使用します。
数値を指定した桁数に切り上げます。
桁数引数が正の場合、指定された小数点以下の桁数に切り上げます。
桁数引数がゼロの場合、数値は最も近い整数に切り上げます。
桁数引数が負の場合、小数点の左側にある指定された桁数に切り上げます。
構文
ROUNDUP (数値, 桁数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
数値:整数、数値
桁数:整数
結果のデータタイプ
数値
例
「タイル数」プロパティは、スラブの上部表面積 を1つのタイルの面積で除算します。結果は371.35です。
この結果を整数に切り上げる別のプロパティを作成します。
数式
ROUNDUP (タイル数, 0)
結果
372(タイル数の結果が371.35の場合)
注記
「四捨五入 [ROUND]」、「切り捨て [ROUNDDOWN]」も参照。
特定の倍数に丸めるには、倍数に四捨五入 [MROUND](または倍数に切り上げ [MROUNDUP]または倍数に切り捨て [MROUNDDOWN])を使用します。
数値のアークコサインを返します。
構文
ACOS (数値)
引数のデータタイプ
数値、整数。-1 ~ 1の範囲でなければなりません。
結果のデータタイプ
投影角度
数式
ACOS (-0.5)
結果
120度
注記
結果の角度の単位(度、ラジアン、グラードなど)は、[プロジェクト設定]→[計算単位/規則]→[角度の単位]で設定した内容によって異なります。
数値のアークコタンジェントを返します。
構文
ACOT (数値)
引数のデータタイプ
数値、整数
結果のデータタイプ
投影角度
数式
ACOT (2)
結果
27度
注記
結果の角度の単位(度、ラジアン、グラードなど)は、[プロジェクト設定]→[計算単位/規則]→[角度の単位]で設定した内容によって異なります。
数値のアークサインを返します。
構文
ASIN (数値)
引数のデータタイプ
数値、整数。-1 ~ 1の範囲でなければなりません。
結果のデータタイプ
投影角度
数式
ASIN (-0.5)
結果
-30度
注記
結果の角度の単位(度、ラジアンなど)は、[プロジェクト設定]→[角度の単位]で設定した内容によって異なります。
数値のアークタンジェントを返します。
構文
ATAN (数値)
引数のデータタイプ
数値、整数
結果のデータタイプ
投影角度
数式
ATAN (1)
結果
45度
注記
結果の角度の単位(度、ラジアンなど)は、[プロジェクト設定]→[角度の単位]で設定した内容によって異なります。
角度のコサインを返します。
構文
COS (角度)
引数のデータタイプ
投影角度
結果のデータタイプ
数値
数式
COS (60 D)
結果
0.5
注記
引数の角度値は、特定の単位(度、ラジアン、グラード)で表す必要があります。数式エディタの単位ポップアップから角度の単位を選択します。
角度のコタンジェントを返します。
構文
COT (角度)
引数のデータタイプ
投影角度
結果のデータタイプ
数値
数式
COT (30D)
結果
1.73
注記
引数の角度値は、特定の単位(度、ラジアン、グラード)で表す必要があります。
数式エディタの単位ポップアップから角度の単位を選択します。ここでは、度(D)が使用されています。
角度のサインを返します。
構文
SIN (角度)
引数のデータタイプ
投影角度
結果のデータタイプ
数値
数式
SIN (30D)
結果
0.50
注記
引数の角度値は、特定の単位(度、ラジアン、グラード)で表す必要があります。
数式エディタの単位ポップアップから角度の単位を選択します。ここでは、度(D)が使用されています。
角度のタンジェントを返します。
構文
TAN (角度)
引数のデータタイプ
投影角度
結果のデータタイプ
数値
数式
TAN (0.785 R)
結果
1.00
注記
引数の角度値は、特定の単位(度、ラジアン、グラード)で表す必要があります。
数式エディタの単位ポップアップから角度の単位を選択します。ここでは、ラジアン(R)が使用されています。
指定された引数の平均値を計算します。
構文
AVG (数値1, [数値2], ...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプと同じ
例
柱は傾斜屋根により切り取られるため、柱にはそれぞれ最大高さと最小高さの両方があります。
任意の柱について、AVGを使用してその平均高さを求めます。
数式
AVG (柱最大高さ, 柱最小高さ)
結果
3.08(指定された柱の最大高さが3.11、最小高さが3.04の場合)
注記
どちらの引数も長さタイプのデータなので、プロパティのデータタイプも長さに設定する必要があります。
指定された引数の最大値を計算します。
構文
MAX (数値1, [数値2], ...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプと同じ
例
一方の梁がもう一方の梁と交差するため、左右の長さが異なります
MAXを使用して、2つの長さのうち長い方を返します。
数式
MAX (左長さ, 右長さ)
結果
3.86(指定された梁の左右の長さがそれぞれ3.86と3.56の場合)
指定された引数の最小値を計算します。
構文
MIN (数値1, [数値2], ...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
整数、数値、長さ、面積、体積、角度(全ての引数で同じである必要があります)
結果のデータタイプ
引数のデータタイプと同じ
例
一方の梁がもう一方の梁と交差するため、左右の長さが異なります (3.86と3.56)。
MINを使用して、2つの長さのうち短い方を返します。
数式
MIN (左長さ, 右長さ)
結果
3.56(指定された梁の左右の長さがそれぞれ3.86と3.56の場合)
2つの文字列を比較します。
等しい場合は0を返します。
アルファベット順でテキスト1がテキスト2よりも前の場合は-1を返します。
アルファベット順でテキスト1がテキスト2よりも後の場合は+1を返します。
アルファベット順では大文字と小文字が区別されます(「a」は「A」の前になります)。
構文
COMPARE (“テキスト1”, “テキスト2”)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
文字列
結果のデータタイプ
整数
例
ある要素の耐火等級プロパティが、AからFまでの値を持つことができると仮定します。
耐火等級がA、B、またはCの場合:規格に準拠しています。
耐火等級がD、E、またはFの場合:非準拠です。
この式では、COMPAREを使用して、要素の耐火等級カテゴリを「C」と比較します。
さらに、IF関数を使用して、COMPARE関数の結果に基づき、2つの文字列のいずれかを返します。
数式
IF (COMPARE (耐火等級, “C”) < 1, “規格に準拠”, “非準拠”)
結果が0の場合、これは耐火等級がCと等しいことを意味します。これは規格に準拠しています。
結果が-1の場合、これは耐火等級がアルファベット順にCの前に来ることを意味します:つまり、AまたはBのいずれかです。これも規格に準拠しています。
結果が1の場合、これは耐火等級がアルファベット順にCの後に来ることを意味します:つまり、D、EまたはFのいずれかです。これは非準拠です。
結果
値が0または-1の場合“規格に準拠”、それ以外の場合“非準拠”
2つ以上のテキスト文字列を1つに結合します。
構文
CONCAT (“テキスト1”, [“テキスト2”], ...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
文字列
結果のデータタイプ
文字列
例
ドアのホットリンクマスタIDとその関連ゾーン番号で構成される、「ドアコンテキストID」というプロパティを作成します (どちらも文字列タイプのプロパティです)。
2つの文字列はダッシュで区切る必要があります。
数式
CONCAT (ホットリンクマスタID,”-”, 関連ゾーン番号)
結果
部屋213-6
注記
プロパティを要素(ホットリンク要素を含む)に適用できるのは、そのプロパティがその要素に使用可能である場合のみであることを忘れないでください。
(プロパティマネージャーの)評価機能は、ホットリンク要素では機能しません。ただし、ホットリンク要素のプロパティを含む式は、連動一覧表、要素設定、要素情報パレット、およびその他のインターフェイスで正しく評価されます(プロパティが有効かつ使用可能である場合)。
CONCATは文字列の接続 [TEXTJOIN]に似ています。全てのテキスト文字列間に自動区切り文字を指定し、空白の文字列を無視する場合は、文字列の接続 [TEXTJOIN]を使用します。
CONCATを使用する別の例については、「例3:説明テキスト文字列を使用してプロパティを拡張する」を参照してください。
指定した文字列がテキストに含まれるかどうかを検証します。
文字列が含まれる場合、Trueを返します。
文字列が含まれない場合、Falseを返します。
デフォルトでは、大文字と小文字が区別されます (それ以外の場合は、大文字小文字の区別引数に対してFalseを入力します)。
構文
CONTAINS (“検索テキスト”, “対象テキスト”, [大文字小文字の区別])
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
全てのテキスト:文字列
大文字、小文字区別(オプション):True/False
結果のデータタイプ
True/False
例
製造業者カタログのテキストに基づき、椅子の高さ値の適切な長さの単位(cmまたはインチ)を表示します。
ここでは、カタログテキスト(文字列)は、HeightInStringというプロパティ値としてあらかじめ定義されています。
この文字列を数値に変換します(STRTONUMを使用)。
この数値に適切な長さの単位を乗算します(cmまたはインチ:CONTAINS関数を使用して、文字列に「cm」タグが含まれるかどうかを判別します)。
結果は長さタイプのプロパティです。
数式
STRTONUM (HeightInString) * IF (CONTAINS (“cm”, HeightInString), 1 cm, 1 in)
結果
HeightInStringプロパティの文字列値が「150 cm」の場合、長さ値として「150 cm」が表示されます。
別のテキスト文字列( "対象テキスト")内でのテキスト文字列( "検索テキスト")の位置を返します。
デフォルトでは最初の文字から検索を開始します (それ以外の場合は、「位置」の文字から検索を開始します)。
デフォルトでは検索は大文字小文字を区別します (それ以外の場合は、大文字小文字の区別引数に対してFalseを入力します)。
構文
FIND (“検索テキスト”, “対象テキスト”, [位置], [大文字小文字の区別?])
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
全てのテキスト:文字列
開始位置(オプション):整数
大文字小文字の区別? (オプション):True/False
結果のデータタイプ
整数
例
要素ID内のダッシュ文字の位置を特定します(例: "DOO - 007")。
数式
FIND (“-”, 要素ID)
結果
5(要素IDが“DOO - 007”の場合)
テキスト文字列の先頭から指定した文字数を返します。
構文
LEFT (“テキスト”, 文字数 )
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキスト:文字列
文字数:整数
結果のデータタイプ
文字列
例
指定されたテキスト文字列の左端から最初の9文字を返します。
数式
LEFT (“The quick brown fox”, 9)
結果
The quick
文字列内の文字数(スペースを含む)を返します。
構文
LEN (“テキスト”)
引数のデータタイプ
文字列
結果のデータタイプ
整数
数式
LEN (“The quick brown fox”)
結果
19
テキスト文字列の全ての文字を 小文字に変換します。
構文
LOWER (“テキスト”)
引数のデータタイプ
文字列
結果のデータタイプ
文字列
数式
LOWER (“BRICK WALLS”)
結果
brick walls
テキスト文字列内の指定した位置から開始して指定した文字数を返します。
構文
MID (“テキスト”, 位置, 文字数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキスト:文字列
開始位置:整数
文字数:整数
結果のデータタイプ
文字列
例
指定されたテキスト文字列の、11番目の位置から開始して、次の5文字を返します。
数式
MID (“The quick brown fox”, 11, 5)
結果
brown
文字列内の指定の文字数を指定の位置から開始する別の文字列と置換します。
構文
REPLACE (“元のテキスト”, 位置, 文字数, “新しいテキスト”)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
元のテキストと新しいテキスト:文字列
開始位置:整数
文字数:整数
結果のデータタイプ
文字列
例
文字列 "2017"で、位置3から開始して、2文字を"18"に置き換えます。
数式
REPLACE (“2017”, 3, 2, “18”)
結果
2018
注記
全てのインスタンスまたは特定のインスタンスで、ある文字列を別の文字列に置き換えるには、文字列の置き換え [SUBSTITUTE]を使用します。
特定の文字列を、指定された開始位置で別の文字列に変更するには、REPLACEを使用します。
文字列を指定した回数繰り返します。
構文
REPT (“テキスト”, 回数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキスト:文字列
回数:整数
結果のデータタイプ
文字列
例
アスタリスクとダッシュを3回表示します。
数式
REPT (“*-”, 3)
結果
*-*-*-
テキスト文字列の最後から指定した文字数(スペースを含む)を返します。
構文
RIGHT (“テキスト”, 文字数)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキスト:文字列
文字数:整数
結果のデータタイプ
文字列
例
テキスト文字列の(右)端から最後の9文字を返します。
数式
RIGHT (“The quick brown fox”, 9)
結果
brown fox
文字列を指定された区切り文字で分割し、指定された部分を 返します。
構文
SPLIT (“テキスト”, “区切り文字”, 部分のインデックス )
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキストと区切り文字:文字列
部分のインデックス:整数
結果のデータタイプ
文字列
例
壁の"レンガの寸法"プロパティは、文字列"92mm x 57mm x 194mm"です。
SPLITを使用して、この文字列から2番目の項目(幅)のみを取得します:“x”区切り文字で文字列を分割し、2番目の部分を返します。
数式
SPLIT (レンガの寸法, “x”, 2)
結果
57 mm
文字列を指定された区切り文字で分割します。
指定された部分とそれより左側の全ての部分を返します。
構文
SPLITLEFT (“テキスト”, “区切り文字”, 部分のインデックス)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキストと区切り文字:文字列
部分のインデックス:整数
結果のデータタイプ
文字列
例
TREAD-018(文字列タイプデータ)などのARCHICAD要素IDを考えます。
区切り文字の左側にある文字列の部分を取得します。
要素IDを複数の部分に区切る区切り文字はダッシュです。
必要な部品番号(インデックス)は1(最初の部分)です。
数式
SPLITLEFT (要素ID, “-”, 1)
結果
TREAD(要素IDが“TREAD-018”の場合)
文字列を指定された区切り文字で分割します。
指定された部分とそれより右側の全ての部分を返します。
構文
SPLITRIGHT (“テキスト”, “区切り文字”, 部分のインデックス )
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
テキストと区切り文字:文字列
部分のインデックス:整数
結果のデータタイプ
文字列
例
TREAD-018(文字列タイプデータ)などのARCHICAD要素IDを考えます。
IDの数値部分を取得します。
要素IDを複数の部分に区切る区切り文字はダッシュです。
部品番号(インデックス)は2(2番目の部分)です。
数式
SPLITRIGHT (要素ID, “-”, 2)
結果
018(要素IDが“TREAD-018”の場合)
指定されたインスタンス(または全てのインスタンス)内で文字列を別の文字列と置換します。
構文
SUBSTITUTE (“テキスト”, “元のテキスト”, “新しいテキスト”, [インスタンスのインデックス ])
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
全てのテキスト:文字列
インスタンスのインデックス (オプション):整数
インスタンスのインデックスの値を省略すると、元のテキストの全てのインスタンスが置き換えられます。
結果のデータタイプ
文字列
例
壁の"レンガの寸法"プロパティは、文字列"92mm x 57mm x 194mm"です。
SUBSTITUTEを使用して、この文字列から数値のみを抽出します(別の式で使用する場合など)。
(元のテキスト"mm"文字列に代わる新しいテキストを指定しません。)
数式
SUBSTITUTE (レンガの寸法, “mm”, “”)
インスタンスのインデックスは指定されません。したがって、元のテキストの全てのインスタンスが置換されます。
結果
92 x 57 x 194
注記
全てのインスタンスまたは特定のインスタンスで、ある文字列を別の文字列に置き換えるには、SUBSTITUTEを使用します。
特定の文字列を、指定された開始位置で別の文字列に変更するには、文字列の置換 [REPLACE]を使用します。
2つ以上のテキスト文字列を1つの文字列に結合し、指定された区切り文字で区切ります。
「空の場合は無視」がTrueの場合、空の文字列は結果で無視されます。
構文
TEXTJOIN (“区切り文字”, 空の場合は無視, “テキスト1”, “テキスト2”, ...)
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
区切り文字とテキスト:文字列
空の場合は無視:True/False
結果のデータタイプ
文字列
例
各要素について、そのIDとゾーン名とリノベーションステータスを列挙します。
区切り文字はコンマとスペースで構成されます。
数式
TEXTJOIN (“, ”, TRUE, 要素ID, 関連ゾーン名, リノベーションステータス)
結果
SW-002, キッチン, 解体
注記
TEXTJOINは文字列の結合 [CONCAT]に似ています。
CONCATと比較して、TEXTJOINには次の追加機能があります。
- 各文字列の間に特定の区切り文字を自動的に追加する
- 空白の文字列を無視するオプション
テキスト文字列の重複するスペース、 および最初と最後のスペースを削除します。
構文
TRIM (“テキスト”)
引数のデータタイプ
文字列
結果のデータタイプ
文字列
例
テキスト文字列には、最初と最後に不要なスペースがあり、各単語の間に余分なスペースが複数あります。
TRIMを使用して、不要なスペースを削除します。
数式
TRIM (“ Q4 2017 Earnings Report ”)
結果
Q4 2017 Earnings Report
テキスト文字列の全ての文字を 大文字に変換します。
構文
UPPER (“テキスト”)
引数のデータタイプ
文字列
結果のデータタイプ
文字列
数式
UPPER (“client address”)
結果
CLIENT ADDRESS
単位のない数値またはTrue/False値を文字列に変換します。
結果の文字列にはデフォルトで小数第二位まで表示されます。
構文
STR (値, [小数点以下の桁数])
注記: 必要な区切り記号(カンマまたはセミコロン)は、コンピュータの地域設定に自動的に対応します。
引数のデータタイプ
値:整数、数値、True/False
小数点以下の桁数(オプション):整数
結果のデータタイプ
文字列
例
ホームフロア数要素プロパティ(数値タイプの値)を文字列に変換します。
結果が整数(小数点以下の桁数がゼロ)であることを確認します。
数式
STR (ホームフロア数, 0)
結果
2(梁に対するホームフロアが2の場合)
注記
結果の文字列にはデフォルトで小数第二位まで表示されます。小数を必要としない場合(ホームフロア数の例のように)、小数点以下の桁数引数として0を追加します。
単位値(長さなど)を文字列に変換するには、単位を文字列に変換 [STRCALCUNIT]関数を使用します。
STRを使用する別の例については、「例10:構造の合計コスト(ドル単位)をリストする」を参照してください。
プロジェクト設定の計算単位と ルール設定に基づいて、単位値を文字列に変換します。
構文
STRCALCUNIT (値)
引数のデータタイプ
長さ、面積、体積、角度
結果のデータタイプ
文字列
例
壁断熱材の厚さ(長さ)を文字列に変換します
数式
STRCALCUNIT (壁断熱材厚)
結果
25
注記
単位のない値(ホームフロア数など)を文字列に変換するには、文字列の変換 [STR]関数を使用します。
STRCALCUNITを使用する別の例については、「例3:説明テキスト文字列を使用してプロパティを拡張する」を参照してください。
文字列の最初の位置から数字を抽出します。
(文字列の先頭の数字のみが考慮されます。文字列内の数字は検索されません。)
構文
STRTONUM ("テキスト")
引数のデータタイプ
文字列
結果のデータタイプ
数値
例
要素のARCHICAD IFC ID(文字列タイプパラメータ)の最初の文字である番号を抽出します。(例: “3MtfJD8lf96mvn65fX2qo”)
数式
STRTONUM (ARCHICAD IFC ID)
結果
3(IDが“3MtfJD8lf96mvn65fX2qo”の要素の場合)