废话不多说直接上效果图、源码使用netDXF读取
OpenFileDialog of = new OpenFileDialog();of.Filter = "(*.dxf)|*.dxf|(*.*)|*.*";if (of.ShowDialog() == true){string FileName = of.FileName;string SafeFileName = of.SafeFileName;DxfDocument dxfDocument = DxfDocument.Load(FileName);var Polylines2D_List = dxfDocument.Entities.Polylines2D;List<PolylinesModel> list = new List<PolylinesModel>();foreach (var item in Polylines2D_List){for (int i = 0; i < item.Vertexes.Count; i++){PolylinesModel PolylinItem = new PolylinesModel();double PositionX = Math.Round(item.Vertexes[i].Position.X, 4);double PositionY = Math.Round(item.Vertexes[i].Position.Y, 4);PolylinItem.SafeFileName = SafeFileName;PolylinItem.Index = i.ToString();PolylinItem.PositionX = PositionX.ToString();PolylinItem.PositionY = PositionY.ToString();PolylinItem.PositionZ = "0.0000";list.Add(PolylinItem);}}Polylines2DList = list;}
使用netDXF写入
List<Polyline2DVertex> polyline2DVertices = new List<Polyline2DVertex>();foreach (var item in Polylines2DList){Polyline2DVertex polyline2DVertex = new Polyline2DVertex(Convert.ToDouble(item.PositionX), Convert.ToDouble(item.PositionY));polyline2DVertices.Add(polyline2DVertex);}Polyline2D line = new Polyline2D(polyline2DVertices);DxfDocument dxf = new DxfDocument();dxf.Entities.Add(line);dxf.Save("test.dxf");
源码下载链接:C#实现DXF文件读取写入-C#文档类资源-CSDN下载