Sobre arquivos DXF binários (DXF)

O formato de arquivo DXF ASCII é uma representação completa de um desenho do AutoCAD no formato de texto ASCII, e é facilmente processado por outros programas. Além disso, o AutoCAD pode produzir ou ler um formato binário de todo o arquivo DXF e aceitar entrada limitada em um formato de arquivo binário.

Os comandos SAVE e SAVEAS fornecem uma opção Binária que grava arquivos DXF binários. Esse arquivo contém todas as informações presentes em um arquivo ASCII DXF, porém de forma mais compacta que leva em torno de 25 por cento menos espaço de arquivo. Ele pode ser lido e gravado mais rapidamente (normalmente, cinco vezes mais rápido) pelo AutoCAD. Ao contrário dos arquivos ASCII DXF, que inclui um equilíbrio entre a precisão do ponto flutuante e o tamanho, os arquivos DXF binários preservam a precisão no banco de dados de desenho. (O AutoCAD Release 10 foi a primeira versão a suportar o formato de arquivo DXF; não é possível ler esse formato em versões anteriores.)

Um arquivo DXF binário começa com uma sentinela de 22 bytes composto pelo seguinte:

AutoCAD Binary DXF<CR><LF><SUB><NULL>

Após a sentinela estão os pares de dados (grupo, valor), que são os mesmos que os de um arquivo DXF ASCII, mas estão representados no formato binário. O código de grupo é um valor inteiro de 2 bytes (1 byte em arquivos DXF anteriores ao AutoCAD Release 13) com o byte menos significativo primeiro. Cada código de grupo é seguido por seu valor atribuído, que pode ser um dos seguintes:

O tipo de dados que segue um grupo é determinado a partir do código de grupo usando as mesmas regras usadas para decodificar arquivos DXF ASCII. Conversão de ângulos em graus e datas em uma representação de data juliana fracional é executada para arquivos binários, bem como para arquivos ASCII DXF. O grupo de comentários, 999, não é utilizado em arquivos DXF binários.

Nos arquivos DXF anteriores ao AutoCAD Release 13, os códigos de grupos de dados estendidos são representados em DXF binário como um byte único com o valor de 255, seguido por um valor inteiro de 2 bytes (byte menos significativo primeiro) contendo o código de grupo real, seguido pelo valor real. Além disso, os valores de dados estendidos são representados da mesma forma que os valores de dados DXF normais.

Portanto, por exemplo, para um grupo longo de dados estendidos em um arquivo DXF anterior ao AutoCAD Release 13, os seguintes valores seriam exibidos, ocupando 1, 2 e 4 bytes, respectivamente.

255         
Escape group code
1071
True group code
999999
Value for the 1071 group code

SAVEAS Grava arquivos DXF binários com o mesmo tipo de arquivo (.dxf) como para arquivos ASCII DXF. Os comandos OPEN e INSERT reconhecem automaticamente um arquivo binário por meio da sequência de caracteres do sentinela. O arquivo não precisa ser identificado como um arquivo binário.

Se os comandos ABRIR e INSERIR encontrarem um erro em um arquivo DXF binário, o programa baseado no AutoCAD exibirá o endereço de bytes dentro do arquivo onde o erro foi detectado.