CAD(计算机辅助设计) 图纸通常用于使用 CAD 软件程序创建建筑计划和模型。一些著名的 AutoCAD 文件格式是 DWG、DXF、DGN、DWF。我们在另一篇文章中讨论了使用 Java 查看 CAD 图纸。今天,在本文中,我们将讨论如何在 .NET 应用程序中使用 C# 以编程方式查看 CAD 文件。

下面简要介绍以下主题:

.NET CAD 查看器 API – DWG、DXF、DWF、DGN

在本文中,我将使用 GroupDocs.Viewer for .NET,它允许在 .NET 应用程序中以编程方式将 DWG 等 CAD 文件渲染为 PDF、JPG、PNG 和 HTML。除了 DWG,API 还支持 DWF、DGN、DWT、DXF、IFC、STL、绘图仪文档和 更多

除了 CAD 文件格式,API 还为文字处理文档、电子表格、演示文稿、网页、图像、矢量、电子书、Visio 绘图、许多不同编程语言的源代码文件提供相同的渲染功能。

下载部分 下载 DLLsMSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

PM> Install-Package GroupDocs.Viewer

在 C# 中将 CAD 绘图转换为 HTML、PNG、JPG 或 PDF 格式

在本文中,我仅使用 DWG 格式进行转换和渲染为其他格式,并附有示例。让我们从 DWG 设计文件的转换开始,使用 C# 将其呈现为带有嵌入式和外部资源选项的 HTML。

使用 C# 中的嵌入式资源将 DWG 转换为 HTML

以下是如何将 DWG 文件转换为 HTML 渲染的步骤。

以下源代码转换 DWG 文件并使用 C# 将其呈现为带有嵌入资源的 HTML。

// 使用 C# 将 DWG CAD 绘图渲染为带有嵌入资源的 HTML
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("page_{0}.html");
    viewer.View(viewOptions);
}

使用 C# 中的外部资源将 DWG 转换为 HTML

以下是转换 DWG 文件并将其渲染为具有外部资源的 HTML 文件的步骤。

以下源代码将 DWG 文件呈现为带有 C# 中的外部资源的 HTML。

// 使用 C# 将 C# CAD 绘图渲染为带有外部资源的 HTML
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
  • 使用查看器,获取具有布局的 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 绘图。
  • 创建视图选项。
  • 将渲染布局属性设置为 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 构建的。

您可以使用 文档 了解有关 GroupDocs.Viewer for .NET 的更多信息。如果您有任何疑问,请随时通过我们的 论坛 告诉我们。

也可以看看