NetDxf 开发笔记-01

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表格图元将作为插入(块参照)导入。支持简单线型和复杂线型。库永远无法读取某些实体,如面域、曲面和三维实体,因为它们依赖于未记录的专有数据。

原文地址:https://www.cnblogs.com/NanShengBlogs/p/14584807.html