ShdCore.NET
ShdCore.NET 라이브러리는 VIZ 파일에 포함되어 있는 모델트리, 속성, 미리보기 이미지 데이터를 추출하는 기능을 제공 합니다.
모델 트리 데이터 조회
public void Example()
{
string path = "C:\\VIZ\\Model.viz";
bool loadAttribute = true;
bool loadMeshInfo = true;
bool loadBody = false;
ShdCore.NET.StructureManager stru = new StructureManager(
path /* VIZ 파일 경로 및 파일이름 */
, loadAttribute /* Attribute */
, loadMeshInfo /* 모델 로딩 시, Mesh 정보 포함 여부 */
, loadBody /* 모델 구조에 Body 형식 포함 여부 */
);
string log = string.Format("RESULT - ALL: {0:N0} EA / PART: {1:N0} EA / BODY: {2:N0} EA / Elapsed: {3:N0} Milliseconds / Version: {4}"
, stru.NodeCount /* Node Count */
, stru.GetNodeCount(NodeKind.PART) /* Node Count (TYPE :: Part) */
, stru.GetNodeCount(NodeKind.BODY) /* Node Count (TYPE :: Body) */
, stru.ElapsedMilliseconds /* Loading Time */
, stru.FileVersion /* VIZ File Version */
);
List<ShdCore.NET.TreeNode> roots = stru.Roots;
for (int i = 0; i < roots.Count; i++)
{
ShdCore.NET.TreeNode node = roots[i];
string name = node.Name;
if(node.Nodes.Count != 0)
{
// Has Child
}
}
}
모델 Bound Box 데이터 조회
public void Example()
{
string path = "C:\\VIZ\\Model.viz";
ShdCore.NET.BoundBoxManager boundBox = new BoundBoxManager(path);
if (boundBox.ModelBoundBox == null)
{
MessageBox.Show("BoundBox 정보 없음.", "ShdCore.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
float minX = boundBox.ModelBoundBox.Min[0];
float minY = boundBox.ModelBoundBox.Min[1];
float minZ = boundBox.ModelBoundBox.Min[2];
float maxX = boundBox.ModelBoundBox.Max[0];
float maxY = boundBox.ModelBoundBox.Max[1];
float maxZ = boundBox.ModelBoundBox.Max[2];
}
}
모델 미리보기 이미지 조회
public void Example()
{
string path = "C:\\VIZ\\Model.viz";
ShdCore.NET.ThumbnailManager thumbnail = new ThumbnailManager(path);
Image img = thumbnail.GetImage();
if (img == null)
{
MessageBox.Show("Thumbnail 정보 없음.", "ShdCore.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
PictureBox pbThumb = new PictureBox();
pbThumb.Image = img;
System.Drawing.Size size = thumbnail.GetSize();
string sizeStr = string.Format("Size : {0}px / {1}px", size.Width, size.Height);
}
Last modified: 08 1월 2024