迫不得已项目中需要读取DXF文件,在网上找了很多读取DXF的库,都侧重于如何修改DXF文件。我重来没有用过DXF文件,连怎么读进来都不会,可是网上就是没有这么读的介绍。还在经过一段时间摸索,发现其实很简单,这里做个笔迹,以备查阅。
直接上代码。
public bool Import(string fileName)
{
try
{
DxfDocument doc_dxf = new DxfDocument();
doc_dxf = netDxf.DxfDocument.Load(fileName);
if(doc_dxf != null)
{
int line_count = doc_dxf.Lines.Count();
if(line_count > 0)
{
lineList.Clear();
foreach(netDxf.Entities.Line ln in doc_dxf.Lines)
{
lineList.Add(ln);
}
}
int n_arc = doc_dxf.Arcs.Count();
if(n_arc > 0)
{
arcList.Clear();
foreach(netDxf.Entities.Arc arc in doc_dxf.Arcs)
{
arcList.Add(arc);
}
}
//这里还有其他的图元,类似的操作还有很多,这里省略
//......
}
return true;
}
catch(netDxf.IO.DxfVersionNotSupportedException ex)
{
MessageBox.Show(ex.Message);
}
return true;
}