VectorDraw.Drawing.Framework.Net-4.x 12.0.1

dotnet add package VectorDraw.Drawing.Framework.Net-4.x --version 12.0.1
                    
NuGet\Install-Package VectorDraw.Drawing.Framework.Net-4.x -Version 12.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VectorDraw.Drawing.Framework.Net-4.x" Version="12.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VectorDraw.Drawing.Framework.Net-4.x" Version="12.0.1" />
                    
Directory.Packages.props
<PackageReference Include="VectorDraw.Drawing.Framework.Net-4.x" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VectorDraw.Drawing.Framework.Net-4.x --version 12.0.1
                    
#r "nuget: VectorDraw.Drawing.Framework.Net-4.x, 12.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VectorDraw.Drawing.Framework.Net-4.x@12.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VectorDraw.Drawing.Framework.Net-4.x&version=12.0.1
                    
Install as a Cake Addin
#tool nuget:?package=VectorDraw.Drawing.Framework.Net-4.x&version=12.0.1
                    
Install as a Cake Tool

About

Create .Net managed applications with 2D/3D graphics that manages(Import/export) a big range of formats and geometrical shapes

Nuget Important Setting

The library is created in such a way so it can be used in both x32 and x64 applications. Note that in order to use the VectorDraw Developers Framework nuget the package management of Visual Studio must be PackageReference. Go to Tools->Nuget Package Manager->Package Manager Settings and then General tab under Nuget Package Manager.

How to Use

Add package to your .Net managed Application. This package Supports Windows 7 and above x64 and x32 Platform target. Can be used in Framework 4.8 and below projects. See the following examples for a quick start

Add License to your applications exe

Registered users must also add VectorDraw Licence to their Applications. The license is added to the application by vdLic.exe and using the serial both provided by VectorDraw. If the license is not present then the package works in evaluation mode for 180 days. Edit the build events of your Application and add the followings to the .csproj file

 <Target Name = "PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command = "&quot;$(VDRAWDEV)vdlic.exe&quot;  &quot;$(TargetPath)&quot;" />
</Target >
<Target Name="AddPayloadsFolder" AfterTargets="Publish">
    <Exec Command = "&quot;$(VDRAWDEV)vdlic.exe&quot;  &quot;$(PublishDir)$(targetfilename)&quot;" />
</Target >

Examples

Check some examples below that will help you start.

  • Open Visual Studio 2022 and create a new Windows Forms App (.NET Framework) for .Net Framework 4.x
  • In the nuget package manager browse for "vectordraw.drawing" select the "VectorDraw.Drawing.Framework.Net-4.x"
  • add the code snippets below to your project and run it to see the results.

Example 1

