수식에서 조건문을 사용하여 다른 매개변수의 상태에 따라 달라지는 작업을 패밀리에서 정의할 수 있습니다.
조건문을 사용할 경우 소프트웨어는 지정된 조건이 충족되는지 여부를 기반으로 하여 매개변수의 값을 입력합니다. 조건문은 특정 상황에서 유용하게 사용될 수 있습니다. 그러나 조건문을 사용하면 패밀리가 더 복잡해므로 꼭 필요한 경우에만 사용해야 합니다.
유형 매개변수 자체가 조건문과 비슷하기 때문에 대부분의 유형 매개변수에서 조건문은 필요하지 않습니다. 유형인 경우에는 이 매개변수를 지정된 값으로 설정합니다. 특히 계속 변동하지 않는 매개변수를 설정할 때 조건문을 사용하는 경우에는 인스턴스(instance) 매개변수에서 사용하는 것이 보다 생산적입니다.
조건문에서는 IF (<condition>, <result-if-true>, <result-if-false>) 구조를 사용합니다.
이는 조건이 만족되는지(true) 만족되지 않는지(false)에 따라 매개변수에 대한 값이 입력됨을 의미합니다. 조건이 true이면 true 값이 반환됩니다. 조건이 false이면 false 값이 반환됩니다.
조건문은 숫자 값, 숫자 매개변수 이름 및 예/아니오 매개변수를 포함할 수 있습니다. 조건에 비교 연산자 <, >, = 등을 사용할 수 있습니다. 조건문에 부울 연산자 AND, OR, NOT도 또한 사용할 수 있습니다. 현재 <=과 >=는 구현되지 않습니다. 그러한 비교를 표현하려면 논리적 NOT을 사용할 수 있습니다. 예를 들어 a<=b는 NOT(a>b)으로 입력할 수 있습니다.
다음은 조건문을 사용하는 샘플 수식입니다.
단순 IF: =IF (Length < 3000mm, 200mm, 300mm)
IF와 문자 매개변수: =IF (Length > 35', “String1”, “String2”)
IF와 논리 AND: =IF ( AND (x = 1 , y = 2), 8 , 3 )
IF와 논리 OR: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
포함된 IF문: =IF ( Length < 35' , 2' 6" , IF ( Length < 45' , 3' , IF ( Length < 55' , 5' , 8' ) ) )
IF와 예/아니오 조건: =Length > 40(조건과 결과 모두 암시됨)
수식에서 조건문이 사용되는 일반적인 경우로는 배열 값을 계산하거나 매개변수 값을 기반으로 하여 요소의 가시성을 제어하는 것이 포함됩니다. 예를 들어 조건문을 다음과 같이 사용할 수 있습니다.
Revit에서는 배열이 2 이상의 정수 값만 가질 수 있습니다. 어떤 경우에는 계산된 값이 1 또는 0이더라도 배열 매개변수 값을 2로 유지하는 조건부 수식을 작성하는 것이 유용할 수 있습니다. 그러한 수식을 사용할 경우 계산된 배열 값이 2 이상이면 수식은 그 값을 유지합니다. 그러나 계산된 값이 1 또는 0이면 수식은 값을 2로 바꿉니다.
수식: Array number = IF (Arrayparam < 2, 2, Arrayparam)
예를 들어 라이트 매개변수를 사용하여 문살 형상의 가시성을 조절하려면 MuntinVis와 같은 예/아니오 매개변수를 작성하고 이 매개변수를 문살 형상의 특성 팔레트에서 볼 수 있음 매개변수에 할당할 수 있습니다. MuntinVis 매개변수는 예/아니오(또는 부울) 연산이므로 조건(IF)과 결과가 모두 암시됩니다. 이 예에서 조건이 충족되면(true) MuntinVis 매개변수 값이 선택되며 문살 형상이 표시됩니다. 반대로 조건이 충족되지 않으면(false) MuntinVis 매개변수는 지워지고 문살 형상은 표시되지 않습니다.
수식: MuntinVis = Lights > 1