모델 보이기 / 숨기기, 선택 / 해제
모델을 보이기 / 숨기기 하거나 선택 / 해제하는 방법에 대한 Plugin API 예제입니다.
모델 보이기 / 숨기기
화면에 렌더링된 모델을 보이거나 숨길 수 있습니다.
아래 예제는 로딩된 모델 중 PIPE 모델만 보이도록 처리하는 예제입니다.
// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) 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, // 전체 모델
false, // 속성 미포함 검색
false, // 전체 노드 검색
false // 부분 일치
);
// 개별 모델 보이기
foreach (NodeVO item in items)
{
Connector.ShowObject(
item.Index, // Node Index
true // true: 보이기, false: 숨기기
);
}
// 화면 갱신 재개
Connector.EnableRender(true);
모델 선택 / 해제
모델 조작 또는 속성 조회를 위해
API를 사용하여 모델을 선택하거나 해제할 수 있습니다.
아래 예제는 PIPE 모델을 선택하는 예제입니다.
// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) 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,
false,
false,
false
);
// 개별 모델 선택
foreach (NodeVO item in items)
{
if (Connector.IsSelected(item.Index)) continue;
Connector.SetSelected(
item.Index, // Node Index
true, // true: 선택, false: 선택 해제
true // Focus
);
}
// 화면 갱신 재개
Connector.EnableRender(true);
선택 관련 참고 사항
DeselectAll()
: 전체 선택 해제
SelectAll()
: 전체 선택
선택 색상 및 표시 방식
모델이 선택되면 기본적으로 색상이 변경됩니다.
선택 색상을 변경하려면 아래 API를 사용합니다.
- SetSelectionColor
- 관련 메뉴: 홈 → 환경설정 → 선택색상
선택된 모델을 색상 대신 BBOX(개별 / 전체) 로 표시하려면
SetObjectSelectionMode API를 사용합니다.
- 관련 메뉴: 홈 → 환경설정 → 개체선택유형
선택 기능 제어
사용자가 임의로 모델을 선택하지 못하도록
선택 기능을 비활성화할 수 있습니다.
투명 모델 선택 방지
모델이 투명 처리된 경우,
해당 모델이 선택되지 않도록 설정할 수 있습니다.
- SetSkipSelectByTransparentColor
- 관련 메뉴: 홈 → 환경설정 → 선택가능개체