Draft DXF ist ein Softwaremodul, das von den Std Öffnen,
Std Import und
Std Export Befehlen verwendet wird, um das DXF-Dateiformat zu verarbeiten.
Aus Sicht des Benutzers wird das DXF-Import-/Exportmodul automatisch geladen, wenn einer dieser Befehle aufgerufen wird und die zu öffnende, zu importierende oder zu exportierende Datei eine DXF-Datei ist. Der Hauptunterschied zwischen Std Öffnen und dem Importbefehl besteht darin, dass ersterer ein neues FreeCAD-Dokument erstellt und dann den Import durchführt, während letzterer die DXF-Datei importiert und das Ergebnis in das aktuell aktive Dokument einfügt.
QCAD-Zeichnung nach DXF exportiert, die anschließend in FreeCAD geöffnet wird
Es stehen zwei Import-Module zur Verfügung, die unter Bearbeiten → Einstellungen... → Import-Export → DXF festgelegt werden können: Der eine ist eingebaut, C++ basiert und schnell, der andere ist eine Altlast, in Python kodiert, langsamer und erfordert die Installation einer Erweiterung, kann aber manche Objekte besser verarbeiten und kann feinere FreeCAD-Objekte erstellen. Beide unterstützen alle DXF-Versionen seit R12.
3D-Festkörper innerhalb einer DXF-Datei werden unter einem binären "ACIS/SAT-Blob" gespeichert, der zur Zeit von FreeCAD nicht gelesen werden kann.
| Entität | C++-Importer | Legacy-Importer |
|---|---|---|
| Linien | ✓ | ✓ |
| Polylinien (and LWPOLYLINES) | ✓ | ✓ |
| Bögen | ✓ | ✓ |
| Kreise | ✓ | ✓ |
| Ellipsen | ✓ | ✓ |
| Splines | ✓ | ✓ |
| Texte & MTexte | ✓ | ✓ |
| Führungslinie | ✗ | ✓ |
| Ebenen | ✓ | ✓ |
| Punkte | ✓ | ✓ |
| Maße | ✓ | ✓ |
| Blöcke | ✓ (Nur Geometrie; Texte, Maße, und Attribute innerhalb von Blöcken werden übersprungen) |
✓ |
| Papierbereichs-Objekte | ✓ | ✓ |
| 3D-Flächen | ✗ | ✓ |
Es gibt auch zwei Export-Module: Das Altdaten-Export-Modul exportiert in das DXF-Format R12, Das C++ Export-Modul in das DXF-Format R14. Beide Formate können mit vielen Programmen verarbeitet werden.
| Funktion | C++-Exporter (R14) | Legacy-Exporter (R12) |
|---|---|---|
| Unterstützte 2D-Geometry | Alle außer Bezier-Kurven. Ellipsen und Splines werden nativ exportiert. | Alle außer Punkten. Ellipsen und B-Splines können ungenau sein oder als Polylinien exportiert werden. |
| Punkte | ✓ (Wenn die "Export-Punkte" Voreinstellung aktiviert ist) |
✗ |
| 3D-Objekte | Kanten von Flächen werden exportiert. Gebogene Kanten nur, wenn sie auf der XY-Ebene liegen. Es können doppelte Linien entstehen. | Als abgeflachte 2D-Ansichten exportiert. |
| Texte und Maße | ✗ | ✓ |
| Farben | ✗ | ✓ (Basierend auf der Farbe der Objektlinie) |
| Ebenen | ✓ (Aus Objektnamen abgeleitet) |
✓ (Aus Ebenen und verschachtelten Gruppen abgebildet) |
| Verbünde | ✗ | ✓ (Als Blöcke exportiert) |
Aus lizenzrechtlichen Gründen sind die benötigten DXF Import/Export Bibliotheken, die von der Legacy Version des Importeurs benötigt werden, nicht Teil des FreeCAD Quellcodes. Für weitere Informationen siehe: FreeCAD und DXF Import.
Siehe Import-Export-Einstellungen.
Da das DWG-Format ein proprietäres, geschlossenes und undokumentiertes Format ist, ist es für Open-Source-Projekte wie FreeCAD schwierig, es zu unterstützen. Aus diesem Grund ist FreeCAD auf externe Konverter angewiesen, um DWG-Dateien lesen und schreiben zu können. Um eine DWG-Datei zu importieren, wird zunächst mit einem Konverter eine DXF-Datei erstellt, die dann vom FreeCAD-DXF-Importer verarbeitet werden kann. Beim Exportieren nach DWG erfolgt die umgekehrte Konvertierung: Die vom FreeCAD-DXF-Exporter erstellte DXF-Datei wird in eine DWG-Datei umgewandelt.
Beachte, dass das DXF-Format eine 1:1-Konvertierung des DWG-Formats ermöglicht. Alle Anwendungen, die DWG-Dateien lesen und schreiben können, können dies auch mit DXF-Dateien tun, ohne dass Daten verloren gehen. Daher sollte es keine Probleme bereiten, DXF-Dateien anstelle von DWG-Dateien anzufordern und wiederum DXF-Dateien bereitzustellen.
Die folgenden DWG-Konverter werden standardmäßig unterstützt:
Siehe Import Export Einstellungen, FreeCAD and DWG Import für mehr Informationen.
Siehe auch: Autogenerierte API-Dokumentation und Grundlagen der Skripterstellung in FreeCAD.
Um Objekte in eine DXF-Datei zu exportieren, wird die Methode export des Moduls importDXF verwendet.
importDXF.export(objectslist, filename, nospline=False, lwPoly=False)
filename verwendet.Beispiel:
import FreeCAD as App
import Draft
import importDXF
doc = App.newDocument()
polygon1 = Draft.make_polygon(3, radius=500)
polygon2 = Draft.make_polygon(5, radius=1500)
doc.recompute()
objects = [polygon1, polygon2]
importDXF.export(objects, "/home/user/Pictures/myfile.dxf")