CAD(Computer-Aided Design) 도면은 일반적으로 CAD 소프트웨어 프로그램을 사용하여 건축 계획 및 모델을 작성하는 데 사용됩니다. 잘 알려진 AutoCAD 파일 형식 중 일부는 DWG, DXF, DGN, DWF입니다. 우리는 별도의 기사에서 Java를 사용하여 CAD 도면 보기에 대해 논의했습니다. 오늘 이 기사에서는 .NET 응용 프로그램 내에서 C#을 사용하여 CAD 파일을 프로그래밍 방식으로 보는 방법에 대해 설명합니다.

다음 주제는 아래에서 간략하게 다룹니다.

.NET CAD 뷰어 API – DWG, DXF, DWF, DGN

이 기사에서는 .NET 응용 프로그램 내에서 DWG와 같은 CAD 파일을 PDF, JPG, PNG 및 HTML로 프로그래밍 방식으로 렌더링할 수 있는 .NET용 GroupDocs.Viewer를 사용할 것입니다. API는 DWG 외에도 DWF, DGN, DWT, DXF, IFC, STL, 플로터 문서 및 더 많은을 지원합니다.

CAD 파일 형식 외에 API는 워드 프로세서 문서, 스프레드시트, 프리젠테이션, 웹 페이지, 이미지, 벡터, eBook, Visio 도면, 다양한 프로그래밍 언어의 많은 소스 코드 파일에 대해 동일한 렌더링 기능을 제공합니다.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치합니다.

PM> Install-Package GroupDocs.Viewer

CAD 도면을 C#에서 HTML, PNG, JPG 또는 PDF로 보기로 변환

이 기사에서는 예제와 함께 다른 형식으로의 변환 및 렌더링을 위해 DWG 형식만 사용하고 있습니다. C#을 사용하여 포함된 HTML 및 외부 리소스 옵션을 사용하여 DWG 디자인 파일을 변환하는 것부터 시작하겠습니다.

C#에 포함된 리소스를 사용하여 DWG를 HTML로 변환

다음은 DWG 파일을 HTML로 렌더링하도록 변환하는 방법의 단계입니다.

다음 소스 코드는 DWG 파일을 변환하고 C#을 사용하여 리소스가 포함된 HTML로 렌더링합니다.

// C#을 사용하여 포함된 리소스가 있는 HTML로 볼 수 있도록 DWG CAD 도면 렌더링
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("page_{0}.html");
    viewer.View(viewOptions);
}

C#에서 외부 리소스를 사용하여 DWG를 HTML로 변환

다음은 DWG 파일을 변환하고 외부 리소스를 사용하여 HTML 파일로 렌더링하는 단계입니다.

다음 소스 코드는 C#의 외부 리소스를 사용하여 DWG 파일을 HTML로 렌더링합니다.

// C#을 사용하여 외부 리소스가 포함된 HTML로 볼 수 있도록 C# CAD 도면 렌더링
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForExternalResources(
        "page_{0}.html","page_{0}/resource_{1}","page_{0}/resources");

    viewer.View(viewOptions);
}

C#에서 DWG를 PDF, JPG 및 PNG로 변환

HTML 형식으로의 변환과 마찬가지로 DWG 파일은 다음과 같이 각각의 ViewOptions를 사용하여 PDF, PNG 및 JPG 형식으로 렌더링할 수 있습니다.

C#에서 DWG의 레이아웃 및 레이어 가져오기

CAD 파일에는 여러 레이아웃과 레이어가 포함될 수 있으며 다음 단계를 사용하여 이러한 레이아웃과 레이어를 얻을 수 있습니다.

  • Viewer 클래스를 사용하여 DWG 파일을 로드합니다.
  • HTML 보기 렌더링을 위해 ViewInfoOptions를 만듭니다.
  • Viewer를 사용하여 레이아웃이 있는 CadViewInfo를 가져옵니다.
  • CadViewInfo에서 레이아웃을 가져와 반복합니다.
  • 마찬가지로 CadViewInfo에서 레이어를 가져와서 반복합니다.

다음 코드는 C#을 사용하여 DWG 파일의 레이아웃과 레이어를 가져오는 방법을 보여줍니다.

// C#에서 DWG CAD 도면의 레이아웃 및 레이어 가져오기
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    ViewInfoOptions viewInfoOptions = ViewInfoOptions.ForHtmlView();
    CadViewInfo viewInfo = viewer.GetViewInfo(viewInfoOptions) as CadViewInfo;

    Console.WriteLine("File type: " + viewInfo.FileType);
    Console.WriteLine("Pages count: " + viewInfo.Pages.Count);

    foreach (Layout layout in viewInfo.Layouts)
        Console.WriteLine(layout);

    foreach (Layer layer in viewInfo.Layers)
        Console.WriteLine(layer);
}

C#에서 DWG 파일의 CAD 레이어 렌더링

모든 레이어를 렌더링하지 않고 DWG의 특정 레이어만 렌더링하려는 경우 레이어 이름을 설정하여 수행할 수 있습니다.

  • Viewer 클래스를 사용하여 DWG 도면을 로드합니다.
  • 보기 옵션을 만듭니다.
  • 보기 옵션에 CAD 레이어 추가
  • View 메서드를 사용하여 DWG를 HTML로 렌더링합니다.

다음 코드는 C#에서 DWG 형식의 CAD 파일 레이어를 렌더링합니다.

// C#에서 .dwg CAD 도면의 렌더링 레이어
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
    viewOptions.CadOptions.Layers = new List<Layer>
    {
        new Layer("Walls"),
        new Layer("Windows")
    };
    viewer.View(viewOptions);
}

C#에서 DWG 파일의 CAD 레이아웃 렌더링

기본적으로 CAD 파일을 렌더링할 때만 모델 프리젠테이션을 얻습니다. 모델과 함께 비어 있지 않은 모든 레이아웃을 렌더링하도록 속성을 설정할 수 있습니다.

  • Viewer 클래스를 사용하여 DWG 도면을 로드합니다.
  • 보기 옵션을 만듭니다.
  • Render Layouts 속성을 true로 설정합니다.
  • View 메서드를 사용하여 DWG를 HTML로 렌더링합니다.

다음 코드는 C#에서 DWG 형식의 CAD 도면 모델과 함께 비어 있지 않은 모든 레이아웃을 렌더링합니다.

// C#에서 .dwg CAD 도면의 렌더링 레이아웃
using (Viewer viewer = new Viewer("drawing.dwg"))
{
   HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
   viewOptions.CadOptions.RenderLayouts = true;
   viewer.View(viewOptions);
}

무료 API 라이선스 받기

평가 제한 없이 API를 사용하려면 임시 무료 라이선스를 취득할 수 있습니다.

결론

결론적으로 .NET 응용 프로그램 내에서 C#으로 CAD 파일을 보는 방법을 배웠기를 바랍니다. 또한 응용 프로그램 내에서 CAD 파일의 모델, 레이아웃 및 레이어를 가져오고 표시하는 방법을 살펴보았습니다. C#을 사용하여 자신만의 CAD 뷰어를 구축할 수 있어야 합니다. 온라인 응용 프로그램을 사용하여 파일을 볼 수 있습니다. 이들은 GroupDocs.Viewer를 사용하여 구축됩니다.

문서를 사용하여 .NET용 GroupDocs.Viewer에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 포럼을 통해 알려주십시오.

또한보십시오