VIZZARD Document Help

모델의 색상 및 투명도 설정

모델의 색상 및 투명도 설정

모델 색상 설정

  • 모델이 고유 색상을 변경할 수 있습니다.

// 모델 열린 상태 확인 if (Connector.IsOpenDocument() == false) return; // 화면 갱신 차단 Connector.EnableRender(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(검색어 포함 - 부분 일치) */ ); // 검색된 모델 List<int> INDEX = new List<int>(); foreach (NodeVO item in items) { INDEX.Add(item.Index); } // 색상 변경 Connector.SetObjectsColor(INDEX.ToArray(), Color.Yellow); // 화면 갱신 차단 해제 Connector.EnableRender(true);
  • 변경된 색상을 초기화 하는 방법은 아래 3가지 형태가 있습니다.

// 지정된 항목 색상 초기화 Connector.RestoreObjectsColor(INDEX.ToArray()); // 현재 선택된 모델애 대해서 색상 초기화 Connector.RestoreSelectedObjectColor(); // 전체 모델의 색상을 초기화 Connector.RestoreAllObjectColor();
  • SHConnector Library에 사전에 정의된 색상 팔레트 정보를 활용한 예제

// 모델 열린 상태 확인 if (Connector.IsOpenDocument() == false) return; // 화면 갱신 차단 Connector.EnableRender(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(검색어 포함 - 부분 일치) */ ); // 색상 팔레트 SHConnector.Utility.Color.ColorPaletteHelper colorHelper = new SHConnector.Utility.Color.ColorPaletteHelper(); // 팔레트 설정 colorHelper.PalettesName = colorHelper.GetPalettesNames()[0]; // 팔레트 색상 목록 조회 List<SHConnector.Utility.Color.PaletteColorVO> colorList = colorHelper.Colors; for (int i = 0; i < items.Count; i++) { // 색상 변경 Connector.SetObjectsColor( new int[] { items[i].Index } , colorList[i % colorList.Count].Color1 ); } // 화면 갱신 차단 해제 Connector.EnableRender(true);

Figure 1 : 모델 색상 변경

VIZZARD_DEV_COLOR_01.png

    모델 투명도 설정

    • 모델의 고유 투명도를 변경할 수 있습니다.

    // 모델 열린 상태 확인 if (Connector.IsOpenDocument() == false) return; // 화면 갱신 차단 Connector.EnableRender(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(검색어 포함 - 부분 일치) */ ); // 검색된 모델 List<int> INDEX = new List<int>(); foreach (NodeVO item in items) { INDEX.Add(item.Index); } // 투명도 변경 Connector.SetObjectsAlpha(INDEX.ToArray(), 50); // 화면 갱신 차단 해제 Connector.EnableRender(true);

    Figure 2 : 모델 투명도 변경

    VIZZARD_DEV_COLOR_02.png
      • 변경된 투명도를 초기화 하는 방법은 아래 3가지 형태가 있습니다.

      // 지정된 항목 투명도 초기화 Connector.RestoreObjectsAlpha(INDEX.ToArray()); // 현재 선택된 모델애 대해서 투명도 초기화 Connector.RestoreSelectedObjectAlpha(); // 전체 모델의 투명도를 초기화 Connector.RestoreObjectsAlpha();
      Last modified: 04 3월 2024