VIZZARD Document Help

모델 보이기/숨기기, 선택/해제

모델 보이기/숨기기, 선택/해제

모델 보이기/숨기기

  • 화면상에 렌더링된 모델을 보이기/숨기기 처리할 수 있습니다.

  • 아래 예제는 로딩된 모델에서 PIPE 모델만 보이도록 처리하는 예제입니다.

// 모델 열린 상태 확인 if (Connector.IsOpenDocument() == false) return; // 화면 갱신 차단 Connector.EnableRender(false); //=========================================== // 모두 숨기기 //=========================================== /* // 모두 숨기기 Connector.SetObjectVisibleAction(PluginObjectVisibleAction.HIDE_ALL); // 선택되지 않은 모델 숨기기 Connector.SetObjectVisibleAction(PluginObjectVisibleAction.HIDE_DESELECTION); // 선택된 모델 숨기기 Connector.SetObjectVisibleAction(PluginObjectVisibleAction.HIDE_SELECTION); // 전체 보이기 Connector.SetObjectVisibleAction(PluginObjectVisibleAction.SHOW_ALL);*/ Connector.ShowAll(false); /* TRUE(전체보이기), FALSE(전체숨기기) */ // PIPE 모델 검색 List<NodeVO> items = Connector.FindObject( "PIPE" /* 검색어 */ , true /* 대소문자 구분 : True(구분하지않음), False(구분) */ , true /* True(어셈블리노드만 검색), False(전체노드 검색) */ , false /* True(보이는 모델만), False(전체 모델) */ , false /* True(속성포함 검색), False(속성미포함 검색) */ , false /* True(선택된 모델 이하 검색), False(전체노드 검색) */ , false /* True(검색어 일치), False(검색어 포함 - 부분 일치) */ ); // 개별 모델 보이기/숨기기 foreach (NodeVO item in items) { // 보이기/숨기기 Connector.ShowObject( item.Index /* NODE INDEX */ , true /* TRUE(보이기), FALSE(숨기기) */ ); } // 전체 모델 보이기/숨기기 /* List<int> INDEX = new List<int>(); foreach (NodeVO item in items) { INDEX.Add(item.Index); } Connector.ShowObjects(INDEX.ToArray(), true);*/ // 화면 갱신 차단 해제 Connector.EnableRender(true);

모델 선택/해제

  • 화면에 보이는 모델을 조작하기 위해 혹은 대상 모델의 속성 정보 조회를 위해 선택을 하게 되며, API를 이용하여 수행할 수 있습니다.

  • 아래 예제는 로딩된 모델에서 PIPE 모델을 선택하는 예제입니다.

// 모델 열린 상태 확인 if (Connector.IsOpenDocument() == false) return; // 화면 갱신 차단 Connector.EnableRender(false); // 이전에 선택상태의 모델을 모두 해제 Connector.DeselectAll(); // 이외 선택 동작 /* // 전체 모델 선택 Connector.SetObjectSelectionAction(PluginObjectSelectionActions.SELECTION_ALL); // 선택 상태 반전 Connector.SetObjectSelectionAction(PluginObjectSelectionActions.REVERSE_SELECTION); // 선택 취소 Connector.SetObjectSelectionAction(PluginObjectSelectionActions.CANCEL_SELECTION);*/ // PIPE 모델 검색 List<NodeVO> items = Connector.FindObject( "PIPE" /* 검색어 */ , true /* 대소문자 구분 : True(구분하지않음), False(구분) */ , true /* True(어셈블리노드만 검색), False(전체노드 검색) */ , false /* True(보이는 모델만), False(전체 모델) */ , false /* True(속성포함 검색), False(속성미포함 검색) */ , false /* True(선택된 모델 이하 검색), False(전체노드 검색) */ , false /* True(검색어 일치), False(검색어 포함 - 부분 일치) */ ); // 개별 모델 선택 foreach (NodeVO item in items) { // 선택상태 확인 if (Connector.IsSelected(item.Index) == true) continue; // 선택 Connector.SetSelected( item.Index /* NODE INDEX */ , true /* TRUE(선택), FALSE(선택해제) */ , true /* TRUE(FOCUS), FALSE */ ); } // 전체 모델 선택 /* List<int> INDEX = new List<int>(); foreach (NodeVO item in items) { INDEX.Add(item.Index); } // 선택 Connector.SetSelectedMulti( INDEX.ToArray() , true , true, true );*/ // 화면 갱신 차단 해제 Connector.EnableRender(true);
  • 모델이 선택상태로 변경이 되면, 선택된 모델은 색상이 변경됩니다. 선택된 모델이 표시되는 색상을 변경하고자 하면 SetSelectionColor API를 활용하시기 바랍니다.

    관련 메뉴 : 홈 -> 환경설정 -> 선택색상

  • 사용자가 임의로 모델을 선택하지 못하도록 선택 기능을 비활성화할 수 있습니다.

    SetEnableSelection

    GetEnableSelection

  • 여러 모델이 겹쳐있어 최외곽 모델을 투명하게 처리하고, 내부 모델을 보이게 처리한 경우 투명한 모델은 사용자에 의해 선택이 되지 않도록 설정할 수 있습니다.

    SetSkipSelectByTransparentColor

    관련 메뉴 : 홈 -> 환경설정 -> 선택가능개체

Last modified: 04 3월 2024