모델 정보 조회
모델 정보 조회 Plugin API
지정된 개체의 정보를 반환합니다.
NodeVO item = Connector.GetObject(4);
NodeType nodeType = item.NodeType; // NODE(ASSEMBLY), PART
string nodeName = item.NodeName;
int nodeIndex = item.Index;
int nodeId = item.Id;
현재 조회 중인 모델의 전체 개체를 반환합니다.
List<NodeVO> items = Connector.GetAllObjects();
foreach (NodeVO item in items)
{
// some code here...
}
현재 조회 중인 모델의 전체 개체를 Dictionary 형식으로 반환합니다.
Dictionary<int, NodeVO> NodeIndexMap = new Dictionary<int, NodeVO>();
Dictionary<int, NodeVO> NodeIdMap = new Dictionary<int, NodeVO>();
Dictionary<int, List<NodeVO>> ChildNodeMap = new Dictionary<int, List<NodeVO>>();
Connector.GetAllObjectsMap(
out NodeIndexMap
, out NodeIdMap
, out ChildNodeMap
);
전체 파트(PART) 형식의 전체 노드 목록을 반환합니다.
List<NodeVO> items = Connector.GetAllParts();
foreach (NodeVO item in items)
{
// some code here...
}
로딩된 모델 중 보이는 파트(PART) 목록을 반환합니다.
List<NodeVO> items = Connector.GetVisibleParts();
foreach (NodeVO item in items)
{
// some code here...
}
로딩된 모델 중 보이는 개체 목록을 반환합니다.
List<NodeVO> items = Connector.GetVisibleObjects();
foreach (NodeVO item in items)
{
// some code here...
}
현재 모델상에 선택된 모델 목록을 반환합니다.
List<NodeVO> items = Connector.GetSelectedObjects(false);
foreach (NodeVO item in items)
{
// some code here...
}
현재 모델상에 선택된 모델 중에서 파트(PART) 목록을 반환합니다.
List<NodeVO> items = Connector.GetSelectedParts();
foreach (NodeVO item in items)
{
// some code here...
}
지정된 개체의 모델 구조(Hierarchy)를 반환
int Index = Connector.GetSelectedParts()[0].Index;
List<NodeVO> items = Connector.GetObjectStructure(Index);
// 정전개
for (int i = items.Count; i > 0; i--)
{
MessageBox.Show(items[i - 1].NodeName);
}
// 역전개
for (int i = 0; i < items.Count; i++)
{
MessageBox.Show(items[i].NodeName);
}
지정된 개체의 하위 노드를 반환합니다.
List<NodeVO> selectedItems = Connector.GetSelectedObjects(false);
// 지정된 개체의 하위 목록
List<NodeVO> items = Connector.GetChildObjects(
selectedItems[0].Index
, ChildrenTypes.Children
);
// 지정된 개체의 하위 전체 목록
List<NodeVO> items = Connector.GetChildObjects(
selectedItems[0].Index
, ChildrenTypes.All_Children
);
영역 안의 모델 목록을 반환합니다.
ObjectsPropertyVO prop = Connector.GetSelectedObjectsProperty();
float[] minmax = new float[]
{
Convert.ToSingle(prop.MinPoint.X)
, Convert.ToSingle(prop.MinPoint.Y)
, Convert.ToSingle(prop.MinPoint.Z)
, Convert.ToSingle(prop.MaxPoint.X)
, Convert.ToSingle(prop.MaxPoint.Y)
, Convert.ToSingle(prop.MaxPoint.Z)
};
// 해당 BoundBox의 영역에 모델이 전체 포함된 경우
List<int> items = Connector.GetObjectsInArea(
minmax
, new int[] { }
, CrossBoundBox.Fullycontained
);
// 해당 BoundBox의 영역에 모델이 일부라도 포함된 경우
List<int> items = Connector.GetObjectsInArea(
minmax
, new int[] { }
, CrossBoundBox.IncludingPart
);
Last modified: 04 3월 2024