変数の式の関数

Tekla Structures
2021
Tekla Structures

算術演算子

算術演算子を使用して、数値を返す式を組み合わせることができます。次の算術演算子を使用することができます。

演算子

説明

注記

+

加算

パラメータの文字列を作成するときにも使用します。

-

減算

*

乗算

乗算は除算より高速です。

=D1*0.5=D1/2より高速です。

/

除算

論理演算子および比較演算子

論理演算子と比較演算子は、if ステートメント内で使用します。if-then-else ステートメントを使用すると、条件をテストし、その結果に従って値を設定できます。

例:

=if (D1>200) then 20 else 10 endif

次の演算子をifステートメント内で使用することができます。

演算子

説明

==

両側が等しい

!=

両側が等しくない

<

左側が小さい

<=

左側が小さいか等しい

>

右側が小さい

>=

右側が小さいか等しい

&&

論理AND

両方の条件がtrueである

=if (D1==200 && D2<40) then 6 else 0 endif

D1が200かつD2が40未満の場合、結果は6になり、それ以外の場合は0になります。

||

論理OR

一方の条件だけがtrueである

=if (D1==200 || D2<40) then 6 else 0 endif

D1が200であるか、またはD2が40未満の場合、結果は6になり、それ以外の場合は0になります。

参照関数

参照関数は、別のオブジェクトのプロパティ (副部材のプレートの厚さなど) を参照する場合に使用します。Tekla Structuresでは、システム レベルでオブジェクトを参照するため、オブジェクトのプロパティが変更されると、参照関数の値も変更されます。

次の参照関数を使用することができます。

関数

説明

fTpl("template attribute", "object GUID")

指定されたオブジェクト GUID を持つオブジェクトのテンプレート属性の値を返します。

=fTpl("WEIGHT","ID50B8559A-0000-010B-3133-353432373038")

GUID が ID50B8559A-0000-010B-3133-353432373038 であるオブジェクトの重量を返します。

fP("user-defined attribute", "object GUID")

指定されたオブジェクト GUID を持つオブジェクトのユーザー定義情報の値を返します。

=fP("comment", "ID50B8559A-0000-010B-3133-353432373038")

GUID が ID50B8559A-0000-010B-3133-353432373038 であるオブジェクトのユーザー定義情報 [コメント] を返します。

fValueOf("parameter")

パラメーターの値を返します。

式が =P2+"*"+P3 の場合、結果は P2*P3 になります。

=fValueOf("P2")+"*"+fValueOf("P3") で、P2=780 および P3=480 の場合、結果は 780*480 になります。

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

オブジェクトの鉄筋カタログの値を返します。

Usage は、2 ("Tie") または 1 ("Main") に設定することができます。

FieldName は、次のいずれかにする必要があります。

  • 0 NominalDiameter
  • 1 ActualDiameter
  • 2 Weight
  • 3 MinRadius
  • 4 Hook1Radius
  • 5 Hook1Angle
  • 6 Hook1Length
  • 7 HookRadius
  • 8 Hook2Angle
  • 9 Hook2Length
  • 10 Hook3Radius
  • 11 Hook3Angl
  • 12 Hook3Length
  • 13 Area

fRebarCatalogValue("A500HW", "10", 1, 2)

鉄筋の等級が A500HW であるオブジェクトのサイズ、用途、および重量を返します。

参照関数としての ASCII ファイル

ASCII ファイルを参照してデータを取得することができます。Tekla Structures では、次の順序でファイルが検索されます。

  1. モデル

  2. ..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\

  3. プロジェクト (詳細設定 XS_PROJECT を使用して設定)

  4. 企業 (詳細設定 XS_FIRM を使用して設定)

  5. システム (詳細設定 XS_SYSTEM を使用して設定)

ファイルを読み込む際の形式は次のとおりです。

fVF("filename", "key_value_of_row", column_number)

  • 行のキー値は一意のテキスト値です。

  • 列番号は 1 から始まるインデックスです。

