Los dibujos CAD (Computer-Aided Design) se utilizan normalmente para crear planos y modelos arquitectónicos mediante programas de software CAD. Algunos de los formatos de archivo de AutoCAD más conocidos son DWG, DXF, DGN, DWF. Discutimos ver los dibujos CAD usando Java en un artículo separado. Hoy, en este artículo, discutiremos cómo ver archivos CAD mediante programación usando C# dentro de aplicaciones .NET.

Los siguientes temas se tratan a continuación en forma breve:

API del visor CAD .NET: DWG, DXF, DWF, DGN

En este artículo, usaré GroupDocs.Viewer para .NET que permite representar mediante programación los archivos CAD como DWG a PDF, JPG, PNG y HTML dentro de las aplicaciones .NET. Además de DWG, la API admite documentos DWF, DGN, DWT, DXF, IFC, STL, Plotter y muchos más.

Además de los formatos de archivo CAD, la API proporciona las mismas funciones de representación para documentos de procesamiento de texto, hojas de cálculo, presentaciones, páginas web, imágenes, vectores, libros electrónicos, dibujos de Visio y muchos archivos de código fuente de diferentes lenguajes de programación.

Descargue el instalador DLL o MSI desde la sección de descargas o instale la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Viewer

Convierta dibujos CAD para verlos como HTML, PNG, JPG o PDF en C#

En este artículo, solo uso el formato DWG para la conversión y renderización a otros formatos con ejemplos. Comencemos con la conversión del archivo de diseño DWG para representarlo como HTML con opciones de recursos incrustados y externos usando C#.

Convierta DWG a HTML con recursos integrados en C#

Los siguientes son los pasos de cómo convertir el archivo DWG para renderizar como HTML.

El siguiente código fuente convierte el archivo DWG y lo representa como HTML con recursos incrustados usando C#.

// Renderizar dibujo DWG CAD para verlo como HTML con recursos incrustados usando C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("page_{0}.html");
    viewer.View(viewOptions);
}

Convierta DWG a HTML con recursos externos en C#

Los siguientes son los pasos para convertir el archivo DWG y representarlo como archivo(s) HTML con recursos externos.

El siguiente código fuente representa el archivo DWG como HTML con recursos externos en C#.

// Renderice el dibujo CAD de C# para verlo como HTML con recursos externos usando C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForExternalResources(
        "page_{0}.html","page_{0}/resource_{1}","page_{0}/resources");

    viewer.View(viewOptions);
}

Convierta DWG a PDF, JPG y PNG en C#

Al igual que la conversión a formato HTML, los archivos DWG se pueden representar en formato PDF, PNG y JPG utilizando las ViewOptions respectivas de la siguiente manera:

Obtenga diseños y capas de DWG en C#

Los archivos CAD pueden contener múltiples diseños y capas, puede obtener estos diseños y capas siguiendo los siguientes pasos.

  • Cargue el archivo DWG usando la clase Viewer.
  • Cree ViewInfoOptions para la representación de vista HTML.
  • Usando Viewer, obtenga el CadViewInfo que tiene diseños.
  • Obtenga los diseños de CadViewInfo e itere sobre ellos.
  • Del mismo modo, obtenga las capas de CadViewInfo e itere sobre ellas.

El siguiente código muestra cómo obtener los diseños y las capas de un archivo DWG usando C#.

// Obtenga diseños y capas de dibujo CAD DWG en C#
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);
}

Renderizar capas CAD de archivo DWG en C#

Si no desea renderizar todas las capas, sino solo una capa específica del DWG, puede hacerlo configurando los nombres de las capas.

  • Cargue el dibujo DWG usando la clase Viewer.
  • Crear opciones de visualización.
  • Agregue capas CAD a las Opciones de vista
  • Renderizar DWG a HTML usando el método Ver.

El siguiente código representa las capas de un archivo CAD de formato DWG en C#.

// Renderizar capas de dibujo CAD .dwg en C#
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);
}

Renderizar diseños CAD de archivos DWG en C#

Por defecto, solo obtenemos la presentación del modelo cuando renderizamos un archivo CAD. Podemos establecer propiedades para representar todos los diseños no vacíos junto con el modelo.

  • Cargue el dibujo DWG usando la clase Viewer.
  • Crear opciones de visualización.
  • Establezca la propiedad Diseños de representación en verdadero.
  • Renderizar DWG a HTML usando el método Ver.

El siguiente código representa todos los diseños no vacíos junto con el modelo de un dibujo CAD con formato DWG en C#.

// Renderizar diseños de dibujo CAD .dwg en C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
   HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
   viewOptions.CadOptions.RenderLayouts = true;
   viewer.View(viewOptions);
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin limitaciones de evaluación.

Conclusión

Para concluir, espero que haya aprendido a ver archivos CAD en C# dentro de las aplicaciones .NET. Además, ha visto cómo obtener y mostrar modelos, diseños y capas de archivos CAD dentro de su aplicación. Debe tener confianza para crear su propio CAD Viewer con C#. Puede experimentar las aplicaciones en línea para ver cualquiera de sus archivos. Estos se construyen usando GroupDocs.Viewer.

Puede obtener más información sobre GroupDocs.Viewer para .NET utilizando la documentación. En caso de que tenga alguna consulta, no dude en hacérnosla saber a través de nuestro foro.

Ver también