LibDWG

LibDWG - livre acesso ao formato DWG

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 aplicativos mais 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 estrita, e por isso também não disponibilizamos capacidade de escrita por essa 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.

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

Outra interessante característica é a aplicação do Esperanto para codificar a biblioteca. Mas isso é outra batalha... Inclusive, também a documentação sobre a interface de programação só estará disponível nesse idioma. Portanto, prepare-se.

Características da última versão

Até agora, eis os objetos que podem ser lidos:

Limigoj de la lasta versio

Infelizmente, devemos mostras mais limitações que capacidades. No entanto, esperamos que isso não dure muito tempo assim.

Interface (API):
A última versão (0.3) é só uma demonstração sobre o que poderemos ter mais adiante. Ainda não é facilmente utilizável, falta uma interface clara e simples para acesso aos dados (apesar da complexidade intrínseca do DWG).
Versão:
Desde o começo (e talvez para sempre), a biblioteca só é capaz de ler arquivos DWG cuja versão seja R15 (mais conhecida como R2000, pela data de lançamento). Essa versão é mais ou menos documentada pela Open Design Alliance (ODA). Através da especificação provida pela ODA, precariamente se pode ler os arquivos de versão R2004 e R2007, porque faltam alguns detalhes internos.
Escrita:
Para você, que leu até aqui, posso confessar: a limitação de somente leitura vem do fato que nós simplesmente não conseguimos criar (escrever) um arquivo DWG correto, que seja lido sem problemas pelo AutoCAD. Existem muitos pedaços de baite (palavra) que simplesmente não pudemos decifrar. Então, parece que algumas partes do DWG ficarão como um enigma para sempre.

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 ^