본문으로 건너뛰기

Development Environment

VIZCore3DX.NET 컨트롤을 Microsoft Visual Studio 개발 프로젝트에 적용하는 방법을 설명합니다.


개발환경 구성

1. Microsoft Visual Studio 실행

새 프로젝트 만들기 또는
Visual C# / Windows Forms 앱(.NET Framework) 프로젝트를 생성합니다.


📸 Figure 1: 새 프로젝트 만들기

Create Project 1 Create Project 2


프로젝트 이름

프로젝트 이름은 VIZCore3DX.NET.Demo로 설정하는 것을 권장합니다.


2. VIZCore3DX.NET.dll 파일 프로젝트에 참조 추가


📸 Figure 2: 참조 추가

참조 추가

📸 Figure 3: 참조 관리자

참조 관리자

📸 Figure 4: DLL 선택

DLL 선택

📸 Figure 5: 참조 추가 결과 화면

참조 추가 결과


3. Visual Studio 빌드 설정 변경

중요 설정

Prefer 32-bit(32비트 기본 사용) 옵션이 반드시 해제되어 있어야 합니다.


📸 Figure 6: 빌드 환경 설정

빌드 환경 설정


4. Panel 컨트롤 추가

📸 Figure 7: Toolbox

ToolBox

📸 Figure 8: Panel 추가

Panel 추가

정보

Panel 이름은 panelView로 설정하고
Anchor: Top, Bottom, Left, Right 로 설정합니다.


5. 버튼(btnOpen) 추가

📸 Figure 9: Button 추가

Button 추가

📸 Figure 10: Button 속성

Button 속성

버튼 이름: btnOpen, 텍스트: Open


6. 코드 보기 이동

📸 Figure 11: 코드 보기

코드 보기


VIZCore3DX.NET 초기화

7. 컨트롤 변수 선언

public partial class Form1 : Form
{
private VIZCore3DX.NET.VIZCore3DXControl vizcore3dx;

public Form1()
{
InitializeComponent();
}
}

8. 컨트롤 초기화 코드 추가

public Form1()
{
InitializeComponent();

// Initialize VIZCore3DX.NET
VIZCore3DX.NET.ModuleInitializer.Run();

// Construction
vizcore3dx = new VIZCore3DX.NET.VIZCore3DXControl();
vizcore3dx.Dock = DockStyle.Fill;
panelView.Controls.Add(vizcore3dx);

// 필수 Event
vizcore3dx.OnInitializedVIZCore3DX += VIZCore3DX_OnInitializedVIZCore3DX;
}
중요 사항

ModuleInitializer.Run() 단계에서는 필요한 Unmanaged Library가 실행 경로에 복사됩니다. 또한 OnInitializedVIZCore3DX 이벤트에서 라이선스 인증을 수행해야 합니다.

라이선스 인증

private void VIZCore3DX_OnInitializedVIZCore3DX(object sender, EventArgs e)
{
var result = vizcore3dx.License.LicenseFile("C:\\Temp\\VIZCore3DX.NET.lic");
if (result != VIZCore3DX.NET.Data.LicenseResults.SUCCESS)
{
MessageBox.Show($"LICENSE CODE : {result}",
"VIZCore3DX.NET", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
라이선스는 파일 인증과 서버 인증을 모두 지원합니다.

기본 설정 변경 예제

private void VIZCore3DX_OnInitializedVIZCore3DX(object sender, EventArgs e)
{
InitializeVIZCore3DX();
}

private void InitializeVIZCore3DX()
{
vizcore3dx.BeginUpdate();

vizcore3dx.ToolbarMain.Visible = true;
vizcore3dx.ToolbarNote.Visible = false;
vizcore3dx.ToolbarMeasure.Visible = false;
vizcore3dx.ToolbarSection.Visible = false;
vizcore3dx.ToolbarSnapshot.Visible = false;

vizcore3dx.EndUpdate();
}

이벤트 처리 예제

private void VIZCore3DX_OnInitializedVIZCore3DX(object sender, EventArgs e)
{
InitializeVIZCore3DXEvent();
}

private void InitializeVIZCore3DXEvent()
{
vizcore3dx.Object3D.OnObject3DSelected += Object3D_OnObject3DSelected;
}

private void Object3D_OnObject3DSelected(object sender, Event.EventManager.Object3DSelectedEventArgs e)
{
if (e.Node.Count > 0)
{
// 선택된 개체 있음
}
else
{
// 모든 개체 선택 해제
}
}

모델 열기 버튼 처리

private void btnOpen_Click(object sender, EventArgs e)
{
vizcore3dx.Model.OpenFileDialog();
}