View and Edit Drawings inside a 'Windows Forms App':

    using System;
    using System.Windows.Forms;

    namespace WindowsFormsApp1
    {
        internal static class Program
        {
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
        public partial class Form1 : Form
        {
            vdControls.vdFramedControl vd =  new vdControls.vdFramedControl();
            public Form1()
            {
                vd.Dock = DockStyle.Fill;
                this.Controls.Add(vd);
                this.WindowState = FormWindowState.Maximized;

            }
        }
    }

Example 2

Create simple entities and save to a drawing inside a 'Windows Forms App':

using System;
using System.Windows.Forms;
using VectorDraw.Professional.ActionUtilities;
using VectorDraw.Professional.vdFigures;
using VectorDraw.Professional.vdObjects;

namespace WindowsFormsApp1
{
    internal static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
    public partial class Form1 : Form
    {
        vdControls.vdFramedControl vd = new vdControls.vdFramedControl();
        public Form1()
        {
            vd.Dock = DockStyle.Fill;
            this.Controls.Add(vd);
            this.WindowState = FormWindowState.Maximized;
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            vdDocument doc = vd.BaseControl.ActiveDocument;
            doc.New();//clear the document and initialize it to the defualt state with empty model entities
                      //create a new vdline
            vdLine line1 = new vdLine(doc, new VectorDraw.Geometry.gPoint(0, 0, 0), new VectorDraw.Geometry.gPoint(2, 2, 0));
            doc.Model.Entities.AddItem(line1);
            vdCircle circle = new vdCircle(doc, new VectorDraw.Geometry.gPoint(1, 1, 0), 1.0);
            doc.Model.Entities.AddItem(circle);
            doc.ZoomExtents();
            doc.Redraw(false);
            //opens the Save dialog and prompts the user to select a file type to save the drawing
            bool success = vdCommandAction.SaveAsEx(doc);
            //alternate save it direct to a file type in local dist
            //bool success = doc.SaveAs(System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"/vectordraw.pdf");
        }
    }
}

Example 3

Create blocks layers textstyles and add entities references them:

using System;
using System.Drawing;
using System.Windows.Forms;
using VectorDraw.Geometry;
using VectorDraw.Professional.Constants;
using VectorDraw.Professional.vdFigures;
using VectorDraw.Professional.vdObjects;

namespace WindowsFormsApp1
{
    internal static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
    public partial class Form1 : Form
    {
        vdControls.vdFramedControl vd = new vdControls.vdFramedControl();
        public Form1()
        {
            vd.Dock = DockStyle.Fill;
            this.Controls.Add(vd);
            this.WindowState = FormWindowState.Maximized;
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            vdDocument document = vd.BaseControl.ActiveDocument;
            //create some layers and set some of their properties
            var layreblocks = document.Layers.Add("LayerBlocks");
            layreblocks.PenColor = new vdColor(Color.FromArgb(255, 0, 0));
            var layerrects = document.Layers.Add("LayerRects");
            layerrects.PenColor = new vdColor(Color.FromArgb(0, 255, 0));
            //create a text style
            var textstyle = document.TextStyles.Add("MyTextStyle");
            textstyle.FontFile = "Arial";

            //create a block with some entities inside and set the entities color to byblock
            var myblock = document.Blocks.Add("MyBlockName");
            var circle = new vdCircle(document, new gPoint(), 2.5);
            circle.PenColor = new vdColor(vdColor.ColorType.ByBlock);

            var text = new vdText(document, "VectorDraw", new gPoint(0.0, 0.0, 0.0), 0.5, VdConstHorJust.VdTextHorCenter, VdConstVerJust.VdTextVerCen, textstyle);
            text.PenColor = new vdColor(vdColor.ColorType.ByBlock);

            myblock.Entities.AddItem(circle);
            myblock.Entities.AddItem(text);

            //set active layer to the layer of blocks so next entities will be on this layer
            //altlernatively we could set the layer of the entities to the layer of blocks
            document.ActiveLayer = layreblocks;
            vdInsert ins1 = new vdInsert(document, myblock, new gPoint(-2.5, 0.0, 0.0), 0.0, 1.0, 1.0, 1.0);
            vdInsert ins2 = new vdInsert(document, myblock, new gPoint(2.5, 0.0, 0.0), 0.0, 1.0, 1.0, 1.0);
            //add the inserts to the model entities
            document.Model.Entities.AddItem(ins1);
            document.Model.Entities.AddItem(ins2);
            //set active layer to the layer of rects and add a rect to the model entities
            document.ActiveLayer = layerrects;
            var rect = new vdRect(document, new gPoint(-5, -2.5), 10, 5, 0);
            rect.LineWeight = VdConstLineWeight.LW_60;
            document.Model.Entities.AddItem(rect);

            //set the view size to be able to see all the entities we added
            document.ZoomExtents();
            //post a redraw to update the view
            document.Redraw(false);
        }
    }
}

Example 4

Create 3d entities inside a 'Windows Form App':

using System;
using System.Windows.Forms;
using VectorDraw.Professional.vdFigures;
using VectorDraw.Professional.vdObjects;

namespace WindowsFormsApp1
{
    internal static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
    public partial class Form1 : Form
    {
        vdControls.vdFramedControl vd =  new vdControls.vdFramedControl();
        public Form1()
        {
            vd.Dock = DockStyle.Fill;
            this.Controls.Add(vd);
            this.WindowState = FormWindowState.Maximized;
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            vdDocument doc = vd.BaseControl.ActiveDocument;
            doc.New();//clear the document and initialize it to the defualt state with empty model entities
                      //create a new cube
            vdPolyface cube = new vdPolyface(doc);
            cube.CreateBox(new VectorDraw.Geometry.gPoint(0, 0, 0), 4, 4, 4, 0);
            //create a cylider represent the hole
            vdPolyface cylider = new vdPolyface(doc);
            cylider.CreateCone(new VectorDraw.Geometry.gPoint(2, 2, -1), 2, 2, 6, 16);
            //subtruct the cylider from the cube to a new object entitiy
            vdPolyface result = new vdPolyface(doc);

            result.CombinePolyfacesEx(cube, cylider, BooleanOperation.Substraction);
            //add the entitity to the document
            doc.Model.Entities.AddItem(result);

            //shading the result in NorthEast view
            doc.RenderMode = VectorDraw.Render.vdRender.Mode.Shade;
            doc.CommandAction.View3D("VINE");
            doc.Redraw(false);
        }
    }
}

Example 5

Open IFC documents inside a 'Windows Form App':

using VectorDraw.Professional.vdObjects;

namespace WinFormsApp1
{
    internal static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }
    }
    public partial class Form1 : Form
    {
        vdControls.vdFramedControl vd = new();
        vdIFC.vdIFCComponent iFC = new vdIFC.vdIFCComponent();
        public Form1()
        {
            vd.Dock = DockStyle.Fill;
            this.Controls.Add(vd);
            this.WindowState = FormWindowState.Maximized;
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            vdDocument doc = vd.BaseControl.ActiveDocument;
            //begin an open file dialog prompting the user to select an IFC file from local disk
            OpenFileDialog openFileDialog = new OpenFileDialog();   
            openFileDialog.Filter = "IFC files (*.ifc)|*.ifc|All files (*.*)|*.*";
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string filePath = openFileDialog.FileName;
                bool success = doc.Open(filePath);
                if (success)
                {
                    doc.ZoomExtents();
                    //select the first entity in the model(which is an vdIFCDocument project) and redraw the document
                    vd.vdGrid.SelectedObject = doc.Model.Entities[0];
                    doc.Redraw(false);
                }
            }
        }
    
    }
}

