Jump to content

DXF

From FreeCAD Documentation
This page is a translated version of the page DXF and the translation is 100% complete.

Historique

Le Drawing Exchange Format (DXF) est un format de données CAO propriétaire développé par Autodesk pour permettre l'échange de fichiers entre son produit phare AutoCAD et d'autres logiciels. Il existe un certain nombre de bonnes bibliothèques logicielles pour lire/écrire le format DXF.

Il existe de nombreuses versions du format DXF. Vous entendrez parler de certaines versions clés, comme la R12 (de 1992) ou la R14 (de 1997, qui comportait des splines). Les versions ultérieures du format DXF comportent des éléments 3D mais ceux-ci sont rarement utilisés ou mis en œuvre. La façon dont vous utilisez DXF pour partager des données CAO entre programmes dépend principalement des limitations et des bogues des lecteurs/importateurs et des rédacteurs/exportateurs correspondants. Ceux-ci sont rarement bien documentés et peuvent être une grande source de frustration.

Si vous éditez des fichiers DXF et que vous souhaitez qu'ils restent quasiment identiques lorsque vous les enregistrez, nous vous recommandons d'utiliser LibreCAD ou QCad car les structures de données internes de ces programmes sont compatibles avec les objets du fichier DXF.

Dans FreeCAD, les lecteurs DXF doivent traduire la géométrie (par exemple, les formes des splines) du fichier DXF dans les représentations internes spécifiques de l'atelier.

Méthodes d'importation du fichier DXF dans FreeCAD

Si vous avez l’intention de vérifier fréquemment les paramètres, nous vous recommandons d’aller dans Edition → Préférences → Importer-Exporter → DXF et de cocher la case "[ ] Afficher cette boîte de dialogue lors de l’importation et de l’exportation".

Vous trouverez plus d'informations sur les pages Draft DXF et FreeCAD et Importation DXF.

Si vous utilisez la géométrie importée pour créer des formes 3D dans l'atelier PartDesign, essayez Sketcher Valider une esquisse après avoir importé le fichier DXF dans une esquisse.

Importateur DXF en C++

Cette implémentation est rapide, mais elle ignore certaines fonctions qu'elle ne reconnaît pas, comme les splines de DXF. Elle ne peut pas également importer la géométrie dans l'atelier Draft que sous forme d'entrées individuelles dans l'arborescence du modèle. Les couleurs de ces entrées peuvent être lues à partir du fichier si vous cochez cette option. Pour plus d'informations, voir ce post dans le forum.

Importateur DXF en Python

Cet importateur doit être téléchargé et installé avant de pouvoir être utilisé. Utilisez l'option "[ ] Autoriser FreeCAD à télécharger et à mettre à jour automatiquement les bibliothèques DXF".

