变量公式中的函数

Tekla Structures
2019i
Tekla Structures

变量公式中的函数

您可以使用函数计算参数变量的值。变量公式总是以等号 (=) 开头。

有关更多信息,请参见 使用参数变量设置对象属性

算术运算符

使用算术运算符合并那些返回数值的表达式。您可以使用以下算术运算符:

运算符

描述

说明

+

也用于创建参数字符串。

-

 

*

乘比除快。

=D1*0.5=D1/2

/

 

逻辑和比较运算符

if 语句中使用逻辑运算符和比较运算符。您可以使用 if-then-else 语句测试条件,并根据结果设置值。

例如:

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

也可以在 if 语句中使用以下运算符:

运算符

描述

示例

==

两侧相等

 

!=

两侧不相等

 

<

左侧较小

 

<=

左侧较小或相等

 

>

右侧较小

 

>=

右侧较小或相等

 

&&

逻辑与

两个条件都必须为真

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

如果 D1 为 200 并且 D2 小于 40,则结果为 6,否则为 0。

||

逻辑或

只需一个条件为真

=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 开始的索引。

Note:

在 ASCII 文件中每行的末尾输入一个空格。否则将无法正确读取信息。

示例

=fVF("Overlap.dat", "MET-202Z25", 5) 函数位于 变量 对话框的 公式 框中。函数从 Overlap.dat 文件,为截面 MET-202Z25 获取值 16.0

  1. 行的键值 (MET-202Z25)

  2. 列编号 (5)

数学函数

使用数学函数以创建更复杂的数学表达式。可以使用以下函数:

函数

描述

示例

fabs(参数)

返回参数的绝对值

=fabs(D1) 返回 15

如果 D1 = -15

exp(幂)

返回 e 的幂

e 为欧拉系数。

=exp(D1) 返回 7.39

如果 D1 = 2

ln(参数)

