Escritura de un archivo DXF (DXF)

Elaborar un programa que cree un archivo DXF puede ser más difícil que crear uno que lo lea, ya que siempre es necesario mantener la coherencia dentro del dibujo para que AutoCAD encuentre aceptable el archivo. AutoCAD permite omitir muchos elementos de los archivos DXF y aun así obtener un dibujo utilizable.

La siguiente subrutina de Visual Basic 6 crea un archivo DXF que representa un 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

Siempre y cuando un elemento con formato correcto aparezca en la línea en la que deben estar los datos, CARGADXF lo aceptará. Por supuesto, los elementos de cadena no deben tener espacios a la izquierda a menos que éstos deban formar parte de la cadena. Este programa BASIC aprovecha la flexibilidad del formato de entrada y no genera un archivo exactamente igual que los generados por AutoCAD.

En caso de que se produjera un error al utilizar CARGADXF para efectuar la carga, AutoCAD mostrará un mensaje de error indicando su naturaleza, así como la última línea procesada en el archivo DXF antes de la detección del error. Puede ocurrir que dicha línea no sea la misma en la cual se ha producido el error, especialmente en los casos de errores provocados por la omisión de grupos necesarios.