netDxf

netDxf 0.6.2, Copyright(C) 2014 Daniel Carvajal, Licensed under LGPL

Description

netDxf is a .net library programmed in C# to read and write AutoCAD dxf files. It supports AutoCad2000, AutoCad2004, AutoCad2007, AutoCad2010 and AutoCad2013 dxf database versions.

I tried to keep the use as simple as posible, for example you will not need to fill up the table section with layers, styles or line type definitions. The DxfDocument will take care of that everytime a new item is added and the load and save its done with just one line of code.
If you need more information, you can find the official dxf documentation in
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12272454&linkID=10809853

Code example:
public static void Main()
   { 
      // by default it will create an AutoCad2000 dxf version
      DxfDocument dxf = new DxfDocument();
      // add your entities here
      dxf.AddEntity(entity);
      // save to file
      dxf.Save(filename);

      // load file
      DxfDocument dxfLoad = DxfDocument.Load(filename);
   } 

Samples and Demos

Are contained in the source code.
Well, at the moment they are just tests for the work in progress.

Dependencies and distribution

  • .NET Framework 2.0

Compiling

To compile netDxf you need:
  • Visual Studio 2010

Development Status

Stable.

Supported entities

  • 3dFace
  • Arc
  • Circle
  • Dimensions (aligned, linear, radial, diametric, 3 point angular, 2 line angular, and ordinate)
  • Ellipse
  • Hatch (including Gradient patterns)
  • Image
  • Insert (block references and attributes)
  • Line
  • LwPolyline (light weight polyline)
  • MLine
  • MText
  • Point
  • PolyfaceMesh
  • Polyline
  • Ray
  • Solid
  • Spline
  • Text
  • XLine (aka construction line)
The dimension style definition is very limited and the drawing might be buggy under some circunstances (it is sensitive in the order the reference points are given and/or offset negative values).

All entities can be grouped and may contain extended data information.
The libray will never be able to read some entities like Regions and 3dSolids, since they depend on proprietary data.

Last edited Mar 20 at 6:52 PM by haplokuon, version 38