Skip to content
ispyisail edited this page Sep 11, 2026 · 1 revision

Import et export DXF

Le Β« DXF Β» de QET recouvre deux fonctions sans rapport qui partagent simplement un format de fichier :

Sens OΓΉ Comment
Export folio β†’ .dxf Fichier β†’ Exporter, aux cΓ΄tΓ©s de PDF/PNG/SVG en interne, code propre Γ  QET
Import .dxf β†’ gΓ©omΓ©trie d'Γ©lΓ©ment l'Γ©diteur d'Γ©lΓ©ment, Importer un fichier DXF appelle un programme tiers sΓ©parΓ©

Elles ne font pas l'aller-retour l'une vers l'autre et ne partagent aucun code. Si vous cherchez Β« importer un dessin DXF comme folio Β», ce n'est ni l'une ni l'autre β€” voir Β§3.

Sources : sources/createdxf.{cpp,h}, sources/dxfpaintdevice.{cpp,h}, sources/dxf/dxftoelmt.{cpp,h}.


1. Exporter un folio en DXF

Fichier β†’ Exporter, mΓͺme dialogue que PDF/PNG/SVG, un fichier .dxf par folio. Le cadre, le cartouche et chaque objet du folio sont inclus.

Il n'existe aucun verbe en ligne de commande pour cela. --export-pdf, --export-png et --export-svg existent ; l'export DXF est aujourd'hui rΓ©servΓ© Γ  l'interface graphique.

Comment c'est rendu

PlutΓ΄t qu'une passe de dessin spΓ©cifique au DXF, QET rΓ©utilise exactement le mΓͺme code paint() que chaque Γ©lΓ©ment et chaque forme possΓ¨de dΓ©jΓ  pour le rendu Γ  l'Γ©cran, en PDF ou en PNG. Un QPaintEngine sur mesure (DxfPaintEngine) se place derriΓ¨re un QPainter, intercepte le petit ensemble d'appels de dessin que ces mΓ©thodes paint() font rΓ©ellement, et traduit chacun en une entitΓ© DXF au lieu de pixels. C'est un choix de conception dΓ©libΓ©rΓ© : le code de rendu d'un objet est Β« dΓ©jΓ  correct Β» pour tous les autres exports, l'export DXF ne peut donc pas diverger de ce que vous voyez Γ  l'Γ©cran β€” il exΓ©cute les mΓͺmes appels, simplement enregistrΓ©s autrement.

Ce que cela coΓ»te β€” de vraies limites de fidΓ©litΓ©

Le dialecte DXF ciblΓ© (AC1006) et l'ensemble volontairement restreint d'appels traduits font que certaines choses ne passent pas :

Appel de dessin QET RΓ©sultat DXF
Lignes LINE
Rectangles contour LWPOLYLINE β€” aucun remplissage, mΓͺme si le rectangle est rempli Γ  l'Γ©cran (ce dialecte DXF n'a pas de primitive de rectangle rempli)
Ellipses/cercles CIRCLE ou un arc Γ  balayage complet
Arcs une suite de cordes LINE droites, pas une vΓ©ritable entitΓ© d'arc DXF
Polygones LWPOLYLINE
Texte TEXT
Chemins remplis contour seul, comme les rectangles β€” pas de HATCH
Images / pixmaps non exportΓ©es. Le DXF n'a pas d'entitΓ© d'image matricielle dans ce dialecte ; un rectangle de substitution est dessinΓ© Γ  la position, taille et rotation de l'image, la mise en page est donc prΓ©servΓ©e mais pas l'image elle-mΓͺme

Ce qui sort de cette liste (dΓ©gradΓ©s et similaires) n'est pas silencieusement abandonnΓ© β€” un avertissement est journalisΓ©, selon le principe qu'un appelant doit savoir immΓ©diatement que quelque chose n'Γ©tait pas exportable plutΓ΄t que d'obtenir un fichier DXF amputΓ© sans le savoir.

Si votre dessin repose sur des formes remplies, des hachures ou des images intΓ©grΓ©es survivant dans le DXF, ce ne sera pas le cas β€” prΓ©voyez plutΓ΄t des contours et du texte.


2. Importer un DXF dans un Γ©lΓ©ment

C'est un outil de crΓ©ation de symbole, situΓ© dans l'Γ©diteur d'Γ©lΓ©ment (Fichier β†’ Importer un fichier DXF), pas dans l'Γ©diteur de folio/schΓ©ma. Il lit la gΓ©omΓ©trie d'un .dxf et l'ajoute comme primitives de dessin Γ  l'Γ©lΓ©ment actuellement ouvert β€” une faΓ§on de calquer ou de rΓ©utiliser un tracΓ© CAO en dessinant un nouveau symbole, pas un moyen d'introduire un schΓ©ma DXF dans un projet.

Cela nΓ©cessite un programme sΓ©parΓ©

