Schreiben einer DXF-Datei (DXF)

Die Entwicklung eines Programms, mit dem eine DXF-Datei erstellt wird, ist schwieriger als das Erstellen eines Programms zum Lesen von DXF-Dateien; die Zeichnung muss konsistent gehalten werden, damit AutoCAD die Datei bearbeiten kann. Ein AutoCAD-basiertes Programm bietet die Möglichkeit, zahlreiche Elemente nicht in die DXF-Datei zu übernehmen und dennoch eine verwendbare Zeichnung zu erzielen.

Mit deR folgenden Visual Basic-Unterroutine wird eine DXF-Datei für ein Polygon erstellt.

' 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

Wenn ein ordnungsgemäß formatiertes Element in der Zeile aufgefunden wird, in der DXFIN die Daten erwartet, wird dieses Element akzeptiert. (Zeichenfolgen-Elemente sollten keine führenden Leerzeichen aufweisen, sofern diese nicht ein Teil der Zeichenfolge sind.) Dieses BASIC-Programm nutzt die Flexibilität des Eingabeformats. Die Datei wird nicht auf dieselbe Weise erstellt, wie sie in einem AutoCAD-basierten Programm angelegt wurde.

Wenn beim Laden von DXFIN ein Fehler auftritt, meldet das AutoCAD-basierte Programm diesen in einer Meldung, in der die Art des Fehlers und die letzte, vor dem Fehler verarbeitete Zeile in der DXF-Datei angegeben werden. Der Fehler ist allerdings nicht unbedingt in dieser Zeile aufgetreten. Dies gilt insbesondere dann, wenn der Fehler im Fehlen einer benötigten Gruppe liegt.