写入dxf或dwg格式

本文关键字:格式 dwg dxf 写入 | 更新日期: 2023-09-27 18:16:32

我在c#中有一条曲线的X和Y值,我想用相同的c#项目以dxf或dwg文件格式绘制它们。

有办法吗?

谢谢。

写入dxf或dwg格式

很久以前我用VB写了一个DXF编写器。NET 2003,我已将其转换为c#。它有直线、圆、弧、文本、尺寸、矩形、折线和点的方法。你可以这样使用:

DxfMaker dxf = new DxfMaker();
float[,] points = new float[,]
{
    { 0, 10 },
    { 1, 12 },
    { 2, 17 },
    { 3, 14 },
    { 4, 9  }
};
int N = points.GetLength(0);
for (int i = 1; i < N; i++)
{
    dxf.DXF_Line(
        points[i - 1, 0], points[i - 1, 1], 0,
        points[i, 0], points[i, 1], 0);
}
dxf.DXF_Save("curve.dxf");

项目的源代码在这里共享。需要注意的是,由于它原来是VB的一些数值类型是不一致的(在floatdouble之间),结果是好的。DXF的原始代码来自其他地方(见注释),并根据我的需要进行了调整。

CadLib可以编写DXF和DWG文件,绝对比自己浏览DXF规范更容易。也有一些用于编写DXF的免费库。如果您的需求是基本的,那么这些可能就足够了。

如果使用c#生成数据,在AutoCAD中生成结果的最简单方法是编写dxf文件。dxf文件是一个文本文件。Autodesk (AutoCAD的制造商)在这里发布了dxf规范。您将需要一些基本的AutoCAD知识(块/层/组等)来理解规范。