Main Types

The main types provided by this library are:

  • VectorDraw.Professional.Components.vdDocumentComponent
  • VectorDraw.Professional.Control.VectorDrawBaseControl
  • vdControls.vdFramedControl
  • VectorDraw.Professional.Converter.vdConverter
  • vdIFC.vdIFCComponent

Key Features

  • View Edit Print Export 2D and 3D Drawings with various formats .vds , .vdml , .vdcl , .dwg , .dxf , .pdf , .dgn , .ifc , .dwf , .skp , .stl , .obj , .dae , .stp , .step , .las , .laz , .sat , .svg , .hpg, .emf , .wmf , .vdf , .vdi , .jpg , .bmp , .png , .gif , .tif , .ico
  • High performance rendering and memory managment
  • dwg/dxf like formatted object model
  • import/export formats dwg dgn dxf pdf ifc skp obj dae stl dwf emf wmf hpg images(bmp jpg png gif tif ico) VectorDraw (vdml vdcl vds ) Only exported(svg hpgl) Only imported(las laz stp step)
  • Predefined commands with user actions
  • user interaction designed for all requirements:select osnaps grips
  • Touch screen drivers supported
  • Design and object customization
  • Opengl full supported drivers for 3d rendering
  • Print out with big resolution and paper sizes supported
  • Geomertic utility functions
  • 3d boolean oparation
  • Easy distribution with also Side By Side installation for .net applications
  • WPF component also supported
  • COM developer enviroments Support
  • Linux 64bit SideByside with mono installed
  • Design to supported by web services
  • Web canvas control for all browsers that support canvas html element .Webgl also supported for 3d renderings
Product Compatible and additional computed target framework versions.
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
12.0.1 131 3/11/2026
11.5.20 166 1/15/2026
11.5.3 256 12/24/2025
11.5.2 230 11/26/2025
11.5.1 1,063 10/16/2025
11.4.21 193 9/26/2025
11.4.20 393 9/17/2025
11.4.5 287 8/28/2025
11.4.4 289 7/1/2025
11.4.3 389 6/2/2025
11.4.2 377 5/12/2025
11.4.1 577 3/18/2025
11.3.20 768 2/18/2025
11.3.7 620 2/5/2025
11.3.6 538 1/29/2025
11.3.5 576 1/22/2025
11.3.4 7,948 1/8/2025
11.3.3 714 12/10/2024
11.3.2 557 11/28/2024
11.3.1 1,083 11/5/2024
Loading failed