返回参数的自然对数(基数为 e

=ln(P2) 返回 2.71

如果 P2 = 15

log(参数)

返回参数的对数(基数为 10)

=log(D1) 返回 2

如果 D1=100

sqrt(参数)

返回参数的平方根

=sqrt(D1) 返回 4

如果 D1 = 16

mod(被除数, 除数)

返回相除的余数

=mod(D1, 5) 返回 1

如果 D1 = 16

pow(基数, 幂)

返回基数的指定次幂

=pow(D1, D2) 返回 9

如果 D1 = 3 且 D2 = 2

hypot(边 1,边 2)

返回斜边

  1. 边 1

  2. 斜边

  3. 边 2

=hypot(D1, D2) 返回 5

如果 D1 = 3 且 D2 = 4

n!(参数)

返回参数的阶乘

=n!(P2) 返回 24

如果 P2 = 4

(1*2*3*4)

round(参数, 精确度)

返回参数舍入到给定精确度后的值

=round(P1, 0.1) 返回 10.600

如果 P1 = 10.567

PI

返回 31 位小数的 pi 值

=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()

参数平方合计:(参数 1)2 + (参数 2)2

=sqsum(P1, P2) 返回 7.25

ave()

参数的平均数

=ave(P1, P2) 返回 1.85

sqave()

参数平方的平均数

=sqave(P1, P2) 返回 3.625

示例:ceil 和 floor 统计函数

在本示例中,您有以下参数变量:

  • 梁长度:P1 = 3500

  • 支柱间距:P2 = 450

P1 / P2 = 7.7778

可以使用 ceilfloor 统计函数舍入值,然后使用舍入后的值作为梁支柱数:

  • =ceil(P1/P2) 返回 8

  • =floor(P1/P2) 返回 7

数据类型转换函数

使用数据类型转换函数将值转换为其它数据类型。您可以使用以下数据类型转换函数:

函数

描述

示例

int()

将数据转换为整数

对计算截面尺寸尤为有用:

如果精度在 选项 对话框中设置为 0,则 =int(100.0132222000) 返回 100

double()

将数据转换为双精度数

 

string()

将数据转换为字符串

 

imp()

转换英制单位

在计算中使用此函数而不使用英制单位。不能直接在计算中使用英制单位。

对于以下示例,在 选项 对话框中,长度单位设置为 mm,且精度设置为 2。

=imp(1,1,1,2) 意味着 1 英尺 1 1/2 英寸返回 342.90 mm

=imp(1,1,2) 意味着 1 1/2 英寸返回 38.10 mm

=imp(1,2) 意味着 1/2 英寸返回 12.70 mm

=imp(1) 意味着 1 英寸返回 25.40 mm

=3’/3" 不可能,但是 =imp(36)/imp(3) 可以

vwu(值, 单位)

转换长度值和角度值。可用单位有:

  • "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 度

Note:

单位取决于 文件菜单 > 设置 > 选项 > 单位和精度 中的设置。

字符串运算

使用字符串运算可以操作字符串。在变量公式中,字符串必须位于引号内。

您可以使用以下字符串运算:

运算

描述

示例 (P1 = "PL100*10")

match(参数 1, 参数 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(参数)

返回参数中的字符数。

=length(P1) 返回 8

find(参数, 字符串)

返回指定字符串的次序编号(从零开始),如果从参数中未找到指定字符串,则返回 -1。

=find(P1, "*") 返回 5

getat(参数, n)

返回参数中的第 n 个(从零开始)字符。

=getat(P1, 1) 返回 "L"

setat(参数, n, 字符)

将参数中的第 n 个(从零开始)字符设置为指定字符。

=setat(P1, 0, "B") 返回 "BL100*10"

mid(字符串, n, x)

返回从第 n 个(从零开始)字符开始的字符串的 x 个字符。如果不设置最后一个参数 (x),则返回字符串的最后部分。

=mid(P1,2,3) 返回 "100"

reverse(字符串)

反转给定字符串。

=reverse(P1) 返回 "01*001LP"

示例 1

要用两个变量 P2 = 100 和 P3 = 10 定义截面尺寸 PL100*10,应输入以下公式:

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

示例 2

Tekla Structures 将螺栓间距作为字符串处理。要定义螺栓间距,应将 值类型 设置为 距离列表 并输入如下所示的公式:

=P1+" "+P2

如果 P1 = 100 ( 长度 ) 且 P2 = 200 ( 长度 ),结果将为 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()

返回正切为两个数字之商的角度。返回以弧度为单位的值

=atan2(1,3) 返回 0.32

Note:

在变量公式中使用三角函数时,需要包含一个前缀来定义单位。如果不包含前缀, 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(大一个尺寸)。

边框条件函数

使用边框条件函数可返回次梁相对于主零件(柱或梁)的歪斜、倾斜和斜面角度。您可以使用以下边框条件函数:

函数

描述

示例

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")

Note:
  • 这些函数不返回正和负的倾斜/歪斜值。使用这些函数无法确定是向上还是向下倾斜以及向左还是向右歪斜。

  • 可返回的最大歪斜角度为 45 度。

  • Tekla Structures 计算二维角度,以便倾斜和歪斜彼此相隔离。例如,当计算倾斜角度时,不会考虑歪斜角度,这意味着,不论次零件是否围绕主零件旋转,倾斜角度值都不变。

    要找出包括歪斜的真正 3D 倾斜,您可以使用以下数学公式:

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

示例 1

倾斜和歪斜是相对于梁框架接合到柱中而言的。

侧视图

顶视图

  1. 倾斜
  2. 歪斜

示例 2

如果使用两个梁,则 倾斜 实际上是梁框架接合到另一个梁中的水平歪斜,梁相对于主零件的垂直倾斜角度实际上是 歪斜 角度。

侧视图

顶视图

  1. 歪斜
  2. 倾斜
Was this helpful?
上一步
下一步