C#实现DXF文件读取写入

  • 废话不多说直接上效果图、源码
  •  使用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下载

猜你喜欢

转载自blog.csdn.net/qq_37192571/article/details/122893295