Draft DXF est un module utilisé par Std Ouvrir,
Std Importer et
Std Exporter pour gérer le format de fichiers DXF.
Du point de vue de l'utilisateur, le module d'importation/exportation DXF sera chargé automatiquement lorsque l'une de ces commandes est lancée et que le fichier à ouvrir, à importer ou à exporter est un fichier DXF. La principale différence entre Std Ouvrir et la commande d'importation est que la première créera un nouveau document FreeCAD et effectuera ensuite l'importation, tandis que la seconde importera le fichier DXF et insérera le résultat dans le document actif.
Dessin de Qcad exporté au format DXF puis ouvert dans FreeCAD
Deux importateurs sont disponibles, celui qui est utilisé peut être spécifié sous Édition → Préférences... → Importer/Exporter → DXF.
Les deux prennent en charge toutes les versions DXF à partir de R12.
Les solides 3D à l'intérieur d'un fichier DXF sont stockés sous un blob binaire ACIS/SAT, qui ne peut actuellement pas être lu par FreeCAD.
Entité | Importateur C++ | Importateur historique |
---|---|---|
Lignes | ✓ | ✓ |
Polylignes (and LWPOLYLINES) | ✓ | ✓ |
Arcs | ✓ | ✓ |
Cercles | ✓ | ✓ |
Ellipses | ✓ | ✓ |
Splines | ✓ | ✓ |
Textes & MTextes | ✓ | ✓ |
Lignes de référence | ✗ | ✓ |
Points | ✓ | ✓ |
Dimensions | ✓ | ✓ |
Blocs | ✓ (Géométrie uniquement ; les textes, les dimensions et les attributs à l'intérieur des blocs sont ignorés) |
✓ |
Objets d'espace papier | ✓ | ✓ |
Faces 3D | ✗ | ✓ |
Il existe également deux exportateurs. L'exportateur traditionnel exporte au format R12 DXF, l'exportateur C++ au format R14 DXF. Les deux formats peuvent être traités par de nombreuses applications.
Fonction | Exportateur C++ (R14) | Exportateur historique (R12) |
---|---|---|
Géométrie 2D supportée | Toutes sauf les courbes de Bézier. Les ellipses et les splines sont exportés nativement. | Les ellipses et les B-splines peuvent être imprécises ou exportées sous forme de polylignes. Les ellipses et les B-splines peuvent être imprécises ou exportées en tant que polylignes. |
Points | ✓ (Si la préférence "Exporter des points" est activée) |
✗ |
Objets 3D | Les arêtes des faces sont exportées. Arêtes courbées uniquement si elles se trouvent sur le plan XY. Peut créer des lignes en double. | Les objets 3D sont exportés sous forme de vues 2D aplaties. |
Textes and dimensions | ✗ | ✓ |
Couleurs | ✗ | ✓ (En fonction de la couleur de la ligne de l'objet) |
Calques | ✓ (Établis à partir des noms des objets) |
✓ (Établis à partir de calques et des groupes imbriqués) |
Composés | ✗ | ✓ (Exporté sous forme de blocs) |
Pour des raisons de licence, les bibliothèques d'importation/exportation DXF requises par la version héritée de l'importateur ne font pas partie du code source de FreeCAD. Pour plus d'informations, voir : FreeCAD et l'importation de DXF.
Voir : Préférences Importer/Exporter.
Le format DWG étant un format propriétaire, fermé et non documenté, il est difficile pour les projets open-source comme FreeCAD de le prendre en charge. C'est pourquoi FreeCAD s'appuie sur des convertisseurs externes pour lire et écrire des fichiers DWG. Pour importer un fichier DWG, un convertisseur est utilisé pour créer d'abord un DXF, qui peut ensuite être traité par l'importateur DXF de FreeCAD. Lors de l'exportation vers DWG, la conversion inverse se produit : le DXF créé par l'exportateur FreeCAD DXF est transformé en DWG.
Remarquez que le format DXF permet une conversion 1:1 du format DWG. Toutes les applications qui peuvent lire et écrire des fichiers DWG peuvent faire de même avec des fichiers DXF, sans perte de données. Par conséquent, demander des fichiers DXF au lieu de fichiers DWG et fournir des fichiers DXF en retour ne devrait pas poser de problème.
Il existe un support intégré pour les convertisseurs DWG suivants :
Voir Préférences Importer/Exporter et FreeCAD et l'importation DWG pour plus d'informations.
Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.
Pour exporter des objets au format DXF, utilisez la méthode export
du module importDXF.
importDXF.export(objectslist, filename, nospline=False, lwPoly=False)
filename
.Exemple :
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")