ImageGear .NET v25.0 - Updated
Console Application
User Guide > How to Work with... > CAD > Getting Started with ImageGear CAD > Tutorial: Create Your First CAD Project > Console Application

In this tutorial, you will configure a C# or VB.NET project for a console application and use ImageGear .NET CAD capabilities. You will also learn how to open a DWG, DXF, or DGN file, rasterize it, and save it as a new image.

The following tutorial refers specifically to 64-bit installations; for 32-bit installations:

Using the desired version of Visual Studio (2010 or later):

  1. Create a new "Console Application" project, using C# or VB.NET, and name the project: my_first_CAD_project
  2. If you installed ImageGear .NET 64-bit, using the Configuration Manager, create a new project platform (if you don't have one already) for x64. Make sure your project is set to compile targeting Debug and x64. Confirm you now have $YOURLOCALPROJ\bin\x64\Debug\, and if it's not there, create it.
  3. Add references and required resources into your projects in one of the following ways:
    • Copy all files (and folders) inside $INSTALLDIR\ImageGear .NET v24 64-bit\Bin\ to your local output bin directory in your project (i.e., $YOURLOCALPROJ\bin\x64\Debug\ ).
    • Add the following references to your project from $YOURLOCALPROJ\bin\x64\Debug\:
      • ImageGear.Core.dll
      • ImageGear.Evaluation.dll
      • ImageGear.Formats.Common.dll
      • ImageGear.Formats.Vector.dll
    Your output target directory should be set to $YOURLOCALPROJ\bin\x64\Debug\ .
  4. At this point all necessary assembly references and resources have been added to the project. The following code snippet can be used to load a CAD file, and save it as an image. Make sure to replace C:\PATHTOCAD\ with your own CAD file name and path:
    C#
    Copy Code
    using System.IO;
    using ImageGear.Core;
    using ImageGear.Formats;
    using ImageGear.Formats.CAD;
    using ImageGear.Evaluation;
    namespace my_first_CAD_project
    {
        class Program
        {
            public void SaveAs(string fileIn, string fileOut)
            {
                // Initialize evaluation license.
                ImGearEvaluationManager.Initialize();
                ImGearEvaluationManager.Mode = ImGearEvaluationMode.TrialDialog;
                // Initialize common formats.
                ImGearCommonFormats.Initialize();
                // Add support for DWG, DGN, and DXF files.
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDWGFormat());
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDGNFormat());
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDXFFormat());
                using (FileStream inStream = new FileStream(fileIn, FileMode.Open))
                {
                    using (FileStream outStream = new FileStream(fileOut, FileMode.Create))
                    {
                        // Load CAD page.
                        ImGearCADPage cadPage = (ImGearCADPage)ImGearFileFormats.LoadPage(inStream);
                        // Save image.
                        ImGearFileFormats.SavePage(cadPage, outStream, ImGearSavingFormats.PNG);
                    }
                }
            }
            static void Main(string[] args)
            {
                Program myProgram = new Program();
                myProgram.SaveAs(@"C:\PATHTOCAD\FILENAME.dwg", @"C:\PATHTOCAD\NEWNAME.png");
            }
        }
    }
    VB.NET
    Copy Code
    Imports System.IO
    Imports ImageGear.Core
    Imports ImageGear.Formats
    Imports ImageGear.Formats.CAD
    Imports ImageGear.Evaluation
    Namespace my_first_CAD_project
        Class Program
            Public Sub SaveAs(ByVal fileIn As String, ByVal fileOut As String)
    
                ' Initialize evaluation license.
                ImGearEvaluationManager.Initialize()
                ImGearEvaluationManager.Mode = ImGearEvaluationMode.TrialDialog
    
                ' Initialize common formats.
                ImGearCommonFormats.Initialize()
    
                ' Add support for DWG, DGN, and DXF files.
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDWGFormat())
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDGNFormat())
                ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDXFFormat())
                Using inStream As FileStream = New FileStream(fileIn, FileMode.Open)
                    Using outStream As FileStream = New FileStream(fileOut, FileMode.Create)
    
                        ' Load CAD page.
                        Dim cadPage As ImGearCADPage = CType(ImGearFileFormats.LoadPage(inStream), ImGearCADPage)
    
                        ' Save image.
                        ImGearFileFormats.SavePage(cadPage, outStream, ImGearSavingFormats.PNG)
                    End Using
                End Using
            End Sub
            Private Shared Sub Main(ByVal args As String())
                Dim myProgram As Program = New Program()
                myProgram.SaveAs("C:\PATHTOCAD\FILENAME.dwg", "C:\PATHTOCAD\NEWNAME.png")
            End Sub
        End Class
    End Namespace
  1. Now, let's go over some of the important areas in the sample code with more detail. To initialize and support processing of DWG, DXF, and DGN files we need:
    C
    Copy Code
    // Initialize evaluation license.
    ImGearEvaluationManager.Initialize();
    ImGearEvaluationManager.Mode = ImGearEvaluationMode.TrialDialog;
    
    // Initialize common formats.
    ImGearCommonFormats.Initialize();
    
    // Add support for DWG, DGN, and DXF files.
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDWGFormat());
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDGNFormat());
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDXFFormat());
    VB.NET
    Copy Code
    ' Initialize evaluation license.
    ImGearEvaluationManager.Initialize()
    ImGearEvaluationManager.Mode = ImGearEvaluationMode.TrialDialog
    
    ' Initialize common formats.
    ImGearCommonFormats.Initialize()
    
    ' Add support for DWG, DGN, and DXF files.
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDWGFormat())
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDGNFormat())
    ImGearFileFormats.Filters.Insert(0, ImGearCAD.CreateDXFFormat())
  1. There is one main data structure that is used in this sample code: The ImGearCADPage that holds the loaded CAD file.       
    C#
    Copy Code
    // Load CAD page.
    ImGearCADPage cadPage = (ImGearCADPage)ImGearFileFormats.LoadPage(inStream);
    VB.NET
    Copy Code
    ' Load CAD page.
    Dim cadPage As ImGearCADPage = CType(ImGearFileFormats.LoadPage(inStream), ImGearCADPage)
  1. You can save the loaded CAD page to an image using:
    C#
    Copy Code
    // Save image.
    ImGearFileFormats.SavePage(cadPage, outStream, ImGearSavingFormats.PNG);
    VB.NET
    Copy Code
    ' Save image.
    ImGearFileFormats.SavePage(cadPage, outStream, ImGearSavingFormats.PNG)
This sample project was created as a simple introduction to using the CAD functionality in ImageGear. For systems designed for production environments, you need to configure your projects more efficiently by only adding the resources that you need. For more information, refer to Deploying Your Product.