写入dxf或dwg格式?

时间:2011-12-04 16:37:26

标签: c# autocad dxf dwg

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

有办法吗?

谢谢。

3 个答案:

答案 0 :(得分:5)

很久以前我用VB.NET 2003编写了一个DXF编写器,我已经转换为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");

包含源代码的项目是共享here。警告是因为它原来是VB的一些数值类型不一致(floatdouble之间)的结果是好的。 DXF的原始代码取自其他地方(见评论),并根据我的需要进行调整。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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