CAD-tekeningen (Computer-Aided Design) worden normaal gesproken gebruikt om architecturale plannen en modellen te maken met behulp van CAD-softwareprogramma’s. Enkele van de bekende AutoCAD-bestandsindelingen zijn DWG, DXF, DGN, DWF. We bespraken de CAD-tekeningen bekijken met Java in een apart artikel. Vandaag zullen we in dit artikel bespreken hoe u CAD-bestanden programmatisch kunt bekijken met C# binnen .NET-toepassingen.

Hieronder worden in het kort de volgende onderwerpen behandeld:

.NET CAD Viewer-API – DWG, DXF, DWF, DGN

In dit artikel zal ik GroupDocs.Viewer for .NET gebruiken waarmee CAD-bestanden zoals DWG naar PDF, JPG, PNG en HTML binnen .NET-toepassingen programmatisch kunnen worden weergegeven. Naast DWG ondersteunt de API DWF-, DGN-, DWT-, DXF-, IFC-, STL-, Plotter-documenten en veel meer.

Afgezien van de CAD-bestandsindelingen, biedt API dezelfde weergavefuncties voor tekstverwerkingsdocumenten, spreadsheets, presentaties, webpagina’s, afbeeldingen, vectoren, eBooks, Visio-tekeningen, veel broncodebestanden van verschillende programmeertalen.

Download de DLL’s of het MSI-installatieprogramma van de downloads-sectie of installeer de API in uw .NET-toepassing via NuGet.

PM> Install-Package GroupDocs.Viewer

CAD-tekeningen converteren naar weergave als HTML, PNG, JPG of PDF in C#

In dit artikel gebruik ik alleen het DWG-formaat voor de conversie en weergave naar andere formaten met voorbeelden. Laten we beginnen met de conversie van het DWG-ontwerpbestand om het weer te geven als HTML met ingesloten en externe bronopties met behulp van C#.

Converteer DWG naar HTML met ingesloten bronnen in C#

Hieronder volgen de stappen voor het converteren van het DWG-bestand naar weergave als HTML.

De volgende broncode converteert het DWG-bestand en geeft het weer als HTML met ingesloten bronnen met behulp van C#.

// Render DWG CAD-tekening om te bekijken als HTML met ingesloten bronnen met behulp van C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
    HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("page_{0}.html");
    viewer.View(viewOptions);
}

Converteer DWG naar HTML met externe bronnen in C#

Hieronder volgen de stappen voor het converteren van het DWG-bestand en het weergeven ervan als HTML-bestand(en) met externe bronnen.

De volgende broncode geeft het DWG-bestand weer als HTML met externe bronnen in C#.

// Render C# CAD-tekening om te bekijken als HTML met externe bronnen met behulp van 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);
}

Converteer DWG naar PDF, JPG en PNG in C#

Net als de conversie naar HTML-indeling, kunnen DWG-bestanden als volgt worden weergegeven als PDF-, PNG- en JPG-indeling met behulp van de respectieve ViewOptions:

Verkrijg lay-outs en lagen van DWG in C#

De CAD-bestanden kunnen meerdere lay-outs en lagen bevatten. U kunt deze lay-outs en lagen verkrijgen door de volgende stappen te volgen.

  • Laad het DWG-bestand met behulp van de klasse Viewer.
  • Maak de ViewInfoOptions voor het renderen van HTML-weergaven.
  • Gebruik Viewer om de CadViewInfo met lay-outs op te halen.
  • Haal de lay-outs op uit CadViewInfo en herhaal ze.
  • Haal op dezelfde manier de lagen uit CadViewInfo en herhaal ze.

De volgende code laat zien hoe u de lay-outs en lagen van een DWG-bestand kunt verkrijgen met behulp van C#.

// Verkrijg lay-outs en lagen van DWG CAD-tekeningen in 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);
}

Render CAD-lagen van DWG-bestand in C#

Als u niet alle lagen wilt renderen, maar alleen een bepaalde laag van de DWG, kunt u dit doen door laagnamen in te stellen.

  • Laad de DWG-tekening met behulp van de klasse Viewer.
  • Maak weergaveopties.
  • Voeg CAD-lagen toe aan de weergaveopties
  • Render DWG naar HTML met de methode View.

De volgende code geeft de lagen weer van een CAD-bestand in DWG-indeling in C#.

// Render Lagen van .dwg CAD-tekeningen in 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);
}

Render CAD-lay-outs van DWG-bestand in C#

Standaard krijgen we alleen de modelpresentatie als we een CAD-bestand renderen. We kunnen eigenschappen instellen om alle niet-lege lay-outs samen met het model weer te geven.

  • Laad de DWG-tekening met behulp van de klasse Viewer.
  • Maak weergaveopties.
  • Stel de eigenschap Render Layouts in op true.
  • Render DWG naar HTML met de methode View.

De volgende code geeft alle niet-lege lay-outs weer samen met het model van een CAD-tekening met DWG-indeling in C#.

// Geef lay-outs van .dwg CAD-tekeningen weer in C#
using (Viewer viewer = new Viewer("drawing.dwg"))
{
   HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources();
   viewOptions.CadOptions.RenderLayouts = true;
   viewer.View(viewOptions);
}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API zonder evaluatiebeperkingen te gebruiken.

Conclusie

Tot slot hoop ik dat je hebt geleerd hoe je CAD-bestanden in C# kunt bekijken binnen de .NET-applicaties. Verder hebt u gezien hoe u modellen, lay-outs en lagen van CAD-bestanden binnen uw toepassing kunt krijgen en weergeven. U moet er zeker van zijn dat u uw eigen CAD-viewer kunt bouwen met C#. U kunt de online toepassingen ervaren om al uw bestanden te bekijken. Deze zijn gebouwd met behulp van GroupDocs.Viewer.

U kunt meer leren over GroupDocs.Viewer for .NET met behulp van de documentatie. Mocht je vragen hebben, laat het ons gerust weten via ons forum.

Zie ook