Gravando um arquivo DXF (DXF)

Gravar um programa que cria um arquivo DXF pode ser mais difícil que um que lê um arquivo DXF, porque é preciso manter a consistência do desenho para um programa com base no AutoCAD localizar o arquivo aceitável. Um programa baseado no AutoCAD permite que você omita vários itens em um arquivo DXF e ainda obtenha um desenho utilizável.

A sub-rotina do Visual Basic a seguir cria um arquivo DXF que representa um polígono.

' WriteDXFPolygon creates a minimal DXF file that only contains
' the ENTITIES section. This subroutine requires five parameters,
' the DXF file name, the number of sides for the polygon, the X
' and Y coordinates for the bottom end of the right-most side
' (it starts in a vertical direction), and the length for each
' side. Note that because this only requests 2D points, it does
' not include the Z coordinates (codes 30 and 31). The lines are
' placed on the layer "Polygon."
'
Sub WriteDXFPolygon( _
        dxfFile As String, iSides As Integer, _
        dblX As Double, dblY As Double, dblLen As Double)
    Dim i As Integer
    Dim dblA1, dblA, dblPI, dblNX, dblNY As Double
    Open dxfFile For Output As #1
    Print #1, 0
    Print #1, "SECTION"
    Print #1, 2
    Print #1, "ENTITIES"
    dblPI = Atn(1) * 4
    dblA1 = (2 * dblPI) / iSides
    dblA = dblPI / 2
    For i = 1 To iSides
        Print #1, 0
        Print #1, "LINE"
        Print #1, 8
        Print #1, "Polygon"
        Print #1, 10
        Print #1, dblX
        Print #1, 20
        Print #1, dblY
        dblNX = dblLen * Cos(dblA) + dblX
        dblNY = dblLen * Sin(dblA) + dblY
        Print #1, 11
        Print #1, dblNX
        Print #1, 21
        Print #1, dblNY
        dblX = dblNX
        dblY = dblNY
        dblA = dblA + dblA1
    Next i
    Print #1, 0
    Print #1, "ENDSEC"
    Print #1, 0
    Print #1, "EOF"
    Close #1
End Sub

Se um item aparecer corretamente formatado na linha sobre a qual os dados são esperadas, o IMPDXF o aceitará. É claro, os itens de sequência não devem conter espaços em branco à esquerda, a não ser que sejam destinados a ser parte da sequência de caracteres. Este programa BÁSICO aproveita essa flexibilidade no formato de entrada e não gera um arquivo exatamente como um gerado pelo programa baseado no AutoCAD.

No caso de um erro no uso do IMPDXF para carregar um arquivo DXF, o programa baseado no AutoCAD reporta o erro com uma mensagem que indica a natureza do erro e a última linha processada no arquivo DXF antes de o erro ter sido detectado. Essa pode não ser a linha em que o erro ocorreu, especialmente no caso de erros como a omissão de grupos necessários.