LibDWG

LibDWG - livre acesso ao formato DWG

Nota importante: este projeto foi reativado desde setembro de 2013. Ele foi "re-garfado" do LibreDWG.


Eis uma biblioteca que possibilita ler os dados de um arquivo DWG. Trata-se de uma aquisição muito importante, que aumenta a capacidade da comunidade de código livre em desenvolver capacidades interessantes no campo do desenho industrial (CAD).

A biblioteca está codificada em C e assim ela se faz útil a uma maior audiência de usuários (em particular programadores, obviamente). Alguém de pronto pergunta: Por que não foi usado C++?. É simples: Porque eu não conheço. Bem, agora sério: Quem programa em C++ pode usar facilmente uma biblioteca em C, mas o inverso não é válido. Então, por isso é recomendável usar C para criar bibliotecas mais populares.

A estrutura do DWG é muito complicada, de modo algum seria trivial de se usar, parece que foi feita para que ninguém a entendesse mesmo. Por isso não recomendamos sua aplicação irrestrita, e por isso também não disponibilizamos capacidade de escrita através dessa biblioteca. Que se aplique a biblioteca LibDWG principalmente para ler dados de tais arquivos, filtrando-os para outro formato, mais aberto e fácil de se usar.

No momento inicial (começo de 2009), não existia nenhum projeto similar a este aqui, sua unicidade vinha da linguagem de programação usada (C) e também do estado de quase monopólio, com relação a aplicativos de CAD. Sendo assim, a LibDWG se tornaria uma chave para abrir um portão fechado por práticas desleais de mercado, que impossibilitavam que empresas da área de informática concorressem nesse campo.

Outra interessante característica é a aplicação do Esperanto para codificar a biblioteca. Mas isso é outra batalha... mas nós desistimos disso, para aproveitar o desenvolvimento recebido desde que ela fora portada para o inglês.

Características da última versão

A última versão (0.6) é capaz de ler arquivos DWG sob os formatos R13 (não testado), R14, R2000 e R2004.

Ela disponibiliza um utilitário chamado "dwg-dump" para extrair informação do arquivo DWG, para um formato de texto legível. E também outro, chamado "dwg-dxf", para converter ao formato DXF R2000.

Eis alguns objetos interessantes, disponíveis para serem usados no DWG.

Limitações da última versão

Dados estendidos não são lidos, porque eles dependem de outros aplicativos para serem interpretados, então ficam sendo totalmente inúteis. Assim, os objetos XDATA são simplesmente ignorados durante o escaneamento da base de dados.

Interface (API):
A interface é muito simples, a pessoa lê um arquivo, e eis que os dados são disponibilizados em uma grande quantidade de objetos para serem explorados. No entanto, a informação não é simples, é preciso conhecer bem o funcionamento do AutoCAD para entender sua base de dados de desenho.

Alternativas

Eis uma simples pesquisa sobre outros formatos mais adequados a aplicativos CAD livres.

Futuramente

Depois dessa lista, pode-se facilmente "adivinhar" nossa intenção de criar algo como um filtro, o qual receba um DWG e o transforme em uma (ou várias) das alternativas livres. No entanto, é um caminho longo até se atingir esse objetivo. E mais, outras pessoas já trabalham em cima disso: VectorSection

Outra capacidade interessante para tal filtro seria criar arquivos de imagem, como PNG, SVG, EPS e até PDF, por exemplo.


^ Acima ^