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 (блоки / слои / группы и т. Д.), Чтобы понять спецификацию.