CATIA의 Knowledge Advisor에는 Reaction 이란 것이 존재합니다.
Rule은 일반적으로 A가 조건이되면 B 가 그에 상응하는 반응을 하는 실행요소가 되어
부모자식간의 철저한 관계를 유지합니다. 마치 formula와 같이 반응하는 것이죠.
formular 는 수식을 지원하는 기능이기 때문에 A가 바뀌면 B가 f(A)의 수식이 되는것이죠.
Rule도 A의 조건을 보면서 상황에 따라 B를 f(A)로 만들 뿐이죠.
그러나 Reaction은 A가 조건이 되게 할 수도 B가 조건이 되기 할 수도 있습니다.
Reaction은 A가 어떤 반응 이 있어났을 때 즉 이벤트가 발행했을때 단지 그순간에 어떤 짓을
하라는 지시를 할 수 있기 때문에 실제 프로그램에서 실행하는 것처럼 반응합니다.
사례를 한 개 들어 보겠습니다.
아래에 Parameter가 두개 있습니다.
사용자의 의도는 A가 바뀌면 B도 같은 값으로 바뀌고 B가 바뀌어도 A값이 같은값으로 바뀌게 하고
싶습니다. 이건 forrnula 및 Rule로 제작이 불가합니다.
Reaction을 생성합니다.
Sources 에는 A 파라미터를 선택하구요. 이벤트는 A값이 바뀌면이 됩니다.
그리고 아래 Edit Action에서 편집을 합니다.
Editor에서 편집합니다. ( 웬만하면 Parameter는 적지 마시고 CATIA트리에서 선택해서 찍어주세요.)
저 의미는 “A 값과 B값이 다르면 B 에다 A값을 넣어주세요가 됩니다. “
조건이 뭐라구요? “A값이 변경되면. ‘ 이 되지요.
즉 “ A값이 변경되면 그때 A값과 B값을 비교해서 다르면 B에다 A값을 넣어주세요. “ 가 전체 명제
입니다.
그럼 B값이 변경될때는 ?
Reaction을 하나 더 만드시면 됩니다.
“ B값이 변경되면 그때 A값과 B값을 비교해서 다르면 A에다 B값을 넣어주세요. “
이건 여러분들이 직접해 보세요.