Ccomputador-Aided Design - Arquivos CAD são normalmente usados para projetos 2D e 3D. Esses projetos são gerados por programas de software CAD e normalmente são usados para criar modelos e plantas arquitetônicas. Se você já trabalhou com CAD, provavelmente está familiarizado com alguns dos formatos de arquivo do AutoCAD, como DWG, DXF, DGN, DWF. Este artigo discutirá como visualizar arquivos CAD programaticamente em aplicativos Java.

Os seguintes tópicos são abordados abaixo em breve:

API Java para renderizar arquivos CAD - DWG, DXF, DWF, DGN

GroupDocs.Viewer for Java é a API que permite renderizar vários documentos e arquivos de imagem em formato HTML, Image ou PDF para visualizar esses arquivos em seu aplicativo Java. A API suporta mais de 100 formatos de arquivo para renderizar programaticamente como HTML, JPG, PNG ou PDF.

Neste artigo, vamos nos ater aos arquivos CAD. Além dos formatos DWG e DGN já mencionados, você pode visualizar ainda os formatos AutoCAD, como DWF, DWT, DXF, e também IFC, STL, IGS, CF2, documento Plotter (PLT, HPG) em seus aplicativos Java.

Baixe e configure

Obtenha a biblioteca a partir de downloads ou apenas adicione a seguinte configuração pom.xml em seus aplicativos Java baseados em Maven para experimentar os exemplos mencionados abaixo. Para obter detalhes, você pode visitar a Referência da 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>

Converta desenhos CAD para renderizar como HTML, PNG, JPG ou PDF em Java

A API permite renderizar os documentos CAD para os formatos HTML, JPG, PNG e PDF. Neste artigo, estou aderindo ao formato DWG para a conversão e renderização para outros formatos usando exemplos. Para começar, vamos converter o design DWG e renderizá-lo como HTML com opções de recursos incorporados e externos.

Converter DWG para HTML com recursos incorporados

A seguir estão as etapas de como converter o arquivo DWG para renderizar como HTML.

O código-fonte a seguir converte o arquivo DWG e o renderiza como HTML com recursos incorporados em Java.

// Renderize o desenho CAD .dwg para visualizar como HTML com recursos incorporados usando Java
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources("page_{0}.html");
	viewer.view(viewOptions);
}

Converter DWG para HTML com recursos externos

A seguir estão as etapas de como converter o arquivo DWG para renderizar como arquivo(s) HTML e com recursos externos.

O código-fonte a seguir renderiza o arquivo DWG como HTML com recursos externos em Java.

// Renderize o desenho CAD .dwg para visualizar como HTML com recursos externos usando Java
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forExternalResources("page_{0}.html", "page_{0}/resource_{1}", "page_{0}/resources");
	viewer.view(viewOptions);
}

Converter DWG para PDF, JPG e PNG em Java

Semelhante à conversão para o formato HTML, os arquivos DWG podem ser renderizados nos formatos PDF, JPG e PNG usando as respectivas ViewOptions da seguinte forma:

Obter layouts e camadas de DWG em Java

Como os arquivos CAD podem consistir em vários layouts e camadas, você pode obter facilmente seus layouts e camadas usando as etapas a seguir.

  • Instanciar o objeto ViewInfoOptions para renderização HTML.
  • Usando ViewInfoOptions, você pode obter o CadViewInfo.
  • Obtenha os layouts de viewInfo usando o método getLayouts.
  • Obtenha as camadas de viewInfo usando o método getLayers.

O código a seguir mostra como obter todos os layouts e camadas do arquivo DWG usando Java.

// Obtenha layouts e camadas de desenho DWG CAD em Java
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);
	}
}

Renderize camadas CAD do arquivo DWG em Java

Por padrão, todas as camadas do desenho CAD são renderizadas conforme mostrado acima. No entanto, você pode renderizar qualquer camada específica do DWG selecionando as escolhidas usando o método setLayers da API Java, conforme mostrado abaixo.

  • Inicialize o objeto de classe Viewer usando o arquivo .dwg de origem.
  • Instanciar HtmlViewOptions.
  • Adicione a(s) camada(s) para renderizar usando o método setLayers de CadOptions.
  • Renderize .dwg para HTML usando o método view.

O código a seguir renderiza as camadas de um arquivo CAD no formato DWG em Java.

// Renderizar camadas de desenho CAD .dwg em Java
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);
}

Renderizar layouts CAD de arquivo DWG em Java

Quando renderizamos o desenho CAD, só obtemos a apresentação do modelo por padrão. Para renderizar o modelo, bem como todos os layouts não vazios, basta definir a propriedade RenderLayout de CadOptions como verdadeira.

  • Inicialize o objeto de classe Viewer usando o arquivo .dwg de origem.
  • Instanciar HtmlViewOptions.
  • Defina a propriedade RenderLayout de CadOptions como true.
  • Renderize .dwg como HTML usando o método view.

O código a seguir renderiza todos os layouts não vazios junto com o modelo de um desenho CAD com formato DWG em Java.

// Renderizar layouts de desenho CAD .dwg em Java
try (Viewer viewer = new Viewer("drawing.dwg")) {
	HtmlViewOptions viewOptions = HtmlViewOptions.forEmbeddedResources();
	viewOptions.getCadOptions().setRenderLayouts(true);
	viewer.view(viewOptions);
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como visualizar arquivos CAD em aplicativos Java. Espero que você esteja confiante para construir seu próprio CAD Viewer usando Java. Você também pode mostrar modelos, layouts e camadas de arquivos CAD dentro do aplicativo. Você pode aprender mais sobre GroupDocs.Viewer for Java usando a documentação. Caso você tenha alguma dúvida, sinta-se à vontade para nos informar através do nosso fórum.

Veja também