NX Requirement 응용 #
안녕하세요
이번 블로그의 내용은 NX Requirement 응용 방법입니다.
NX Requirement는 단독으로 사용하기엔 다소 불편한 점이 있어 PTS Library 작업 시 활용이 가능하도록 지원하고 있습니다.
Requirement가 Expression을 매개로 하여 동작하는 요소이기에 PTS에 등록한 Expression에 추가로 설정이 가능하며 여기에 더하여 시각적인 표현도 가능하게 됩니다. ( Visual Rule )
[ 모든 설계 변수가 조건을 만족함 : 모든 변수의 설정이 완벽하므로 객체를 녹색으로 표현 ]
[ Pocket 깊이가 설계 조건을 만족 하지 못함 : ZZ값을 증가하라는 메시지와 객체를 붉은색으로 표현 ]
Requirement가 정의된 Part를 Open하고 색상 표현 단계를 정의하기 위해 Expression을 등록한다.
Con_X = XX - X
Con_Y = YY - Y
Con_Z = ZZ – Z
Con_T = IF( Con_Z<0) 2 Else (IF (Con_X >= 0 | Con_Y >= 0) 1 Else 0 )
Expression 정의가 완료되면 PTS Module을 실행한다.
Expression 항목에서 관리하고자 하는 Expression을 선택하고 마우스 우클릭 -> Add를 선택하거나 더블 클릭하여 PTS GUI에 등록한다.
마지막으로 Requirement를 적용하기 위해 PTS Control 항목에서 [ Action Button ]을 더블 클릭하여 PTS GUI에 추가한다.
추가된 Button Action을 선택하고 마우스 우클릭 -> [ Show check information ]을 선택한다.
이어서 Button의 Title을 [ 설계요구사항 ]이라고 수정하고 [ Finish ]를 선택하여 PTS를 종료한다.
PTS가 적용된 Part를 마우스 우클릭 -> [ Edit Reusable Component ]를 선택하여 PTS를 실행한다.
PTS가 실행되면 3D Model에 HD3D Tag로 Requirement가 표시되며 우측에 정보창이 표시된다.
이상태에서 특정 값을 수정하면 정의된 Requirement에 의해 해당 값의 적합여부를 표시하게 된다. ( 변수[ XX ]는 상부 돌출물의 Size이며 BOX의 변수[ X ]보다 작아야 하기에 3D Model에 경고와 경고 문구를 표현 )
이 상태에서 Pocket의 깊이에 해당하는 [ ZZ ]값을 [ Z ]보다 작은 값으로 변경하면 설계요구사항은 [ Error ]를 표시하며 이는 [ XX ]값에 의한 주의사항 보다 [ ZZ ]값에 의한 설계 오류가 더 심각한 사항이기 때문이다.
해당 Requirement를 등록할 때 Severity 항목의 설정을 통해 심각성 정도를 지정할 수 있다.
여기서 설계요구사항의 심각성 단계에 따라 객체의 색상이 변경되도록 [ Visual Rule ] 기능을 적용한다.
Visual Rule은 생성과 변경, 복사, 삭제를 담당하는 ①[ Action ] 영역과 각각의 단계를 배치하고 실행을 담당하는 ②[ Workbench ]영역, 그리고 Workbench의 세부 설정을 담당하는 ③[ Properties ]영역으로 구성되어 있다.
먼저 Action 항목의 [ New Visual Rule ]를 선택하여 새로운 Visual Rule를 생성한다. ※ 세부 실행을 위한 Visual Rule를 먼저 생성하고 최종 실행 Visual Rule를 생성하는 순서로 작업을 진행한다.
설계 조건을 만족하는 경우 객체의 색상을 녹색으로 표현하는 Visual Rule을 먼저 생성한다. Name : Change_OK ※ [ Internal rule ]을 체크해야만 전체 Visual Rule에서 할당이 가능하니 반드시 체크할 것.
Fetch 항목에서 [ Form Part ]를 마우스 우클릭 후 [ Add ]를 선택하여 Visual 객체를 추가한다. ( 추가된 객체는 [ Workbench ] 영역에 등록된다. )
추가된 객체를 선택하면 [ Properties ] 영역에 설정 가능 한 항목이 표시되며 [ Type of data to fetch ]를 선택 후 마우스 우클릭 후 [ Bodies ]를 선택하여 작업 대상으로 설정한다.
[ Act ]항목에서 [ Set Object ]를 마우스 우클릭 후 [ Add ]를 선택하여 Visual 객체를 추가한다. ( 추가된 객체는 [ Workbench ] 영역에 등록된다. )
추가된 객체를 선택하면 [ Properties ]영역에 설정 가능한 항목이 표시되며 [ Type ]을 마우스 우클릭 후 Color를 선택하여 작업 내용을 지정한다.
작업내용으로 Color을 지정하면 하위 항목에 [ Color ] 선택 항목이 생성되며 마우스 우클릭 후 Edit를 선택하면 NX에서 표현가능 한 색상표가 표시되며 조건에 적합하다는 의미로 [ 녹색 ]을 지정한다.
모든 설저이 완료되면 Workbench에서 객체와 객체를 연결하여 작업이 진행 되도록 연결선을 이어준다.
적합 조건 Visual Rule [ Change_OK ]의 생성이 완료되면 [ Copy Visual Rule ]를 선택해여 복사한다.
[ Change_OK(1) ]으로 복사가 되며 [ Rename the Visual Rule ]를 선택하여 [ Change_NG ]로 변경한다. ※ Rename 기능이지만 [ Internal rule ] 항목도 재 정의할 수 있다.
동일한 방법으로 [ Change _NG1 ]을 복사하여 생성하고 심각한 오류인 [ Change_NG ]는 [ Set Object ]의 설정을 빨간색으로 비교적 심각성이 낮은 [ Change_NG1 ]은 노란색으로 설정한다.
하위 Visual Rule의 생성과 설정이 완료되면 [ New Visual Rule ]을 선택하여 새로운 Visual Rule을 생성한다. ※ 메인 실행용 Visual Rule이므로 [ Internal rule ]의 체크는 해제 한다.
Expression 항목에서 등록된 [ Con_T ]를 마우스 우클릭 후 [ Add ]를 선택하여 Fetch Expression을 등록한다.
Construct 항목에서 [ Switch ]를 선택하여 Switch 객체를 등록한다.
등록된 Switch 객체의 Cases 항목을 마우스 우클릭 후 [ Add new case ]를 선택하여 더 많은 Case를 추가한다. ※ Switch 객체의 추가 Case는 적합, 부적합, 심각한 부적합을 처리하기 위해 2개를 더 추가하여 3개로 만든다.
Switch variable 항목을 [ $1 ]을 입력한다. ※ [ $1 ]은 첫번째 획득한 Expression [ Con_T ]를 의미입니다.
Cases value는 획득한 Expression [ CON_T ]의 실제 값이며 [ 0 ]일 경우는 조건에 만족하는 경우이므로 세부 실행 Visual Rule 가운데 [ Change_OK ]를 할당 한다.
이어서 [ CON_T ]의 값이 1일 경우 [ Change_NG1 ], [ CON_T ]의 값이 2일 경우 [ Change_NG ]를 할당한다.
※ NX Expression등록 단계에서 적합[ 0 ] / 부적합[ 1 ] / 심각한 오류 [ 3 ]으로 정의됨.
세부 실행 Visual Rule의 할당이 완료 되면 각 객체를 연결하여 Visual Rule 생성을 마무리한다.
모든 Visual Rule의 준비가 완료되면 PTS GUI에 등록된 각 설계변수에 해당하는 Expression을 선택하고 값이 입력되면 추가로 동작을 취할 방식으로 [ Visual Rule ]을 지정한다.
Actions 항목을 [ Visual Rule ]로 지정을 하면 하위에 실행 가능한 Visual Rule이 표시되며 [ Color_Change ]를 선택한다. ( ※ Internal Visual Rule은 표시되지 않음 )
설계 변수에 해당하는 모든 Expression에 동일하게 [ Color_Change ] Visual Rule을 할당하고 PTS를 종료한다.
※ 설계 조건에 영향을 미치지 않는 Expression일 경우 할당 하지 않는다.
PTS 작업이 완료된 Part를 마우스 우클릭 후 [ Edit Reusable Component ]를 선택하여 PTS Library를 실행한다.
PTS GUI Open 후 [ XX ]를 120으로 변경하면 3D Model의 색상 변경과 Warning 메시지의 표시가 이뤄진다. ※ 상부 구조물의 사이즈는 비교적 심각도가 낮은 오류이므로 색상을 노란색으로 표현한다.
[ XX ]를 80으로 복귀하고 [ ZZ ]를 10으로 변경하면 3D Model의 색상 변경과 Error 메시지의 표시가 이뤄진다. ※ Pocket의 깊이는 중요도가 높은 설계 변수이므로 Error 발생 시 빨간색으로 표현한다.
에러가 발생한 상태에서 [ XX ]를 120으로 변경해도 이미 중요도가 높은 [ ZZ ]로 인해 Error가 발생된 상태 이므로 객체의 색상은 빨간색이며 메시지도 Error 메시지로 표시되어 사용자에게 시각적으로 알림을 줄 수 있다.