Development Environment
VIZCore3DX.NET 컨트롤을 Microsoft Visual Studio 개발 프로젝트에 적용하는 방법을 설명합니다.
개발환경 구성
1. Microsoft Visual Studio 실행
새 프로젝트 만들기 또는
Visual C# / Windows Forms 앱(.NET Framework) 프로젝트를 생성합니다.
📸 Figure 1: 새 프로젝트 만들기

프로젝트 이름
프로젝트 이름은 VIZCore3DX.NET.Demo로 설정하는 것을 권장합니다.
2. VIZCore3DX.NET.dll 파일 프로젝트에 참조 추가
📸 Figure 2: 참조 추가

📸 Figure 3: 참조 관리자

📸 Figure 4: DLL 선택

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

3. Visual Studio 빌드 설정 변경
중요 설정
Prefer 32-bit(32비트 기본 사용) 옵션이 반드시 해제되어 있어야 합니다.
📸 Figure 6: 빌드 환경 설정

4. Panel 컨트롤 추가
📸 Figure 7: Toolbox
📸 Figure 8: Panel 추가

정보
Panel 이름은 panelView로 설정하고
Anchor: Top, Bottom, Left, Right 로 설정합니다.
5. 버튼(btnOpen) 추가
📸 Figure 9: Button 추가

📸 Figure 10: 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();
}