Das Drawing Exchange Format (DXF) ist ein proprietäres CAD Datenformat, das von Autodesk entwickelt wurde, um den Dateiaustausch zwischen dem Flaggschiffprodukt AutoCAD und anderer Software zu ermöglichen. Es gibt eine Reihe von guten Softwarebibliotheken zum Lesen/Schreiben des DXF Formats.
Es gibt viele Versionen des DXF Formats. Du wirst von bestimmten Schlüsselversionen hören, wie z. B. R12 (von 1992) oder R14 (von 1997, die Splines hatte). Spätere Versionen von DXF haben 3D Elemente, aber diese werden nur selten verwendet oder implementiert. Wie du DXF nutzt, um CAD Daten zwischen Programmen auszutauschen, hängt hauptsächlich von den Begrenzungen und Fehlern in den entsprechenden Lesern/Importeuren und Schreibern/Exporteuren ab. Diese sind selten vollständig dokumentiert und können eine große Quelle der Frustration sein.
Wenn du DXF Dateien bearbeitest und möchtest, dass sie beim Speichern nahezu unverändert bleiben, empfehlen wir dir die Programme LibreCAD oder QCad, da die internen Datenstrukturen dieser Programme mit den Objekten in der DXF Datei kompatibel sind.
In FreeCAD müssen die DXF Leser die Geometrie (z. B. Spline Formen) aus der DXF Datei in die spezifischen internen Darstellungen des Arbeitsbereichs übersetzen.
Wenn Du die Einstellungen häufig überprüfen willst, empfehlen wir, in Bearbeiten → Einstellungen → Import-Export → DXF das Kästchen "[ ] Diesen Dialog beim importieren und exportieren anzeigen" zu aktivieren.
Mehr Informationen gibt es auf den Seiten Draft DXF und FreeCAD und DXF Import.
Wenn Du die importierte Geometrie nutzen willst, um 3D-Formen im PartDesign-Arbeitsbereich zu erstellen, dann versuche Skizzierer überprüfen, nachdem Du DXF in eine Skizze importiert hast.
Diese Implementation ist schnell, überspringt aber Merkmale, die nicht erkannt werden, wie etwa DXF-Splines. Es kann außerdem nur Geometrien als einzelne Einträge im Modellbaum in den Draft-Arbeitsbereich importieren. Diese können die Farben aus der Datei importieren, wenn diese Option aktiviert ist. Weitere Informationen gibt es im (engl.) Forumseintrag.
Dieser Importer muss vor der Verwendung heruntergeladen und installiert werden. Dafür wird die Option "[ ] FreeCAD das automatische Herunterladen und Aktualisieren der DXF-Bibliotheken erlauben" (in Bearbeiten → Einstellungen → Import/Export → DXF) verwendet.
Dieser Importeur hat mehr Funktionen (wie das Importieren von Splines) und hat die Option zum Laden der DXF Formen in den Skizzierer. Sei jedoch gewarnt, dass alle Elemente der Skizze ein weiteres Mal einzeln im Modellbaum erscheinen, was verwirrend sein kann. Du kannst all diese einzelnen Objekte löschen und die einzelne Skizze beibehalten (die als zweiter Eintrag in der Liste der neuen Elemente erscheint).
Unglücklicherweise implementiert der Arbeitsbereich Skizze keine Farben, so dass alle Geometrien auf einer Ebene erscheinen, was zum Problem wird, wenn die Datei viele Konstruktionslinien enthält. Eine Umgehungslösung besteht darin, die Datei in LibreCAD zu öffnen und all die Geometrien zu löschen, die nicht erscheinen sollen, so dass eine Datei gespeichert wird, die genau die Geometrien enthält, die Du laden möchtest.
Hab' ein Auge auf das FreeCAD Forum oder die Makro Rezepte, um alternative Ausführungen von DXF Import und Aufräumroutinen kennenzulernen, während sie entwickelt werden.
Zusätzlich zu den Optionen unter Bearbeiten → Voreinstellungen kann der TechDraw Arbeitsbereich auch Zeichnungsseiten mit der Funktion TechDraw ExportSeiteDXF nach DXF exportieren.
When discussing DXF files, several terms are used to describe blocks that are generated automatically by the CAD software rather than by the user.
*
). It is the overarching term.Essentially, "anonymous block" is the technical name, "system block" describes its function, and "hidden block" describes its typical user interface behavior. For practical purposes in the context of the FreeCAD DXF importer, they all refer to the same category of blocks.
Anonymous blocks are further categorized based on the character that follows the initial asterisk. This prefix indicates the block's specific purpose. The most common classes are:
*D...
(Dimensions): A block representing the graphical components of a dimension entity (lines, arrowheads, etc.).*X...
(Hatches): A block representing the geometry that makes up a hatch pattern.*P...
(Paper Space Layouts): A block that contains all the entities that exist on a specific paper space layout. The main model is typically in a block named *Model_Space
, and individual layouts are named *Paper_Space
, *Paper_Space0
, *Paper_Space1
, and so on.*U...
(Dynamic Blocks): These are complex blocks used for AutoCAD's dynamic block functionality.*E...
, *T...
, etc.: Other prefixes exist for specialized objects like associative arrowheads and tables.A BLOCK
is a named collection of geometric entities (lines, arcs, polylines, etc.) that are grouped together to form a single object definition. It can be thought of as a template.
A BLOCK
:
BLOCK
definition is stored in a library-like section of the DXF file (the BLOCKS
section). The geometry within the block does not appear in the final drawing until an instance of it is created.An INSERT
entity is what places a copy, or instance, of a BLOCK
's geometry into the drawing's model space or paper space. It is a very lightweight entity because it does not contain the geometry itself; it only contains a reference to a BLOCK
definition and instructions on how to place and transform it.
An INSERT
:
BLOCK
definition to use (e.g., "I am an instance of block 'CHAIR-01'").A DXF file separates the definition of a component from its placement.
BLOCK
is the template or blueprint. It contains the geometry that makes up a component, like a chair or a window. These definitions are stored in the BLOCKS
section of the file and are not directly visible in the final drawing.INSERT
is the instruction to place a BLOCK
into the drawing at a specific position, orientation, and scale. These are the visible instances of the block and are found in the ENTITIES
section.There are two primary workflows for using blocks and inserts:
BLOCK
definition is created, and multiple INSERT
entities are used to place instances of it throughout the drawing. This is an efficient method for handling repetitive elements. For instance, the geometry for a chair is defined once in a BLOCK
and then referenced many times by INSERT
entities.BLOCK
is created from existing geometry simply to group those objects together as a single, selectable unit. In this case, the BLOCK
definition is used by a single INSERT
entity only.The DXF importer must be able to distinguish between these two use cases to correctly represent the original drawing's intent, either by creating many linked instances to a single base object (template model) or by creating a single, visible object (grouped object model).