变量公式中的函数
您可以使用函数计算参数化变量的值。变量公式总是以等号 (=) 开头。
更多信息请参阅 使用参数变量设置对象属性。
算术运算符
使用算术运算符合并那些返回数值的表达式。
|
运算符 |
描述 |
说明 |
|---|---|---|
|
+ |
加法 |
也用于创建参数字符串。 |
|
- |
减法 |
|
|
* |
乘法 |
乘法比除法快。
|
|
/ |
除法 |
逻辑和比较运算符
在 if 语句中使用逻辑运算符和比较运算符。您可以使用 if-then-else 语句测试条件,并根据结果设置值。
例如:
=if (D1>200) then 20 else 10 endif
您可以在 if 语句中使用以下运算符:
|
运算符 |
描述 |
示例 |
|---|---|---|
|
== |
两侧相等 |
|
|
!= |
双方不相等 |
|
|
< |
左边较小 |
|
|
<= |
左侧较小或相等 |
|
|
> |
右侧较小 |
|
|
>= |
右侧较小或相等 |
|
|
&& |
逻辑与 两个条件都必须成立 |
如果 D1 为 200 且 D2 小于 40,则结果为 6,否则为 0。 |
|
|| |
逻辑或 只有一个条件必须为真 |
如果 D1 为 200 或 D2 小于 40,则结果为 6,否则为 0。 |
参考函数
使用参考函数可以引用另一个对象的属性,例如,次零件的板厚度。Tekla Structures 在系统级别引用对象,因此如果对象属性发生更改,参考函数值也会随之更改。
|
函数 |
描述 |
示例 |
|---|---|---|
|
|
返回具有指定对象 GUID 的对象的模板属性值。 |
返回 GUID 为 ID50B8559A-0000-010B-3133-353432373038 的对象的重量。 |
|
|
返回具有指定对象 GUID 的对象的用户定义的属性值。 |
返回 GUID 为 ID50B8559A-0000-010B-3133-353432373038 的对象的用户定义的属性评注。 |
|
|
返回参数的值。 |
如果等式为 对于 |
|
|
返回对象的钢筋目录值。
|
返回钢筋等级为 A500HW 的对象的尺寸、用法和重量。 |
ASCII 文件作为参考函数
您可以参考 ASCII 文件来获取数据。 Tekla Structures 按以下顺序搜索文件:
-
模型文件夹
-
..<model folder>\CustomComponentDialogFiles
-
项目文件夹 (
XS_PROJECT) -
公司文件夹 (
XS_FIRM) -
系统文件夹 (
XS_SYSTEM) -
配置文件数据库文件夹 (
XS_PROFDB) -
<model folder>\cr (冷轧部件)
使用的参数是:文件名、行的键值、列号、分隔符、允许空列。读取文件的格式如下:
fVF("filename", "key_value_of_row", column_number, "separator(s)", FALSE)
- 某行的键值:用于选择文件中的行的唯一键值字符串。搜索区分大小写。该字符串不能包含空格、制表符或任何指定的分隔符。
- 列号:从 1 开始的索引,用于从所选行中选择值。索引 1 对应于键值。
-
分隔符:可选参数。分隔符由一个或多个用于分隔数据的字符组成。默认分隔符是空格和制表符。
指定的字符序列将被解释为一组字符,每个字符被视为单独的分隔符,而不是一个组。使用“\t”来表示制表符。例如,“ \t”表示空格和制表符将被视为分隔符,“,.;”表示逗号、点和分号将被视为分隔符。
-
允许空列:可选参数。允许空列的默认值是
FALSE。如果设置为
TRUE,则解析该函数时将考虑文件行中的空条目。如果缺失或设置为FALSE,则删除空条目。
示例
=fVF("Overlap.dat", "MET-202Z25", 5) 函数位于变量对话框的公式框中。函数从 Overlap.dat 文件,为截面 MET-202Z25 获取值 16.0。

