변수 수식 내 함수
변수 수식 내 함수
함수를 사용하여 파라메트릭 변수의 값을 계산할 수 있습니다. 변수 수식은 항상 등호(=)로 시작합니다.
자세한 내용은 파라메트릭 변수를 사용하여 객체 속성 설정 를 참조하십시오.
산술 연산자
산술 연산자를 사용하여 숫자 값을 반환하는 표현식을 결합합니다. 다음과 같은 산술 연산자를 사용할 수 있습니다.
연산자 |
설명 |
참고 |
---|---|---|
+ |
더하기 |
매개변수 문자열을 생성할 때도 사용합니다. |
- |
빼기 |
|
* |
곱하기 |
곱하기가 나누기보다 빠릅니다. =D1*0.5 이 =D1/2 보다 빠릅니다. |
/ |
나누기 |
논리 및 비교 연산자
if 문 안에서 논리 연산자와 비교 연산자를 사용합니다. if-then-else 문을 사용하여 조건을 테스트하고 결과에 따라 값을 설정할 수 있습니다.
예를 들면 아래 그림과 같습니다.
=if (D1>200) then 20 else 10 endif
if 문에 다음과 같은 연산자를 사용할 수 있습니다.
연산자 |
설명 |
예 |
---|---|---|
== |
양쪽이 같음 |
|
!= |
양쪽이 같지 않음 |
|
< |
왼쪽이 더 작음 |
|
<= |
왼쪽이 더 작거나 같음 |
|
> |
오른쪽이 더 작음 |
|
>= |
오른쪽이 더 작거나 같음 |
|
&& |
논리적 AND 두 조건이 모두 참이어야 함 |
=if (D1==200 && D2<40) then 6 else 0 endif D1이 200이고 D2가 40보다 작을 경우 결과는 6이고, 그렇지 않을 경우에는 0입니다. |
|| |
논리적 OR 한 조건만 참이어야 함 |
=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) |
객체의 철근 카탈로그 값을 반환합니다. 용도 는 2("결착재") 또는 1("메인")일 수 있습니다. FieldName 은 다음 중 하나여야 합니다.
|
fRebarCatalogValue("A500HW", "10", 1, 2) 철근 등급이 A500HW인 객체의 크기, 용도 및 중량을 반환합니다. |
참조 함수로서의 ASCII 파일
ASCII 파일을 참조하여 데이터를 가져올 수 있습니다. Tekla Structures 는 다음 순서로 파일을 검색합니다.
모델
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
프로젝트(고급 옵션 XS_PROJECT 로 설정)
펌(고급 옵션 XS_FIRM 으로 설정)
시스템(고급 옵션 XS_SYSTEM 으로 설정)
파일 읽기 형식은 다음과 같습니다.
fVF("filename", "key_value_of_row", column_number)
행의 키 값은 고유한 텍스트 값입니다.
열 번호는 1부터 시작하는 인덱스입니다.
ASCII 파일에서 각 행의 끝에 공백을 입력합니다. 그렇지 않으면 정보를 올바로 읽지 못합니다.
예
=fVF("Overlap.dat", "MET-202Z25", 5) 함수는 변수 대화 상자의 수식 상자에 위치합니다. 이 함수는 프로파일 MET-202Z25 에 대해 값 16.0 을 Overlap.dat 파일로부터 가져옵니다.
행의 키 값(MET-202Z25)
열 번호(5)
수학 함수
수학 함수를 사용하여 보다 복잡한 수식을 생성합니다. 다음과 같은 함수를 사용할 수 있습니다.
함수 |
설명 |
예 |
---|---|---|
fabs(parameter) |
매개변수의 절대값을 반환합니다. |
=fabs(D1) : 15 반환 D1 = -15일 경우 |
exp(power) |
e 의 거듭제곱을 반환합니다. e 는 오일러의 수입니다. |
=exp(D1) : 7.39 반환 D1 = 2일 경우 |
ln(parameter) |
매개변수의 자연 로그를 반환합니다(밑수 e ). |
=ln(P2) : 2.71 반환 P2 = 15일 경우 |
log(parameter) |
매개변수의 로그를 반환합니다(밑수 10). |
=log(D1) : 2 반환 D1=100일 경우 |
sqrt(parameter) |
매개변수의 제곱근을 반환합니다. |
=sqrt(D1) : 4 반환 D1 = 16일 경우 |
mod(dividend, divider) |
나누기의 나머지를 반환합니다. |
=mod(D1, 5) : 1 반환 D1 = 16일 경우 |
pow(base number, power) |
밑수를 지정된 지수로 거듭제곱한 값을 반환합니다. |
=pow(D1, D2) : 9 반환 D1 = 3이고 D2 = 2일 경우 |
hypot(side1,side2) |
빗변을 반환합니다.
|
=hypot(D1, D2) : 5 반환 D1 = 3이고 D2 = 4일 경우 |
n!(parameter) |
매개변수의 계승을 반환합니다. |
=n!(P2) : 24 반환 P2 = 4일 경우 (1*2*3*4) |
round(parameter, accuracy) |
매개변수를 주어진 정확도로 반올림한 값을 반환합니다. |
=round(P1, 0.1) : 10.600 반환 P1 = 10.567일 경우 |
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() |
매개변수를 제곱한 값의 합계: (parameter1)2 + (parameter2)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
ceil 및 floor 통계 함수를 사용하여 값을 반올림하여 결과 값을 보 기둥 개수로 사용할 수 있습니다.
=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.90mm 반환 =imp(1,1,2) (1 1/2인치를 의미): 38.10mm 반환 =imp(1,2) (1/2인치를 의미): 12.70mm 반환 =imp(1) (1인치를 의미): 25.40mm 반환 =3’/3" 는 불가능하지만 =imp(36)/imp(3) 는 정상입니다. |
vwu(value, unit) |
길이 값과 각도 값을 변환합니다. 사용 가능한 단위:
|
옵션 대화 상자에서 길이 단위가 mm로 설정되고 소수점 자리수가 2로 설정된 경우 =vwu(4.0,"in") 는 101.60mm를 반환 옵션 대화 상자에서 각도가 도로 설정되고 소수점 자리수가 2로 설정된 경우 =vwu(2.0,"rad") 는 114.59도를 반환 |
단위는 파일 메뉴 > 설정 > 옵션 > 단위 및 소수 의 설정에 따릅니다.
문자열 연산
문자열 연산을 사용하여 문자열을 조작합니다. 문자열은 변수 공식의 따옴표 안에 있어야 합니다.
다음과 같은 문자열 연산을 사용할 수 있습니다.
작업 |
설명 |
예(P1 = "PL100*10") |
---|---|---|
match(parameter1, parameter2) |
매개변수가 같으면 1, 다르면 0을 반환합니다. 또한 와일드 카드 * , ? 및 [ ] 을 일치 함수와 함께 사용할 수도 있습니다. |
=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) |
지정된 문자열의 주문 번호(0부터 시작)를 반환하며, 매개변수에서 지정된 문자열이 발견되지 않으면 -1을 반환합니다. |
=find(P1, "*") : 5 반환 |
getat(parameter, n) |
매개변수에서 n번째(0부터 시작) 문자를 반환합니다. |
=getat(P1, 1) : "L" 반환 |
setat(parameter, n, character) |
n번째(0부터 시작) 문자를 매개변수에서 지정된 문자로 설정. |
=setat(P1, 0, "B") : "BL100*10" 반환 |
mid(string, n, x) |
n번째(0부터 시작) 문자부터 시작하여 x개 문자를 반환합니다. 마지막 인수(x)를 생략할 경우 문자열의 마지막 부분이 반환됩니다. |
=mid(P1,2,3) : "100" 반환 |
reverse(string) |
주어진 문자열을 반전시킵니다. |
=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()의 역함수로, radian 단위로 값을 반환합니다. |
=asin(1) 은 1.571 rad를 반환합니다 |
acos() |
cos()의 역함수로, radian 단위로 값을 반환합니다. |
=acos(1) 은 0 rad를 반환합니다 |
atan() |
tan()의 역함수로, radian 단위로 값을 반환합니다. |
=atan(1) 은 0.785 rad를 반환합니다 |
sinh() |
쌍곡선인 값을 반환합니다. |
=sinh(d45) : 0.87 반환 |
cosh() |
쌍곡코사인 값을 반환합니다. |
=cosh(d45) : 1.32 반환 |
tanh() |
쌍곡탄젠트 값을 반환합니다. |
=tanh(d45) : 0.66 반환 |
atan2() |
두 숫자의 몫이 탄젠트가 되는 각도를 반환합니다. radian 단위로 값을 반환합니다. |
=atan2(1,3) : 0.32 반환 |
변수 수식에 삼각 함수를 사용할 때는 접두사를 포함시켜 단위를 정의해야 합니다. 접두사를 포함시키지 않으면 Tekla Structures 가 radian을 기본 단위로 사용합니다.
d는 도(º)입니다. 예: sin(d180)
r은 radian(기본값)입니다. 예: sin(r3.14) 또는 sin(3.14)
market size 함수
사용자 컴포넌트에서 market size 함수를 사용하여 사용 가능한 시장 크기에서 적당한 플레이트 치수(일반적으로 플레이트 두께)를 선택합니다. 예를 들어 플레이트 두께가 보의 웨브와 일치해야 합니다.
함수 |
설명 |
예 |
---|---|---|
fMarketSize(material, thickness, extrastep) |
marketsize.dat 파일로부터 사용자가 지정한 두께를 기준으로 다음으로 사용 가용한 재질 시장 크기를 반환합니다. 파일은 ..\environments\your_environment\profil 폴더 또는 시스템 폴더 안에 위치해야 합니다. 추가 단계(extrastep)로는 다음 크기까지 추가할 단계를 정의하는 숫자를 입력합니다(기본값은 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
각 행의 첫 번째 항목은 재질 등급이고, 다음 항목은 사용 가능한 플레이트 두께(단위: mm)입니다. 기본 선에서는 그 밖에 모든 재질 등급에서 사용할 수 있는 두께가 나열됩니다.
위와 같은 데이터라면 함수 =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") |
이러한 함수는 양수 및 음수의 경사/기울기 값을 반환하지 않습니다. 이들 함수를 사용하여 상하 경사 및 좌우 기울기를 결정할 수 없습니다.
반환되는 최대 기울기 각도는 45도입니다.
Tekla Structures 는 경사 및 기울기가 서로 분리되도록 2D에서 각도를 계산합니다. 예를 들어 경사 각도를 계산할 때 기울기 각도는 고려되지 않습니다. 즉, 기울기 각도 값은 기본 부재에 대한 보조 부재의 회전과 상관없이 일정하게 유지됩니다.
기울기가 포함된 진정한 3D 경사를 계산하려면 다음 수식을 사용할 수 있습니다.
TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))
예 1
경사 및 기울기는 기둥으로의 보 프레이밍에 대해 상대적입니다.
사이드 뷰 |
상단 뷰 |
- 열
- 빔
- 기울기
- 기울기
예 2
두 보에서 경사 는 실제로 다른 보에 대한 보 프레이밍의 수평 기울기이며, 보의 메인에 대한 수직 경사는 실제로 기울기 각도입니다.
사이드 뷰 |
상단 뷰 |
- 기울기
- 기울기