
LibreDWG
C библиотека с отворен код за управление на DWG файлове на AutoCAD
Генериране, редактиране, четене, манипулиране и конвертиране на AutoCAD DWG модели в SVG файлове чрез C++ CAD API с отворен код.
Какво е LibreDWG?
LibreDWG е удобна C библиотека, която се предлага безплатно и е изключително полезна при работа с DWG чертежи на AutoCAD. DWG е популярен файлов формат, създаден от AutoDesk през 70-те години на миналия век за CAD приложения, които тепърва започват да се появяват. Въпреки че DWG е собственически формат, той все още е предпочитаният избор за много строители. Тази библиотека е лесна за употреба и е проектирана да предоставя API, който може да помогне на разработчиците на софтуер при изграждането на приложения, работещи с DWG файлове.
Библиотеката има много полезни функции за работа с DWG файлове на AutoCAD. Можете да отваряте и преглеждате DWG чертежи, да създавате нови DWG файлове, да ги конвертирате в различни формати, да ги променяте в DXF и JSON, да превръщате DWG в SVG и Postscript, да използвате dwggrep за намиране на текст, dwglayer за показване на слоеве и много други.
В библиотеката разработчиците на софтуер могат да включват или изключват поддръжката за писане в DWG формат. Първоначално тази функция е изключена, но когато я активирате, можете да я използвате, за да пишете в DWG формат. Конвертирането на повечето DWG файлове във формат r2000 обикновено протича гладко. DWG четецът може да обработва различни файлови формати, включително JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG и PS.
Първи стъпки с 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 библиотека
Безплатната C библиотека LibreDWG позволява на разработчиците на софтуер да създават нови 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 за 2D векторна графика и е много популярен. Библиотеката с отворен код LibreDWG позволява на разработчиците на софтуер да конвертират DWG чертежи на AutoCAD в SVG файлови формати, използвайки C команди. За да конвертирате SVG (Scalable Vector Graphics) файл, трябва да отворите DWG файл и да изведете SVG файл. Моля, не забравяйте, че библиотеката ще обработва 2D данните и ще обработва 3D съдържанието от DWG, тъй като SVG поддържа само 2D изображения.