본문으로 건너뛰기

개체 숨김 관리

개체 숨김 관리 Plugin API 예제입니다.


개요​

모델 파일에 포함된 일부 개체를 항상 보이지 않는 상태로 유지해야 하는 경우가 있습니다.
예를 들어, 설계 단계에서는 필요하지만 다른 목적(검토, 공유, 시뮬레이션 등)으로 사용할 때는
OBST(Obstruction Volume) 모델을 숨겨야 할 수 있습니다.

개체 숨김 관리 기능을 사용하면 다음과 같은 특징을 가집니다.

  • 개체를 숨김 처리하더라도
    전체 보이기 / 숨기기 등의 동작에 의해 다시 표시되지 않음
  • 한 번 숨김 목록에 추가되면
    명시적으로 해제하기 전까지 유지
  • 일반적인 Show / Hide API와 독립적으로 동작

개체 숨김 추가 예제 (OBST 모델)​

아래 예제는 (OBST) 문자열을 포함한 모델을 검색하여
개체 숨김 목록에 추가하는 예제입니다.

// 모델 열린 상태 확인
if (!Connector.IsOpenDocument()) return;

// 화면 갱신 차단
Connector.EnableRender(false);

// OBST 모델 검색
List<NodeVO> items = Connector.FindObject(
"(OBST)", // 검색어
true, // 대소문자 구분 안 함
true, // 어셈블리 노드만 검색
false, // 전체 모델
false, // 속성 미포함 검색
false, // 전체 노드 검색
false // 부분 일치
);

// 검색된 모델 Index 수집
List<int> indexList = new List<int>();
foreach (NodeVO item in items)
{
indexList.Add(item.Index);
}

// 개체 숨김 목록에 추가
Connector.AddObjectsHideList(indexList.ToArray());

// 화면 갱신 재개
Connector.EnableRender(true);

개체 숨김 해제 예제​

현재 숨김 처리된 개체 목록을 조회한 후
숨김 목록에서 제거하는 예제입니다.

// 개체 숨김 목록 조회
List<NodeVO> items = Connector.GetHidedObjectsStr();

// Index 목록 구성
List<int> indexList = new List<int>();
foreach (NodeVO item in items)
{
indexList.Add(item.Index);
}

// 개체 숨김 목록에서 제거
Connector.RemoveObjectsHideList(indexList.ToArray());

// 화면 갱신
Connector.EnableRender(true);

관련 메뉴​

  • 홈 → 개체 숨김