評価列

評価列は特殊な列であり、その結果はユーザー定義式を使用する他の列によって異なります。計算式列とテンプレート列の2種類の評価列がサポートされています。

計算式列

部品表では、数式フィールドがサポートされています。DATAEXTRACTIONコマンドでも同じ構文が使用されています。数式は、\AcExpr数式フィールド形式の式です。これには、PIなどの定数やSINなどの関数を含めることができます。式内のオペランドには、山括弧(<>)で囲まれたColumnTitleを使用できます。

たとえば、式 =<Mass>/<Volume>は、コンポーネントの平均密度を計算します。

行に値が含まれていない場合は、代わりにデフォルト値が使用されます。以下の構文でオペランドのデフォルト値を指定することが可能です。<" ColumnTitle",DefaultValue> ここで ColumnTitle は必要な列のタイトルで、 DefaultValue はデフォルト値です。ColumnTitleは二重引用符(")で囲む必要があります。デフォルト値が指定されていない場合は、空の値が使用され、ほとんどの場合、空の出力になります。

数式の列には、複数の式を含めることができます。各式は、合計括弧({})で囲む必要があります。これらの式は最初から最後へと評価され、空でない出力が得られる最初の式が使用されます。

数式は、ループを形成しない条件で、他の数式の列を参照できます。階層部品表では、列名の前にParent:を追加することで、数式は親行の値を参照することもできます。また、表に明示的に追加されないプロパティを参照することもできますが、数式で参照されるその他の数式列はすべて表内に存在する必要があります。数式の部品表では、このような列を非表示として表示することもできます。

距離、面積、体積、マスプロパティの場合、式で使用する前に、値がユーザー定義の単位に変換されます。ユーザー定義の単位が設定されていない場合は、ドキュメント単位が使用されます。マスプロパティについては、メートル法のドキュメントではキログラム、インチ法のドキュメントではlbs(ポンド)が使用されます。

テンプレート列

テンプレート列を使用すると、カスタムテキストだけでなく、複数のプロパティを1つの列に結合できます。Diesel式に基づく特別な構文は、テンプレート列を定義するために使用されます。テンプレート列の式は、$記号で始まる必要があります。式内のオペランドには、山括弧(<>)で囲まれた ColumnTitleを使用できます。また、特殊関数を使用することもできます。

関数 説明
$(+, arg1, arg2[, ... , arg9]) 最初の引数に、入力された引数を加算します。
$(-, arg1, arg2[, ... , arg9]) 最初の引数から、入力された引数を減算します。
$(*, arg1 , arg2[, ... , arg9]) 最初の引数に、入力された引数を乗算します。
$(/, arg1, arg2[, ..., arg9]) 最初の引数を、入力された引数で除算します。
$(=, arg1, arg2) arg1がarg2に等しい場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(<, arg1, arg2) arg1がarg2より小さい場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(>, arg1, arg2) arg1がarg2より大きい場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(!=, arg1, arg2) arg1がarg2に等しくない場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(<=, arg1, arg2) arg1がarg2以下の場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(>=, arg1, arg2) arg1がarg2以上の場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも数字でなければなりません。
$(and, arg1, arg2[, ... , arg9]) 引数にビット単位のAND演算を適用します。
$(angtos, angle[, mode, precision]) 指定されたモード(0 - 度、1 - 度/分/秒、2 - グラディアン、3 - ラジアン)と精度に応じて、角度を文字列に変換します。
$(delim, delimiter_string) スマート区切り文字を挿入します。区切り文字の文字列は、この区切り文字の前後の出力が空でない場合にのみ、出力に追加されます。
$(edtime, time, format) 指定されたフォーマット文字列に従って日付を書式設定します。
$(eq, arg1, arg2) arg1がarg2に等しい場合は1を返し、それ以外の場合は0を返します。arg1とarg2は両方とも文字でなければなりません。
$(eval, expression) 指定された式をディーゼル式として評価します。
$(fix, value) 実数値を整数値に切り捨てます。
$(getvar, variable) 指定されたシステム変数の値を返します。
$(if, arg, then[, else]) 'arg'が0でない場合は'then'を返します。それ以外の場合は'else'を返し、'else'が指定されていない場合は空の文字列を返します。
$(index, position, comma_separated_string) 指定されたカンマ区切り文字列内の指定された位置にある部分文字列を返します。
$(nth, position, arg1[, arg2, ... , arg9]) 指定された位置の引数を返します。
$(or, arg1, arg2[, ..., arg9]) 引数にビット単位のOR演算を引数に適用します。
$(rtos, value[, mode, precision]) 入力された値を、指定されたモードと精度に応じてフォーマットします。
$(strlen, string) 入力された文字列の長さを返します。
$(substr, string, start[, length]) 指定された’length’の’start’から、’string’の部分文字列を返します。数値は1から始まります。
$(upper, string) '文字列'を大文字に変換します。
$(xor, arg1, arg2[, ... , arg9]) すべての引数にビット単位のXOR演算を適用します。

1つのテンプレート列には、複数の式を含めることができます。各式は、合計括弧({})で囲む必要があります。これらの式は最初から最後へと評価され、空でない出力が得られる最初の式が使用されます。

テンプレート列は、ループを形成しない条件で、評価された他の列を参照できます。階層部品表では、テンプレート列は、列名の前にParent:を追加することで、親行の値を参照することもできます。また、表に明示的に追加されないプロパティを参照することもできますが、式内で参照される他のすべての評価列が表内に存在する必要があります。テンプレート定義式の部品表で非表示として表示された列は引き続き使用できます。

"\n"文字列を使用して改行を追加できます。

たとえば、次の式は、部品番号、幅、高さ、および長さの各プロパティを組み合わせたものです。

${<PartNumber>$(delim," X ")<Width>$(delim," X ")<Height>$(delim," X ")<Lenght>}

計算式列ダイアログ

式コンフィギュレータダイアログを使用して、評価列を設定できます。このダイアログボックスは、部品表マネージャーで使用できます。

このダイアログでは、列のタイトルと単位の設定、構文のハイライトとオートコンプリートを含むエディターを使用した式の編集、および評価列を含む部品表の表示を行うことができます。テンプレート列の場合、テンプレートセクションは、区切り文字やカスタムテキスト同様に、プロパティも簡単に挿入、移動、削除できます。