모델의 색상 및 투명도 설정
모델의 색상(Color)과 투명도(Alpha)를 API를 통해 설정하는 방법을 설명합니다.
모델 색상 설정
모델의 고유 색상을 변경할 수 있습니다.
// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) return;
// 화면 갱신 차단
Connector.EnableRender(false);
// PIPE 모델 검색
List<NodeVO> items = Connector.FindObject(
"PIPE", // 검색어
true, // 대소문자 구분 안 함
true, // 어셈블리 노드만 검색
false, // 보이는 모델만 검색 안 함
false, // 속성 포함 검색 안 함
false, // 선택된 모델 이하 검색 안 함
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);
색상 초기화 방법
변경된 색상은 아래 세 가지 방법으로 초기화할 수 있습니다.
// 지정된 항목 색상 초기화
Connector.RestoreObjectsColor(INDEX.ToArray());
// 현재 선택된 모델 색상 초기화
Connector.RestoreSelectedObjectColor();
// 전체 모델 색상 초기화
Connector.RestoreAllObjectColor();
색상 팔레트(Color Palette) 활용 예제
SHConnector 라이브러리에 정의된 색상 팔레트를 이용해 모델 색상을 설정할 수 있습니다.
// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) return;
// 화면 갱신 차단
Connector.EnableRender(false);
// PIPE 모델 검색
List<NodeVO> items = Connector.FindObject(
"PIPE",
true,
true,
false,
false,
false,
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);
모델 색상 변경 결과

모델 투명도 설정
모델의 고유 투명도를 설정할 수 있습니다.
// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) return;
// 화면 갱신 차단
Connector.EnableRender(false);
// PIPE 모델 검색
List<NodeVO> items = Connector.FindObject(
"PIPE",
true,
true,
false,
false,
false,
false
);
// 검색된 모델 인덱스 수집
List<int> INDEX = new List<int>();
foreach (NodeVO item in items)
{
INDEX.Add(item.Index);
}
// 투명도 변경 (0 ~ 100)
Connector.SetObjectsAlpha(INDEX.ToArray(), 50);
// 화면 갱신 차단 해제
Connector.EnableRender(true);
모델 투명도 변경 결과

투명도 초기화 방법
변경된 투명도는 아래 세 가지 방법으로 초기화할 수 있습니다.
// 지정된 항목 투명도 초기화
Connector.RestoreObjectsAlpha(INDEX.ToArray());
// 현재 선택된 모델 투명도 초기화
Connector.RestoreSelectedObjectAlpha();
// 전체 모델 투명도 초기화
Connector.RestoreObjectsAlpha();