C# и AutoCAD DXF или DWG

У меня есть значения X и Y для кривой в C#, и я хочу, чтобы они отображались в формате файла dxf или dwg, используя тот же проект C#.

Есть способ сделать это?

Спасибо.

3 ответа

Решение

CadLib может записывать файлы DXF и DWG, что определенно проще, чем выполнять спецификацию DXF самостоятельно. Есть также несколько бесплатных библиотек для написания DXF. Если ваши требования являются базовыми, то они могут быть достаточно хорошими.

Давным-давно я написал DXF-писатель с VB.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 некоторые числовые типы были несовместимы (между float а также double) по результатам хорошие. Оригинальный код для DXF был взят из других источников (см. Комментарии) и адаптирован к моим потребностям.

Если вы генерируете данные в C#, самый простой способ получить результаты в AutoCAD - это написать файл dxf. Файл DXF представляет собой текстовый файл. Autodesk (производитель AutoCAD) публикует здесь спецификацию dxf. Вам понадобятся некоторые базовые знания AutoCAD (блоки / слои / группы и т. Д.), Чтобы понять спецификацию.

Другие вопросы по тегам