
LibreDWG
Open-Source-C-Bibliothek zum Verwalten von AutoCAD DWG-Dateien
Generieren, bearbeiten, lesen, manipulieren und konvertieren Sie AutoCAD DWG-Modelle in SVG-Dateien über die Open Source C++ CAD API.
Was ist LibreDWG?
LibreDWG ist eine praktische, kostenlose C-Bibliothek, die sich hervorragend für die Arbeit mit AutoCAD DWG-Zeichnungen eignet. DWG ist ein beliebtes Dateiformat, das in den 1970er Jahren von Autodesk für die damals aufkommenden CAD-Anwendungen entwickelt wurde. Obwohl DWG ein proprietäres Format ist, ist es für viele Bauunternehmer nach wie vor die erste Wahl. Die Bibliothek ist benutzerfreundlich und bietet eine API, die Softwareentwickler bei der Erstellung von Anwendungen für DWG-Dateien unterstützt.
Die Bibliothek bietet viele nützliche Funktionen für die Arbeit mit AutoCAD DWG-Dateien. Sie können DWG-Zeichnungen öffnen und anzeigen, neue DWG-Dateien erstellen, sie in verschiedene Formate konvertieren, in DXF und JSON konvertieren, DWG in SVG und Postscript umwandeln, mit dwggrep Text suchen, mit dwglayer Ebenen anzeigen und vieles mehr.
In der Bibliothek können Softwareentwickler die DWG-Schreibunterstützung aktivieren oder deaktivieren. Diese Funktion ist zunächst deaktiviert, kann aber nach Aktivierung zum Schreiben im DWG-Format verwendet werden. Die Konvertierung der meisten DWGs in das r2000-Format verläuft in der Regel problemlos. Der DWG-Reader unterstützt verschiedene Dateiformate, darunter JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG und PS.
Erste Schritte mit LibreDWG
Sie benötigen grundlegende Entwicklungstools (einen C99-Compiler wie gcc/clang, make, autoconf, automake und libtool). Erstellen Sie anschließend einen Klon der Bibliothek mit dem folgenden Befehl.
Bibliothek mit dem folgenden Befehl klonen
git clone git://git.sv.gnu.org/libredwg.git
Wechseln Sie nun zum Ordner libredwg, der von Git erstellt wurde (cd libredwg), und geben Sie die folgenden Befehle im Terminal ein
Ändern Sie das Verzeichnis in den Ordner libredwg
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
AutoCAD DWG über die C-Bibliothek erstellen
Die kostenlose C-Bibliothek LibreDWG ermöglicht Softwareentwicklern die Erstellung neuer AutoCAD DWG-Dateien in ihren eigenen C-Anwendungen. Nach der Dateierstellung können Sie verschiedene Objekttypen in die DWG-Zeichnungen einfügen, z. B. Tabellen, Formen, Schraffuren, Kameras, Lichter, Linien, Netze, MText, 2D-Polylinien, 3D-Polylinien, Text, Tabellen, Konturen und vieles mehr. Die Bibliothek unterstützt außerdem die Ausrichtung von Objekten sowie den Zugriff und die einfache Aktualisierung der Objekteigenschaften. Der DWG-Writer unterstützt verschiedene Eingabeformate wie DXF, DXFB und JSON.
AutoCAD DWG über die C-Bibliothek lesen
Die Open-Source-Bibliothek LibreDWG bietet vollständige Unterstützung für den programmatischen Zugriff und das Lesen von AutoCAD DWG-Dateien in .NET-Anwendungen mit nur wenigen Zeilen C-Code. Der DWG-Reader unterstützt verschiedene Ausgabeformate wie JSON, DXF, DXFB und GeoJSON. Später werden auch die Dateiformate YAML, XML/OGR, GPX, SVG und PS verfügbar sein.
Wie lese ich AutoCAD DWG über die C-Bibliothek?
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-Datei über die C-Bibliothek in SVG konvertieren
SVG ist ein W3C-Standard für 2D-Vektorgrafiken und erfreut sich großer Beliebtheit. Die Open-Source-Bibliothek LibreDWG ermöglicht Softwareentwicklern die Konvertierung von AutoCAD-DWG-Zeichnungen in SVG-Dateiformate mithilfe von C-Befehlen. Um eine SVG-Datei (Scalable Vector Graphics) zu konvertieren, müssen Sie eine DWG-Datei öffnen und eine SVG-Datei ausgeben. Bitte beachten Sie, dass die Bibliothek sowohl die 2D-Daten als auch die 3D-Inhalte von DWG verarbeitet, da SVG nur zweidimensionale Bilder unterstützt.