ImageGear .NET v25.2 - Updated
Developer Guide / How to Work with... / CAD / Getting Started with ImageGear CAD / Tutorial: Create Your First CAD Project / Console Application
In This Topic
    Console Application
    In This Topic

    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:

    • Your project should already be set to compile to target Debug and x86, and you should have the directory:
      $YOURLOCALPROJ\bin\x86\Debug\.
    • Throughout these instructions, replace x64 with x86.
    • The 32-bit ImageGear binaries are found in $INSTALLDIR\Bin\x86

    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\Bin\x64 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.