1. Товары
  2.   САПР
  3.   C++
  4.   LibreDWG

LibreDWG

 
 

Библиотека C с открытым исходным кодом для управления файлами AutoCAD DWG

Создавайте, редактируйте, читайте, обрабатывайте и конвертируйте модели AutoCAD DWG в файлы SVG с помощью API CAD с открытым исходным кодом C++.

Что такое LibreDWG?

LibreDWG — удобная бесплатная библиотека на языке C, которая невероятно полезна при работе с чертежами AutoCAD DWG. DWG — популярный формат файлов, созданный компанией AutoDesk ещё в 1970-х годах для только появляющихся САПР. Несмотря на то, что DWG — проприетарный формат, он по-прежнему остаётся выбором многих подрядчиков. Эта библиотека удобна в использовании и предоставляет API, помогающий разработчикам программного обеспечения создавать приложения, работающие с файлами DWG.

Библиотека предлагает множество полезных функций для работы с файлами AutoCAD DWG. Вы можете открывать и просматривать чертежи DWG, создавать новые файлы DWG, конвертировать их в различные форматы, преобразовывать в DXF и JSON, преобразовывать DWG в SVG и Postscript, использовать dwggrep для поиска текста, dwglayer для отображения слоёв и многое другое.

В библиотеке разработчики программного обеспечения могут включить или отключить поддержку записи в формате DWG. Изначально эта функция отключена, но после активации вы сможете использовать её для записи в формате DWG. Конвертация большинства DWG-файлов в формат r2000 обычно проходит без проблем. Программа для чтения DWG поддерживает различные форматы файлов, включая JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG и PS.

Previous Next

Начало работы с LibreDWG

Вам необходимо установить базовые инструменты разработки (компилятор C99, например, gcc/clang, make, autoconf, automake и libtool). Создайте клон библиотеки с помощью следующей команды.

Клонировать библиотеку с помощью следующей команды

 git clone git://git.sv.gnu.org/libredwg.git

Теперь измените каталог на папку libredwg, созданную git (cd libredwg), и выполните следующие команды в терминале.

Измените каталог на папку libredwg

$ sh autogen.sh 
$ ./configure --enable-trace # (this will enable debugging messages) 
$ make 
$ sudo make install 
$ make check

Создание DWG-файлов AutoCAD с помощью библиотеки C

Бесплатная библиотека LibreDWG C позволяет разработчикам программного обеспечения создавать новые DWG-файлы AutoCAD в своих собственных приложениях C. После создания файла вы можете вставлять в чертежи DWG различные типы объектов, такие как таблицы, фигуры, штриховки, камеры, источники света, линии, сетки, многострочный текст, 2D- и 3D-полилинии, текст, таблицы, трассировки и многое другое. Библиотека также поддерживает выравнивание объектов, доступ к ним и лёгкое обновление их свойств. Редактор DWG поддерживает различные форматы входных данных, такие как DXF, DXFB и JSON.

Чтение файлов AutoCAD DWG через библиотеку C

Библиотека LibreDWG с открытым исходным кодом обеспечивает полную поддержку программного доступа и чтения файлов AutoCAD DWG в приложениях .NET всего парой строк кода на C. Программа чтения DWG поддерживает различные форматы вывода, такие как JSON, DXF, DXFB, GeoJSON. Позже также будут добавлены форматы файлов YAML, XML/OGR, GPX, SVG и PS.

Как читать AutoCAD DWG через библиотеку C?

 int error;
Dwg_Data dwg;
error = dwg_read_file(filename, &dwg);
if (!error)
{
    model_xmin = dwg_model_x_min(&dwg);
    model_ymin = dwg_model_y_min(&dwg);
    double dx = (dwg_model_x_max(&dwg) - dwg_model_x_min(&dwg));
    double dy = (dwg_model_y_max(&dwg) - dwg_model_y_min(&dwg));
    double scale_x = dx / (dwg_page_x_max(&dwg) - dwg_page_x_min(&dwg));
    double scale_y = dy / (dwg_page_y_max(&dwg) - dwg_page_y_min(&dwg));
    //...
}
dwg_free(&dwg);

Преобразование DWG-файла в SVG с помощью библиотеки C

SVG — это очень популярный стандарт W3C для двухмерной векторной графики. Библиотека LibreDWG с открытым исходным кодом позволяет разработчикам программного обеспечения преобразовывать чертежи AutoCAD DWG в файлы формата SVG с помощью команд C. Для преобразования файла SVG (масштабируемая векторная графика) необходимо открыть файл DWG и вывести его в формате SVG. Обратите внимание, что библиотека обрабатывает как двухмерные данные, так и трёхмерное содержимое DWG, поскольку SVG поддерживает только двухмерные изображения.

 Русский