2019년 5월 23일 목요일

Reaction 을 이용한 예제 하나

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값을 넣어주세요. “
이건 여러분들이 직접해 보세요.


댓글 없음:

댓글 쓰기