
LibreDWG
Biblioteca C de código aberto para gerir ficheiros DWG do AutoCAD
Gere, edite, leia, manipule e converta modelos DWG do AutoCAD em ficheiros SVG através da API CAD C++ de código aberto.
O que é o LibreDWG?
LibreDWG é uma biblioteca C útil, gratuita e muito útil para lidar com desenhos DWG do AutoCAD. O DWG é um formato de ficheiro popular criado pela AutoDesk na década de 1970 para aplicações CAD que começavam a surgir. Embora o DWG seja um formato proprietário, ainda é a escolha preferida de muitos profissionais. Esta biblioteca é fácil de utilizar e foi concebida para fornecer uma API que pode auxiliar os programadores de software na criação de aplicações que funcionam com ficheiros DWG.
A biblioteca possui muitos recursos úteis para trabalhar com ficheiros DWG do AutoCAD. Pode abrir e visualizar desenhos DWG, criar novos ficheiros DWG, convertê-los para vários formatos, alterá-los para DXF e JSON, transformar DWG em SVG e Postscript, utilizar dwggrep para localizar texto, dwglayer para exibir camadas e muito mais.
Na biblioteca, os programadores de software podem ativar ou desativar o suporte de escrita DWG. Inicialmente, esta funcionalidade está desativada, mas, ao ativá-la, pode usá-la para escrever no formato DWG. A conversão da maioria dos DWGs para o formato r2000 ocorre geralmente sem problemas. O leitor de DWG suporta uma variedade de formatos de ficheiros, incluindo JSON, DXF, DXFB, GeoJSON, YAML, XML/OGR, GPX, SVG e PS.
Introdução ao LibreDWG
Necessita de instalar ferramentas básicas de desenvolvimento (um compilador C99 como o gcc/clang, make, autoconf, automake e libtool). Crie um clone da biblioteca utilizando o seguinte comando.
Clonar biblioteca utilizando o seguinte comando
git clone git://git.sv.gnu.org/libredwg.git
Now change dir to libredwg folder created by git ( cd libredwg ) and issue following commands in terminal
Change dir to libredwg folder
$ sh autogen.sh
$ ./configure --enable-trace # (this will enable debugging messages)
$ make
$ sudo make install
$ make check
Criar DWG do AutoCAD com a Biblioteca C
A biblioteca C gratuita LibreDWG permite aos programadores de software criar novos ficheiros DWG do AutoCAD dentro das suas próprias aplicações C. Após a criação do ficheiro, pode inserir vários tipos de entidades dentro dos desenhos DWG, tais como tabelas, formas, hachuras, câmaras, luzes, linhas, malhas, texto digital, polilinhas 2D, polilinhas 3D, texto, tabelas, traços e muito mais. A biblioteca também suporta o alinhamento definido para as entidades, o acesso e a atualização das propriedades das entidades com facilidade. O gravador de DWG inclui suporte para vários formatos de entrada, como DXF, DXFB e JSON.
Leitura de DWG do AutoCAD através da Biblioteca C
A biblioteca de código aberto LibreDWG inclui suporte completo para o acesso e leitura programática de ficheiros DWG do AutoCAD dentro de aplicações .NET com apenas algumas linhas de código C. O leitor de DWG suporta vários formatos de saída, como JSON, DXF, DXFB, GeoJSON. Posteriormente, também os formatos de ficheiro YAML, XML/OGR, GPX, SVG e PS.
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);
Converter ficheiro DWG para SVG através da biblioteca C
O SVG é uma norma W3C para gráficos vectoriais 2D e é muito popular. A biblioteca de código aberto LibreDWG permite aos programadores de software converter desenhos DWG do AutoCAD para formatos de ficheiro SVG utilizando comandos C. Para converter um ficheiro SVG (Scalable Vector Graphics), é necessário abrir um ficheiro DWG e gerar um ficheiro SVG. Lembre-se de que a biblioteca irá manipular os dados 2D e o conteúdo 3D do DWG, uma vez que o SVG apenas suporta imagens bidimensionais.