变量公式中的函数
您可以使用函数计算参数化变量的值。变量公式总是以等号 (=) 开头。
有关更多信息,请参见使用参数变量设置对象属性。
算术运算符
使用算术运算符合并那些返回数值的表达式。您可以使用以下算术运算符:
运算符 | 描述 | 说明 |
---|---|---|
+ | 加 | 也用于创建参数字符串。 |
- | 减 | |
* | 乘 | 乘比除快。
|
/ | 除 |
逻辑和比较运算符
在 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 会按以下顺序搜索文件:
-
模型
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
工程(使用高级选项
XS_PROJECT
设置) -
公司(使用高级选项
XS_FIRM
设置) -
系统(使用高级选项
XS_SYSTEM
设置)
用于读取文件的格式如下:
fVF("filename", "key_value_of_row", column_number)
-
行的键值是唯一的文本值。
-
列号为从 1 开始的索引。
您可以指定用于分隔数据的字符:fVF(data file, lookup value, column#[, separator character])
.
-
您可以使用首选的列分隔符。这实现了对名称、截面、形状等数据中空格的支持,以及使用距离列作为输入。
-
您可以使用空白或空字符串作为输入。
-
只能使用单个字符作为分隔符。例如,您不能使用
"/+/"
这样更为复杂的分隔符,因为仅第一个字符被视为列分隔符。
示例
=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) |
返回斜边
|
如果 D1 = 3 且 D2 = 4 |
n!(参数) | 返回参数的阶乘 |
如果 P2 = 4 (1*2*3*4) |
round(参数, 精确度) | 返回参数舍入到给定精确度后的值 |
如果 P1 = 10.567 |
PI | 返回 31 位小数的 pi 值 |
|
统计函数
使用统计函数计算和、平均数以及舍入值。您可以使用以下统计函数:
函数 | 描述 | 示例 (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() |
将数据转换为整数 |
对计算截面尺寸尤为有用: 如果精度在选项对话框中设置为 0,则 |
double() |
将数据转换为双精度数 |
|
string() |
将数据转换为字符串 |
|
imp() |
转换英制单位 在计算中使用此函数而不使用英制单位。不能直接在计算中使用英制单位。 |
对于以下示例,在选项对话框中,长度单位设置为 mm,且精度设置为 2。
|
vwu(value, unit) |
转换长度值和角度值。可用单位有:
|
如果在选项对话框中,长度单位设置为 mm,且精度设置为 2,则 如果在选项对话框中,角度设置为度,且精度设置为 2,则 |
单位取决于 中的设置。
字符串运算
使用字符串运算可以操作字符串。在变量公式中,字符串必须位于引号内。
您可以使用以下字符串运算:
运算 |
描述 |
示例 (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。
三角函数
使用三角函数计算角度。您可以使用以下三角函数:
函数 | 描述 | 示例 |
---|---|---|
sin() | 返回正弦值 |
|
cos() | 返回余弦值 |
|
tan() | 返回正切值 |
|
asin() |
sin() 的反函数,返回以弧度为单位的值 |
|
acos() |
cos() 的反函数,返回以弧度为单位的值 |
|
atan() |
tan() 的反函数,返回以弧度为单位的值 |
|
sinh() | 返回双曲正弦值 |
|
cosh() | 返回双曲余弦值 |
|
tanh() | 返回双曲正切值 |
|
atan2() | 返回正切为两个数字之商的角度。返回以弧度为单位的值 |
|
在变量公式中使用三角函数时,需要包含一个前缀来定义单位。如果不包含前缀,Tekla Structures 使用弧度作为默认单位。
-
d 表示度。例如,
sin(d180)
-
r 表示弧度(默认)。例如,
sin(r3.14)
或sin(3.14)
市售尺寸函数
在自定义组件中使用市售尺寸函数,可以从可用市售尺寸中选择合适的板尺寸(通常为板厚度)。例如,板的厚度应与梁的腹板匹配。
函数 |
描述 |
示例 |
---|---|---|
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
如果使用两个梁,则倾斜实际上是梁框架接合到另一个梁中的水平歪斜,梁相对于主零件的垂直倾斜角度实际上是歪斜角度。
侧视图 |
顶视图 |
|
|
- 歪斜
- 斜面