netdxf介绍github库
https://github.com/haplokuon/netDxf
netDxf是一个.net库,用C语言编程,用于读取和写入AutoCAD DXF文件。它支持文本和二进制格式的AutoCad2000、AutoCad2004、AutoCad2007、AutoCad2010、AutoCad2013和AutoCAD2018DXF数据库版本。这个库很容易使用,我尽量使过程简单明了,例如,您不需要用图层、样式或线型定义填充表格部分。每次添加新项时,DxfDocument都会处理这个问题。
public static void Main()
{
// your DXF file name
string file = "sample.dxf";
// create a new document, by default it will create an AutoCad2000 DXF version
DxfDocument doc = new DxfDocument();
// an entity
Line entity = new Line(new Vector2(5, 5), new Vector2(10, 5));
// add your entities here
doc.AddEntity(entity);
// save to file
doc.Save(file);
// this check is optional but recommended before loading a DXF file
DxfVersion dxfVersion = DxfDocument.CheckDxfFileVersion(file);
// netDxf is only compatible with AutoCad2000 and higher DXF versions
if (dxfVersion < DxfVersion.AutoCad2000) return;
// load file
DxfDocument loaded = DxfDocument.Load(file);
}
支持的实体
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)
Leader
Line
LwPolyline (light weight polyline)
Mesh
MLine
MText
Point
PolyfaceMesh
Polyline
Ray
Shape
Solid
Spline
Text
Tolerance
Trace
Underlay (DGN, DWF, and PDF underlays)
Wipeout
XLine (aka construction line)
所有实体都可以分组。所有DXF对象都可能包含扩展数据信息。AutoCad表格图元将作为插入(块参照)导入。支持简单线型和复杂线型。库永远无法读取某些实体,如面域、曲面和三维实体,因为它们依赖于未记录的专有数据。