Cet importateur dispose de plus de fonctions (telles que l'implémentation de splines) et a la possibilité de charger les formes DXF dans l'atelier Sketcher. Cependant, il faut savoir que tous les éléments de l'esquisse apparaîtront individuellement une deuxième fois dans l'arborescence du modèle, ce qui peut prêter à confusion. Vous pouvez supprimer tous chacun de ces objets et conserver uniquement l'esquisse (qui apparaît comme deuxième entrée dans la liste des nouveaux éléments).

Malheureusement, l'atelier Sketcher n'implémente pas les couleurs. Toute la géométrie apparaîtra donc au même niveau, ce qui pose problème si le fichier contient de nombreuses lignes de construction. Une solution consiste à ouvrir votre dessin dans LibreCAD et à supprimer toute la géométrie que vous ne souhaitez pas afficher avant d'enregistrer un fichier contenant exactement la géométrie que vous souhaitez charger.

Macros

Gardez un œil sur le forum de FreeCAD ou sur la Liste des macros pour des implémentations alternatives d'importation et de nettoyage DXF au fur et à mesure de leur développement.

Sauvegarder au format DXF

Outre les options du menu Edition → Préférences, l'atelier TechDraw peut également exporter des pages de dessin au format DXF à l’aide de la fonction TechDraw Exporter au format DXF.


Termes et définitions DXF

Blocs anonymes

Lorsque l'on parle de fichiers DXF, plusieurs termes sont utilisés pour décrire les blocs qui sont générés automatiquement par le logiciel de CAO plutôt que par l'utilisateur.

  • Bloc anonyme (ou bloc "astérisque") : terme technique défini par la norme DXF. Il désigne tout bloc dont le nom commence par un astérisque (*). C'est le terme générique.
  • Bloc système : ce terme décrit le but de la plupart des blocs anonymes. Ils ne sont généralement pas créés directement par un utilisateur. Au lieu de cela, l'application de CAO (par exemple, AutoCAD) les génère automatiquement pour représenter des objets complexes composés d'entités géométriques plus simples, telles que des hachures et des cotes.
  • Bloc caché : ce terme décrit le comportement typique des blocs anonymes dans l'interface utilisateur d'un programme de CAO. Parce qu'ils sont générés par le système et ne sont pas destinés à être manipulés directement par l'utilisateur, ils sont généralement cachés dans la liste des blocs qu'un utilisateur peut insérer.

En résumé, "bloc anonyme" est le nom technique, "bloc système" décrit sa fonction et "bloc caché" décrit son comportement typique dans l'interface utilisateur. Pour des raisons pratiques dans le contexte de l'importateur DXF de FreeCAD, ils se réfèrent tous à la même catégorie de blocs.

Classes de blocs anonymes

Les blocs anonymes sont classés en fonction du caractère qui suit l'astérisque initial. Ce préfixe indique l'objectif spécifique du bloc. Les catégories les plus courantes sont les suivantes :

  • *D... (cotes) : bloc représentant les composants graphiques d'une entité dimensionnelle (lignes, pointes de flèches, etc.).
  • *X... (hachures) : bloc représentant la géométrie qui constitue un motif de hachures.
  • *P... (présentations de l'espace papier) : bloc qui contient toutes les entités qui existent sur une présentation spécifique de l'espace papier. Le modèle principal se trouve généralement dans un bloc nommé *Model_Space et chaque présentation est sont nommée *Paper_Space, *Paper_Space0, *Paper_Space1, et ainsi de suite.
  • *U... (blocs dynamiques) : blocs complexes utilisés pour la fonctionnalité de blocs dynamiques d'AutoCAD.
  • *E..., *T..., etc. : d'autres préfixes existent pour des objets spécialisés tels que les pointes de flèches associatives et les tableaux.

BLOCKs et INSERTs

L'entité BLOCK

Un BLOCK est une collection nommée d'entités géométriques (lignes, arcs, polylignes, etc.) qui sont regroupées pour former une définition d'objet unique. Il peut être considéré comme un modèle.

Un BLOCK :

  • Nom du bloc  : chaque bloc créé par l'utilisateur a un nom unique (par exemple, « CHAIR-01 », « BOULON-M8 »). Ce nom est utilisé pour référencer le bloc.
  • Point de base  : il s'agit du point d'origine (0,0,0) dans le système de coordonnées interne du bloc. Lorsque le bloc est inséré, ce point de base est aligné sur les coordonnées d'insertion spécifiées.
  • N'est pas visible par lui-même : la définition de BLOCK est stockée dans une section de type bibliothèque du fichier DXF (la section BLOCKS). La géométrie du bloc n'apparaît pas dans le dessin final tant qu'une instance de ce bloc n'est pas créée.

L'entité INSERT

Une entité INSERT est ce qui place une copie, ou une instance, de la géométrie d'un BLOCK dans l'espace modèle ou l'espace papier du dessin. Il s'agit d'une entité très légère car elle ne contient pas la géométrie elle-même ; elle contient uniquement une référence à une définition de BLOCK et des instructions sur la manière de la placer et de la transformer.

Un INSERT :

  • Nom du bloc : spécifie quelle définition de BLOCK utiliser (par exemple, « Je suis une instance du bloc “CHAIR-01” »).
  • Point d'insertion : coordonnée (X, Y, Z) dans le dessin où le point de base du bloc doit être placé.
  • A des transformations : chaque instance peut être transformée indépendamment sans affecter la définition originale du bloc. Ces transformations comprennent :
    • Facteur d'échelle : l'instance peut être mise à l'échelle différemment dans les directions X, Y et Z.
    • Rotation : l'objet peut être tournée autour de son point d'insertion.

Stratégies de placement des BLOCKs

Un fichier DXF sépare la définition d'un composant de son placement.

  • Un BLOCK est le modèle ou le plan. Il contient la géométrie qui constitue un composant, comme une chaise ou une fenêtre. Ces définitions sont stockées dans la section BLOCKS du fichier et ne sont pas directement visibles dans le dessin final.
  • Un INSERT est l'instruction de placer un BLOCK dans le dessin à une position, une orientation et une échelle spécifiques. Ce sont les instances visibles du bloc et se trouvent dans la section ENTITIES.

Il existe deux principales manières d'utilisation des blocks et des inserts :

  1. Flux de travail des modèles et des instances : une seule définition BLOCK est créée, et plusieurs entités INSERT sont utilisées pour placer des instances de cette définition dans le dessin. Il s'agit d'une méthode efficace pour traiter les éléments répétitifs. Par exemple, la géométrie d'une chaise est définie une fois dans un BLOCK puis référencée plusieurs fois par des entités INSERT.
  2. Flux de travail des objets composés : un BLOCK est créé à partir d'une géométrie existante simplement pour regrouper ces objets en une seule unité que l'on peut sélectionner. Dans ce cas, la définition de BLOCK est utilisée par une seule entité INSERT.

L'importateur DXF doit pouvoir faire la distinction entre ces deux cas d'utilisation pour représenter correctement l'intention du dessin original, soit en créant de nombreuses instances liées à un seul objet de base (modèle), soit en créant un seul objet visible (modèle d'objets groupés).