
LibreDWG
Open Source C-bibliotheek voor het beheren van AutoCAD DWG-bestanden
Genereer, bewerk, lees, manipuleer en converteer AutoCAD DWG-modellen naar SVG-bestanden via de Open Source C++ CAD API.
Wat is LibreDWG?
LibreDWG is een handige, gratis C-bibliotheek die superhandig is bij het werken met AutoCAD DWG-tekeningen. DWG is een populair bestandsformaat dat in de jaren 70 door AutoDesk werd ontwikkeld voor CAD-toepassingen die net opkwamen. Hoewel DWG een eigen formaat is, is het nog steeds de voorkeurskeuze voor veel aannemers. Deze bibliotheek is gebruiksvriendelijk en is ontworpen om een API te bieden die softwareontwikkelaars kan helpen bij het bouwen van applicaties die met DWG-bestanden werken.
De bibliotheek heeft veel handige functies om met AutoCAD DWG-bestanden te werken. U kunt DWG-tekeningen openen en bekijken, nieuwe DWG-bestanden maken, ze converteren naar verschillende formaten, ze omzetten naar DXF en JSON, DWG omzetten naar SVG en Postscript, Dwggrep gebruiken om tekst te vinden, Dwglayer om lagen weer te geven en nog veel meer.
In de bibliotheek kunnen softwareontwikkelaars de ondersteuning voor DWG-schrijven in- of uitschakelen. In eerste instantie is deze functie uitgeschakeld, maar zodra u deze activeert, kunt u ermee in DWG-formaat schrijven. Het converteren van de meeste DWG's naar het r2000-formaat verloopt meestal soepel. De DWG-lezer kan verschillende bestandsformaten verwerken, waaronder JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG en PS.
Aan de slag met LibreDWG
Je moet basisontwikkeltools installeren (een C99-compiler zoals gcc/clang, make, autoconf, automake en libtool). Maak vervolgens een kloon van de bibliotheek met behulp van de volgende opdracht.
Bibliotheek klonen met behulp van de volgende opdracht
git clone git://git.sv.gnu.org/libredwg.git
Verander nu dir naar de libredwg-map die is aangemaakt door git ( cd libredwg ) en voer de volgende opdrachten uit in de terminal
Change dir to libredwg folder
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
AutoCAD DWG maken via de C-bibliotheek
Met de gratis LibreDWG C-bibliotheek kunnen softwareontwikkelaars nieuwe AutoCAD DWG-bestanden maken in hun eigen C-applicaties. Zodra het bestand is aangemaakt, kunt u verschillende typen entiteiten in de DWG-tekeningen invoegen, zoals tabellen, vormen, arceringen, camera's, lichtbronnen, lijnen, meshes, mtext, 2D-polylijnen, 3D-polylijnen, tekst, tabellen, traceringen en nog veel meer. De bibliotheek ondersteunt ook het instellen van de uitlijning van entiteiten, het openen en bijwerken van de eigenschappen van de entiteiten. De DWG-schrijver biedt ondersteuning voor verschillende invoerformaten, zoals DXF, DXFB en JSON.
AutoCAD DWG lezen via de C-bibliotheek
De open source LibreDWG-bibliotheek biedt volledige ondersteuning voor het programmatisch openen en lezen van AutoCAD DWG-bestanden binnen .NET-applicaties met slechts een paar regels C-code. De DWG-lezer ondersteunt verschillende uitvoerformaten, zoals JSON, DXF, DXFB en GeoJSON. Later ook YAML, XML/OGR, GPX, SVG en PS-bestandsformaten.
Hoe lees ik AutoCAD DWG via de C-bibliotheek?
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-bestand converteren naar SVG via de C-bibliotheek
SVG is een W3C-standaard voor 2D-vectorafbeeldingen en is erg populair. Met de open-source LibreDWG-bibliotheek kunnen softwareontwikkelaars AutoCAD DWG-tekeningen converteren naar SVG-bestandsformaten met behulp van C-opdrachten. Om een SVG-bestand (Scalable Vector Graphics) te converteren, moet u een DWG-bestand openen en een SVG-bestand genereren. Houd er rekening mee dat de bibliotheek zowel de 2D-gegevens als de 3D-inhoud van DWG verwerkt, aangezien SVG alleen 2D-afbeeldingen ondersteunt.