データ区切りの文字を指定できます。fVF(data file, lookup value, column#[, separator character]).

  • 好きな列区切り文字を使用できます。これにより、名前、プロファイル、形状などでスペースがサポートされるのに加えて、入力として距離リストを使用できるようになります。

  • 入力として空白または空の文字列を使用できます。

  • 区切り文字として使用できるのは 1 文字だけです。たとえば、"/+/" などの複雑な区切り文字を使用することはできません。最初の文字のみが列区切り文字と見なされるためです。

[変数] ダイアログ ボックスの [] ボックスに、=fVF("Overlap.dat", "MET-202Z25", 5) という関数を入力した場合、この関数は、Overlap.dat ファイルから、プロファイル MET-202Z25 の値 16.0 を取得します。

  1. 行のキー値 (MET-202Z25)

  2. 列番号 (5)

数学関数

数学関数を使用して、より複雑な数学式を作成することができます。次の関数を使用することができます。

関数

説明

fabs(パラメータ)

パラメータの絶対値を返します。

D1 = -15の場合、=fabs(D1)

15を返します。

exp(指数)

eを累乗した値を返します。

eはオイラー数です。

D1 = 2の場合、=exp(D1)

7.39を返します。

ln(パラメータ)

パラメータの自然対数(底e)を返します。

P2 = 15の場合、=ln(P2)

2.71を返します。

log(パラメータ)

パラメータの対数(底10)を返します。

D1 = 100の場合、=log(D1)

2を返します。

sqrt(パラメータ)

パラメータの平方根を返します。

D1 = 16の場合、=sqrt(D1)

4を返します。

mod(割られる数, 割る数)

除算の剰余を返します。

D1 = 16の場合、=mod(D1, 5)

1を返します。

pow(基数, 指数)

基数を指定した指数で累乗した値を返します。

D1 = 3の場合、=pow(D1, D2)

9を返します。

hypot(辺1,辺2)

斜辺を返します。

  1. 辺1

  2. 斜辺

  3. 辺2

D1 = 3およびD2 = 4の場合、=hypot(D1, D2)

5を返します。

n!(パラメータ)

パラメータの階乗を返します。

P2 = 4の場合、=n!(P2)

24を返します。

(1*2*3*4)

round(パラメータ, 精度)

パラメータを指定の精度に丸めた値を返します。

P1 = 10.567の場合、=round(P1, 0.1)

10.600を返します。

PI

piの値を小数第31位まで返します。

=PIは3.1415926535897932384626433832795を返します。

統計関数

統計関数を使用して、合計および平均を計算したり、値を丸めることができます。次の統計関数を使用することができます。

関数

説明

例(P1 = 1.4、P2 = 2.3)

ceil()

パラメータ以上の最小の整数を返します。

=ceil(P1)は2を返します。

floor()

パラメータ以下の最大の整数を返します。

=floor(P1)は1を返します。

min()

最小のパラメータを返します。

=min(P1, P2)は1.4を返します。

max()

最大のパラメータを返します。

=max(P1, P2)は2.3を返します。

sum()

パラメータの合計を返します。

=sum(P1, P2)は3.7を返します。

sqsum()

パラメータの2乗の合計、つまり、(パラメータ1)2 + (パラメータ2)2の値を返します。

=sqsum(P1, P2)は7.25を返します。

ave()

パラメータの平均を返します。

=ave(P1, P2)は1.85を返します。

sqave()

パラメータの2乗の平均を返します。

=sqave(P1, P2)は3.625を返します。

例: ceilおよびfloor統計関数

この例では、次のパラメータ変数があるとします。

  • 梁の長さ: P1 = 3500

  • 支柱間隔: P2 = 450

P1 / P2 = 7.7778

ceilおよびfloor統計関数を使用して値を丸め、丸めた値を梁の支柱の数として使用できます。

  • =ceil(P1/P2)は8を返します。

  • =floor(P1/P2)は7を返します。

データ型変換関数

データ型変換関数を使用して、別のデータ型に値を変換することができます。次のデータ型変換関数を使用することができます。

関数

説明

int()

データを整数に変換します。

プロファイルの寸法を計算する場合に特に役立ちます。

[オプション] ダイアログ ボックスで小数点が 0 に設定されている場合、=int(100.0132222000) は 100 を返します。

double()

データを double 型に変換します。

string()

データを文字列に変換します。

imp()

フィート・インチ単位を変換します。

フィート・インチ単位ではなく、この関数を計算に使用します。計算にフィート・インチ単位を直接使用することはできません。

以降の例では、[オプション] ダイアログ ボックスで長さ単位が mm に、小数点が 2 に設定されています。

1 フィート、1 と 1/2 インチを意味する =imp(1,1,1,2) は、342.90 mm を返します。

1 と 1/2 インチを意味する =imp(1,1,2) は、38.10 mm を返します。

1/2 インチを意味する =imp(1,2) は、12.70 mm を返します。

1 インチを意味する =imp(1) は、25.40 mm を返します。

=3’/3" は使用できませんが、=imp(36)/imp(3) は使用できます。

vwu(value, unit)

長さ値と角度値を変換します。有効な単位は以下のとおりです。

  • "ft" ("feet", "foot")

  • "in" ("inch", "inches")

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

[オプション] ダイアログ ボックスで長さ単位が mm に、小数点が 2 に設定されている場合、=vwu(4.0,"in") は 101.60 mm を返します。

[オプション] ダイアログ ボックスで角度が度に、小数点が 2 に設定されている場合、=vwu(2.0,"rad") は 114.59 度を返します。

注:

単位は、ファイル メニュー > 設定 > オプション > 単位と小数点 の設定によって異なります。

文字列演算

文字列演算を使用して、文字列を操作できます。変数の式では、文字列を引用符で囲む必要があります。

次の文字列演算子を使用することができます。

演算

説明

例 (P1 = "PL100*10")

match(parameter1, parameter2)

2 つのパラメータが等しい場合は 1、異なる場合は 0 を返します。

match 関数では、ワイルドカード *?、および [ ] を使用することもできます。

=match(P1, "PL100*10") は 1 を返します。

PFC で始まるすべてのプロファイルを受け取る場合: =match(P4, "PFC*")

PFC で始まり、高さが 2、3、4、または 5 で始まるプロファイルを受け取る場合: =match(P4, "PFC[2345]*")

PFC で始まり、高さが 200、300、400、または 500 で、幅が 7 で始まるプロファイルを受け取る場合: =match(P4, "PFC[2345]00?7*")

length(parameter)

パラメーターの文字数を返します。

=length(P1) は 8 を返します。

find(parameter, string)

指定した文字列の順序番号 (ゼロから開始) を返します。指定した文字列がパラメーターで見つからない場合は -1 を返します。

=find(P1, "*") は 5 を返します。

getat(parameter, n)

パラメータの n 番目 (ゼロから開始) の文字を返します。

=getat(P1, 1) は "L" を返します。

setat(parameter, n, character)

パラメーターの n 番目 (ゼロから開始) の文字を指定した文字に設定します。

=setat(P1, 0, "B")は "BL100*10" を返します。

mid(string, n, x)

文字列の n 番目 (ゼロから開始) の文字から x 文字を返します。最後の引数 (x) を省略した場合は、文字列の最後の部分を返します。

=mid(P1,2,3)は "100" を返します。

reverse(string)

指定した文字列を反転させます。

=reverse(P1)は "01*001LP" を返します。

例 1

P2 = 100 と P3 = 10 の 2 つの変数を使用してプロファイルサイズ PL100*10 を定義するには、次のように式を入力します。

="PL"+P2+"*"+P3

例 2

Tekla Structures では、ボルト間隔を文字列として処理します。ボルト間隔を定義するには、[値のタイプ][距離リスト] に設定し、次のように式を入力します。

=P1+" "+P2

P1 = 100 (length) で、P2 = 200 (length) の場合、結果は 100 200 になります。

三角関数

三角関数を使用して、角度を計算することができます。次の三角関数を使用することができます。

関数

説明

sin()

正弦値を返します。

=sin(d45)は0.71を返します。

cos()

余弦値を返します。

=cos(d45)は0.71を返します。

tan()

正接値を返します。

=tan(d45)は1.00を返します。

asin()

sin()の逆関数。値をラジアンで返します。

=asin(1) は 1.571 rad (ラジアン) を返します。

acos()

cos()の逆関数。値をラジアンで返します。

=acos(1) は 0 rad (ラジアン) を返します。

atan()

tan()の逆関数。値をラジアンで返します。

=atan(1) は 0.785 rad (ラジアン) を返します。

sinh()

双曲線正弦値を返します。

=sinh(d45)は0.87を返します。

cosh()

双曲線余弦値を返します。

=cosh(d45)は1.32を返します。

tanh()

双曲線正接値を返します。

=tanh(d45)は0.66を返します。

atan2()

正接が2つの数値の商である角度を返します。値をラジアンで返します。

=atan2(1,3)は0.32を返します。

注:

変数の式で三角関数を使用する場合は、単位を示す頭マークを含める必要があります。頭マークを含めていない場合、Tekla Structuresではデフォルトの単位としてラジアンが使用されます。

  • dは度数を表します(例: sin(d180))。

  • rはラジアンを表します(デフォルト)(例: sin(r3.14)またはsin(3.14))。

マーケット サイズ関数

カスタム コンポーネントでマーケット サイズ関数を使用して、使用可能なマーケット サイズから適切なプレート寸法 (通常はプレートの厚さ) を選択します。たとえば、プレートの厚さは梁のウェブに適合する必要があります。

関数

説明

fMarketSize(材質, 厚さ, 増分値)

指定した厚さに基づいて、marketsize.dat ファイルから材質の次に使用可能なマーケット サイズを返します。

このファイルは、..\environments\your_environment\profil フォルダーまたはシステム フォルダーに格納されている必要があります。

増分値には、次のサイズへの増分を示す数値を入力します (デフォルト値は 0)。

=fMarketSize("S235JR", 10, 0)

この例では、marketsize.dat に次のデータが含まれています。

S235JR,6,9,12,16,19,22
SS400,1.6,2.3,3.2,4.5,6,9,12,16,19,22,25,28,32,38
DEFAULT,6,9,12,16,19,22,25,28,32,38

行の最初の項目は材質であり、その後に使用可能なプレート厚がミリメートル単位で示されています。DEFAULT 行には、他のすべての材質で使用可能な厚さが示されています。

上記のデータでは、関数 =fMarketSize("S235JR",10,0) は 12 を返し、=fMarketSize("S235JR",10,1) は 16 (1 サイズ上) を返します。

部材接続タイプ関数

部材接続タイプ関数を使用し、メイン部材 (柱または梁) を基準として、副梁の斜角度、勾配角度、および軸回転角度を返すことができます。次の部材接続タイプ関数を使用することができます。

関数

説明

fAD("skew", GUID)

指定の GUID を持つ副部材の斜角度を返します。

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") は 45 を返します。

ID50B8559A-0000-010B-3133-353432373038 は副部材の GUID です。副部材は、メイン部材に対して 45 度の角度に位置します。

fAD("slope", GUID)

指定の GUID を持つ副部材の勾配角度を返します。

=fAD("slope","ID50B8559A-0000-010B-3133-353432373038")

fAD("cant", GUID)

指定の GUID を持つ副部材の軸回転角度を返します。

=fAD("cant","ID50B8559A-0000-010B-3133-353432373038")

注:
  • これらの関数は、勾配角度および斜角度の正と負の値を返しません。これらの関数を使用して、上下の勾配や左右の傾きを指定することはできません。

  • 返される最大斜角度は 45 度です。

  • Tekla Structures では、勾配角度と斜角度を分離するために、角度は 2 次元で計算されます。たとえば、勾配角度を計算するときには、斜角度は考慮に入れられません。このため、副部材がメイン部材の周りを何度回転しても、勾配角度の値は同じままです。

    斜角度を含めた実際の 3 次元勾配角度を計算するには、次の数式を使用することができます。

    TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))

例 1

勾配と斜は柱に接続する梁を基準とします。

側面ビュー

上面ビュー

  1. 勾配

例 2

梁が 2 本の場合、勾配は実際にはもう一方の梁に接続する梁の水平方向の傾きであり、メイン部材を基準とする梁の垂直方向の勾配は、実際には角度になります。

側面ビュー

上面ビュー

  1. 勾配
役に立ちましたか?
前へ
次へ