- 行的键值 (MET-202Z25)
- 列编号 (5)
有关更多信息,请参阅 如何从自定义组件中的文本文件读取数据 支持文章。
数学函数
使用数学函数可以创建更复杂的数学表达式。
|
函数 |
描述 |
示例 |
|---|---|---|
|
fabs(参数) |
返回参数的绝对值 |
如果 D1 = -15 |
|
exp(幂) |
返回 e 的幂 e 是欧拉数。 |
如果 D1 = 2 |
|
ln(参数) |
返回参数的自然对数(底数 e) |
如果 P2 = 15 |
|
log(参数) |
返回参数的对数(底数为 10) |
如果 D1=100 |
|
sqrt(参数) |
返回参数的平方根 |
如果 D1 = 16 |
|
mod(被除数,除数) |
返回除法的模数 |
如果 D1 = 16 |
|
pow(基数,幂) |
返回底数的指定幂 |
如果 D1 = 3 且 D2 = 2 |
|
hypot(边 1,边 2) |
返回斜边
(1):边 1 (2):斜边 (3):边 2 |
如果 D1 = 3 且 D2 = 4 |
|
n!(参数) |
返回参数的阶乘 |
如果 P2 = 4 (1*2*3*4) |
|
round(参数,精度) |
返回四舍五入到指定精度的参数 |
如果 P1 = 10.567 |
|
PI |
返回 π 的值精确到小数点后 31 位 |
|
统计函数
使用统计函数计算和、平均数以及舍入值。
|
函数 |
描述 |
示例(P1 = 1.4 P2 = 2.3) |
|---|---|---|
|
ceil() |
返回大于或等于参数的最小整数 |
|
|
floor() |
返回小于或等于参数的最大整数 |
|
|
min() |
返回最小的参数 |
|
|
max() |
返回最大参数 |
|
|
sum() |
参数总和 |
|
|
sqsum() |
参数平方和:(参数 1)2 + (参数 2)2 |
|
|
ave() |
参数的平均值 |
|
|
sqave() |
平方参数的平均值 |
|
示例:Ceil 和 floor 统计函数
在此示例中,您有以下参数变量:
- 梁长:P1 = 3500
- 柱间距:P2 = 450
P1 / P2 = 7.7778
可以使用 ceil 和 floor 统计函数舍入值,然后使用舍入后的值作为梁支柱数:
=ceil(P1/P2)返回 8=floor(P1/P2)返回 7
数据类型转换函数
使用数据类型转换函数可以将值转换为其他数据类型。转换函数在三种支持的数据类型之间执行转换:整数、双精度数和字符串。
|
函数 |
描述 |
示例 |
|---|---|---|
|
int() |
将数据转换为整数 |
对计算截面尺寸尤为有用:
|
|
double() |
将数据转换为双精度数 |
|
|
string() |
将数据转换为字符串 |
|
|
imp() |
转换英制单位 在计算中使用此函数而不使用英制单位。不能直接在计算中使用英制单位。 |
对于以下示例,在 选项 对话框中,长度单位设置为 mm,小数位数设置为 2。
|
|
vwu(value, unit) |
转换长度值和角度值。可用单位有:
|
请注意,Tekla Structures 会自动用角度乘以 为了确保正确计算角度,请使用 |
单位取决于中的设置。
字符串运算
使用字符串运算可以操作字符串。在变量公式中,字符串必须位于引号内。
|
运算 |
描述 |
示例 (P1 = "PL100*10") |
|---|---|---|
|
match(parameter1, parameter2) |
如果参数相等则返回 1,否则返回 0。 您也可以在 match 函数中使用通配符 |
接受以 PFC 开头的所有截面: 接受以 PFC 开头并且高度以 2、3、4 或 5 开头的截面: 接受以 PFC 开头、高度为 200、300、400 或 500 并且宽度以 7 开头的截面: |
|
length(parameter) |
返回参数中的字符数。 |
|
|
find(parameter, string) |
返回指定字符串的次序编号(从零开始),如果从参数中未找到指定字符串,则返回 -1。 |
|
|
getat(parameter, n) |
返回参数中的第 n 个(从零开始)字符。 |
|
|
setat(parameter, n, character) |
将参数中的第 n 个(从零开始)字符设置为指定字符。 |
|
|
mid(string, n, x) |
返回从第 n 个(从零开始)字符开始的字符串的 x 个字符。如果不设置最后一个参数 (x),则返回字符串的最后部分。 |
|
|
reverse(string) |
反转给定字符串。 |
|
示例 1
要用两个变量 P2 = 100 和 P3 = 10 定义截面尺寸 PL100*10,应输入以下公式:
="PL"+P2+"*"+P3
示例 2
Tekla Structures 将螺栓间距作为字符串处理。要定义螺栓间距,应将值类型设置为距离列表并输入如下所示的公式:
=P1+" "+P2
如果 P1 = 100(长度)且 P2 = 200(长度),则结果将为 100 200。
三角函数
使用三角函数计算角度。
在变量公式中使用三角函数时,需要包含前缀来定义单位。如果不包含前缀,Tekla Structures 使用弧度作为默认单位。
- d 表示度。例如
sin(d180)。 - R 是弧度(默认)。例如,
sin(r3.14)或sin(3.14)
|
函数 |
描述 |
示例 |
|---|---|---|
|
sin() |
返回正弦值 |
|
|
余弦() |
返回余弦值 |
|
|
tan() |
返回正切值 |
|
|
asin() |
sin() 的反函数,返回以弧度为单位的值 |
|
|
acos() |
cos() 的反函数,返回以弧度为单位的值 |
|
|
atan() |
tan() 的反函数,返回以弧度为单位的值 |
|
|
sinh()函数 |
返回双曲正弦值 |
|
|
cosh() |
返回双曲余弦值 |
|
|
tanh() |
返回双曲正切值 |
|
|
atan2() |
返回以两个数字的商为正切的角度。返回弧度值 |
|
市售尺寸函数
在自定义组件中使用市售尺寸函数,可以从可用市售尺寸中选择合适的板尺寸(通常为板厚度)。例如,板的厚度应与梁的腹板匹配。
|
函数 |
描述 |
示例 |
|---|---|---|
|
fMarketSize(材料, 厚度, 外加步长) |
根据指定的厚度返回 marketsize.dat 文件中的材料可用的下一个市售尺寸。 文件必须位于 ..\environments\your_environment\profil 文件夹或系统文件夹中。 对于外加步长,请输入一个数字定义下一个尺寸的增量(默认值为 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 的次零件的歪斜角度。
|
ID50B8559A-0000-010B-3133-353432373038 是次零件的 GUID,该次零件与主零件之间呈 45 度角。 |
|
fAD("slope", GUID) |
返回具有给定 GUID 的次零件的倾斜角度。
|
|
|
fAD("cant", GUID) |
返回具有给定 GUID 的旋转次零件的斜面角度。
|
|
-
这些函数不返回正和负的倾斜/歪斜值。使用这些函数无法确定是向上还是向下倾斜以及向左还是向右歪斜。
-
可返回的最大歪斜角度为 45 度。
-
Tekla Structures 计算二维角度,以便倾斜和歪斜彼此相隔离。例如,当计算倾斜角度时,不会考虑歪斜角度,这意味着,不论次零件是否围绕主零件旋转,倾斜角度值都不变。
要找出包括歪斜的真正 3D 倾斜,您可以使用以下数学公式:
TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))
示例 1
倾斜和歪斜是相对于梁框架接合到柱中而言的。
| 梁到柱侧视图 | 梁到柱顶面视图 |
|---|---|
|
|
![]() |
- 列
- 梁
- 斜面
- 歪斜
示例 2
如果使用两个梁,则倾斜实际上是梁框架接合到另一个梁中的水平歪斜,梁相对于主零件的垂直倾斜角度实际上是歪斜角度。
| 梁到梁侧视图 | 梁到梁顶面视图 |
|---|---|
|
|
|
- 歪斜
- 斜面