Contrairement Γ  l'export, l'import n'est pas intΓ©grΓ© Γ  QET. Il appelle dxf2elmt, un outil console tiers (Vadoola/dxf2elmt) que QET recherche Γ  cΓ΄tΓ© de lui-mΓͺme (<dossier de donnΓ©es>/binary/dxf2elmt, ou .exe sous Windows). S'il est introuvable, QET affiche un dialogue avec le lien de tΓ©lΓ©chargement et le dossier oΓΉ le dΓ©zipper, plutΓ΄t que d'Γ©chouer silencieusement β€” le mΓͺme principe que qet_tb_generator pour la crΓ©ation de borniers (voir Automatiser QElectroTech).

QET le lance sous la forme dxf2elmt <fichier> -v, lit sa sortie standard comme le XML .elmt rΓ©sultant, et l'empile sur la pile d'annulation de l'Γ©diteur d'Γ©lΓ©ment comme une seule opΓ©ration. Sur un DXF volumineux, un dialogue d'avertissement prΓ©vient que l'import peut prendre du temps avant de dΓ©marrer.

dxf2elmt étant un projet séparé, sa propre interprétation des entités DXF — ce qui correspond à quoi, et ses propres limites — relève de ce projet, pas de QET.


3. Ce que ni l'un ni l'autre n'est

  • Pas un moyen de placer un dessin DXF sur un folio tel quel. L'import n'alimente que l'Γ©diteur d'Γ©lΓ©ment.
  • Pas garanti pour l'aller-retour. Les limites de l'export β€” contours seuls, pas d'images (Β§1) β€” font qu'un .dxf Γ©crit par QET n'est pas une source fidΓ¨le Γ  rΓ©importer, indΓ©pendamment mΓͺme du fait que l'import et l'export utilisent des codes entiΓ¨rement diffΓ©rents.
  • Pas un chemin d'Γ©change CAO gΓ©nΓ©ral, au sens de la prΓ©servation des calques, des blocs ou des mΓ©tadonnΓ©es DXF au-delΓ  de la gΓ©omΓ©trie brute : les deux sens travaillent au niveau des primitives de dessin individuelles.

Voir aussi : Automatiser QElectroTech Β· Lier des Γ©lΓ©ments

Getting Started

Home

🌐 Languages β€” English Β· FranΓ§ais Β· Deutsch

Downloads

Windows without admin rights β€” the portable archive, no installer

Quick Start Guide

User Manual

FAQ

Tips & Tricks

Guides

Conductors β€” wire properties, what feeds which export, cables, and hops where wires cross

Wires per terminal β€” limit the wires on a terminal, chain wiring instead of stars

Printing and exporting β€” paper, PDF, images, and what each path does differently

Linking elements β€” master, slave, terminal

PLC modules β€” I/O tables and linking a wire to a specific point

Using the element editor β€” drawing tools, saving, checks

Grid size and element size β€” why symbols aren't all the same scale, and scaling one without leaving the grid

Preferences reference β€” what each settings page does

Saving and loading settings β€” your whole setup in one file, to copy or keep

Keyboard-only control β€” mouseless QET, and what still needs a mouse

Mouse modifiers β€” what Shift, Ctrl and Alt change while you drag

3D mouse β€” SpaceMouse pan, zoom and buttons

Aligning items β€” snap symbols back to the grid, or line them up

Pictures on a sheet β€” labels, crop, transparency, what they cost in the file

Arcs and curved wires β€” the Arc tool, pulling an arc in or out, rounding a corner with a fillet, dashed arcs for lighting layouts

Grouping items β€” select, move and copy several items as one

Finding your place on a sheet β€” go to a cell like B13 or 4-B7, keep the headers in sight, show the cell limits, zoom and pan

Showing and hiding kinds of items β€” hide texts, wire numbers, shapes, pictures, tables or cross-references on every sheet

Drawing faster β€” place without dragging, the S shortcut bar, command search, gestures

Customising QElectroTech β€” keys, toolbar size and contents, the gesture ring (partly pending)

Managing collections β€” folders, writability, building your own shortlist

Templates β€” reusable multi-element blocks, placed by double-click or drag

Search & Replace β€” bulk property changes

Building a nomenclature query β€” the BOM/summary table builder

Linking wires across pages β€” sheet reports

Variables & formulas β€” %f, %{label}, sequences

Auto-numbering β€” schemes, sequences, freezing

Terminal strips β€” strips, levels, bridges

Title block templates β€” the .titleblock format

Importing EPLAN parts (.edz) β€” EPLAN Data Portal

DXF import & export β€” two unrelated features, one format; command-line export and layers

The project database β€” the in-memory SQLite cache

File formats
Elements XML
Project XML
Development

Building from Source

Contributing Code

Automating QET β€” CLI, XML formats, external tools

CLI Reference β€” command line usage

JavaScript Scripting β€” --run, geometry editing, undo

MCP server β€” let an AI assistant read, verify and edit projects

Connecting an AI assistant β€” setup for Claude, Copilot, Gemini, Codex, Cursor, LM Studio

Script buttons β€” stored scripts with an icon, by hand or by an assistant

Live mode β€” an assistant working in the open project while you watch

Macro recorder β€” record a task by hand, for an assistant to script

Development Roadmap

Vision β€” proposal, under discussion

Developer Tools

About

Features

History

Community

License

Contributing to this Wiki

Clone this wiki locally