DXF是AutoCAD提供的一种开放的数据格式,是AutoCAD与外部进行信息交换的接口方式,在工程制图中应用广泛四。其他较为流行的CAD/CAM(计算机辅助设计/计算机辅助制造)软件如Solidworks, Pro/Engineer, CATIA, UGNX, Mastercam等均能生成DXF图形文件,DXF图形文件已成为公认的工程图形文件标准之一。DXF图形文件中信息的存储形式有二进制和ASCII两种二进制格式的文件虽然占用存储空间少,但二进制是机器语言非人类所能直观读懂;而ASCII格式的文件以字符串的形式存储,直观易读,便于编程处理。因此,本文使用ASCII格式的DXF图形文件作为图源文件,下文提到的DXF文件皆指ASCII格式的DXF图形文件。 netDxf是针对C#开发的.NET库[[24],用于在C#中读写DXF文件。netDxf可以完整的读取DXF文件的标题段(HEADER)、表段(TABLES)、块段(BLO CK) ,实体段(ENTITIES)、物体段(OB7ECTS)等模块的信息。使用时只需将netDxf. dll文件放入项目文件夹中,编程时添加引用即可使用netDxf的netDxf.DxfDocument类读取DXF文件信息。使用实例如下: 正因为netDxf使用方便,可完整的读取DXF文件信息,本文使用netDxf读取DXF文件实体段(ENTITIES中线型图元信息:圆弧(ARC、圆(Circle ) ,椭圆(Ellipse、直线(Line、优化多段线(LwPolyline、多段线(Polyline ) ,样条曲线(Spline)等图元信息,读取的图元类型及图元信息[[25]如表3.1所示,读取文件的显示结果如图3.1所示。
表3.1中,优化多段线(LwPolyline)为平面多段线其Z坐标值恒为零;多段线(Polyline)为三维多段线;样条曲线(Spline)为三维非均匀有理B样条曲线即NURBS曲线;其他图元皆为三维图形。