C计算机-Aided Design - CAD 文件通常用于 2D 和 3D 设计。这些设计由 CAD 软件程序生成,通常用于创建模型和建筑计划。如果您使用过 CAD,您很可能熟悉 AutoCAD 的一些文件格式,例如DWG、DXF、DGN、DWF。本文将讨论如何在 Java 应用程序中以编程方式查看 CAD 文件。

下面简要介绍以下主题:

用于渲染 CAD 文件的 Java API - DWG、DXF、DWF、DGN

GroupDocs.Viewer for Java 是允许将各种文档和图像文件呈现为 HTML、图像或 PDF 格式以在 Java 应用程序中查看这些文件的 API。 API 支持 100 多种文件格式以编程方式呈现为 HTML、JPG、PNG 或 PDF

在本文中,我们将坚持使用 CAD 文件。除了已经提到的 DWGDGN 格式,您还可以进一步查看 AutoCAD 格式,例如 DWF、DWT、DXF,以及 IFC、STL、IGS、CF2、绘图仪文档(PLT、 Java 应用程序中的 HPG) 文件。

下载并配置

从下载中获取库 或在基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置以尝试以下示例。有关详细信息,您可以访问 API 参考

<repository>
	<id>GroupDocsArtifactRepository</id>
	<name>GroupDocs Artifact Repository</name>
	<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-viewer</artifactId>
        <version>21.2</version> 
</dependency>

将 CAD 绘图转换为在 Java 中呈现为 HTML、PNG、JPG 或 PDF

该 API 允许将 CAD 文档呈现为 HTML、JPG、PNG 和 PDF 格式。在本文中,我坚持使用 DWG 格式进行转换并使用示例渲染为其他格式。首先,让我们转换 DWG 设计并将其呈现为带有嵌入式和外部资源选项的 HTML。

使用嵌入式资源将 DWG 转换为 HTML

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

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

// 使用 Java 将 .dwg CAD 绘图渲染为带有嵌入式资源的 HTML
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources("page_{0}.html");
	viewer.view(viewOptions);
}

使用外部资源将 DWG 转换为 HTML

以下是如何将 DWG 文件转换为 HTML 文件并使用外部资源进行渲染的步骤。

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

// 使用 Java 将 .dwg CAD 绘图渲染为带有外部资源的 HTML
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forExternalResources("page_{0}.html", "page_{0}/resource_{1}", "page_{0}/resources");
	viewer.view(viewOptions);
}

在 Java 中将 DWG 转换为 PDF、JPG 和 PNG

与转换为 HTML 格式类似,DWG 文件可以使用各自的 ViewOptions 呈现为 PDF、JPG 和 PNG 格式,如下所示:

在 Java 中获取 DWG 的布局和图层

由于 CAD 文件可能包含多个布局和图层,您可以使用以下步骤轻松获取它们的布局和图层。

以下代码显示了如何使用 Java 获取 DWG 文件的所有布局和图层。

// 在 Java 中获取 DWG CAD 绘图的布局和图层
try (Viewer viewer = new Viewer("drawing.dwg")) {
	ViewInfoOptions viewInfoOptions = ViewInfoOptions.forHtmlView();
	CadViewInfo viewInfo = (CadViewInfo) viewer.getViewInfo(viewInfoOptions);
    
	System.out.println("File type: " + viewInfo.getFileType());
	System.out.println("Pages count: " + viewInfo.getPages().size());
    
	for (Layout layout : viewInfo.getLayouts()) {
		System.out.println(layout);
	}
	for (Layer layer : viewInfo.getLayers()) {
		System.out.println(layer);
	}
}

在 Java 中渲染 DWG 文件的 CAD 图层

默认情况下,CAD 绘图的所有图层都会如上所示进行渲染。但是,您可以通过使用 Java API 的 setLayers 方法选择所选图层来渲染 DWG 的任何特定图层,如下所示。

  • 使用源 .dwg 文件初始化 Viewer 类对象。
  • 实例化 HtmlViewOptions
  • 使用 CadOptions 的 setLayers 方法添加要渲染的层。
  • 使用 view 方法将 .dwg 渲染为 HTML。

以下代码以 Java 呈现 DWG 格式的 CAD 文件的图层。

// 在 Java 中渲染 .dwg CAD 绘图的图层
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources();
	viewOptions.getCadOptions().setLayers(Arrays.asList(new Layer("Stairs"), new Layer("Walls")));
	viewer.view(viewOptions);
}

在 Java 中渲染 DWG 文件的 CAD 布局

我们在渲染 CAD 图纸时,默认只得到模型展示。要渲染模型以及所有非空布局,我们只需将 CadOptions 的 RenderLayout 属性设置为 true。

以下代码以 Java 中的 DWG 格式呈现所有非空布局以及 CAD 绘图模型。

// 在 Java 中渲染 .dwg CAD 绘图的布局
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources();
	viewOptions.getCadOptions().setRenderLayouts(true);
	viewer.view(viewOptions);
}

获取免费 API 许可证

您可以 获得免费的临时许可证 以便在没有评估限制的情况下使用 API。

结论

在本文中,您学习了如何在 Java 应用程序中查看 CAD 文件。我希望您有信心使用 Java 构建自己的 CAD 查看器。您可以在应用程序中进一步显示 CAD 文件的模型、布局和图层。您可以使用 文档 了解有关 Java 的 GroupDocs.Viewer 的更多信息。如果您有任何疑问,请随时通过我们的 论坛 告诉我们。

也可以看看