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

DXF-Import und -Export

β€žDXF" bedeutet in QET zwei unabhΓ€ngige Funktionen, die sich lediglich ein Dateiformat teilen:

Richtung Wo Wie
Export Folio β†’ .dxf Datei β†’ Export, neben PDF/PNG/SVG intern, eigener QET-Code
Import .dxf β†’ Elementgeometrie der Element-Editor, DXF-Datei importieren ruft ein separates Drittprogramm auf

Sie sind keine Umkehrung voneinander und teilen keinen Code. Wer β€žein DXF-Zeichnung als Folio importieren" sucht, findet das in keinem von beiden β€” siehe Β§3.

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


1. Ein Folio nach DXF exportieren

Datei β†’ Export, derselbe Dialog wie fΓΌr PDF/PNG/SVG, eine .dxf-Datei je Folio. Rahmen, Schriftfeld und jedes Objekt des Folios sind enthalten.

DafΓΌr gibt es kein Kommandozeilen-Verb. --export-pdf, --export-png und --export-svg existieren; der DXF-Export ist heute auf die OberflΓ€che beschrΓ€nkt.

Wie gerendert wird

Statt eines eigenen DXF-Zeichendurchlaufs nutzt QET genau denselben paint()-Code, den jedes Element und jede Form bereits fΓΌr die Darstellung auf dem Bildschirm, in PDF oder PNG besitzt. Eine eigens gebaute QPaintEngine (DxfPaintEngine) sitzt hinter einem QPainter, fΓ€ngt den kleinen Satz an Zeichenaufrufen ab, den diese paint()-Methoden tatsΓ€chlich tΓ€tigen, und ΓΌbersetzt jeden davon in eine DXF-EntitΓ€t statt in Pixel. Das ist eine bewusste Entwurfsentscheidung: Der Rendering-Code eines Objekts ist fΓΌr jeden anderen Export β€žbereits korrekt", der DXF-Export kann also nicht von dem abweichen, was auf dem Bildschirm zu sehen ist β€” er fΓΌhrt dieselben Aufrufe aus, nur anders protokolliert.

Was das kostet β€” echte Grenzen der Genauigkeit

Der angesteuerte DXF-Dialekt (AC1006) und die bewusst schmale Menge ΓΌbersetzter Aufrufe bedeuten, dass manches nicht ankommt:

QET-Zeichenaufruf DXF-Ergebnis
Linien LINE
Rechtecke LWPOLYLINE-Umriss β€” keine FΓΌllung, selbst wenn das Rechteck am Bildschirm gefΓΌllt ist (dieser DXF-Dialekt kennt keine Primitive fΓΌr gefΓΌllte Rechtecke)
Ellipsen/Kreise CIRCLE oder ein Vollkreisbogen
BΓΆgen eine Folge gerader LINE-Sehnen, keine echte DXF-BogenentitΓ€t
Vielecke LWPOLYLINE
Text TEXT
GefΓΌllte Pfade nur Umriss, wie bei Rechtecken β€” kein HATCH
Bilder / Pixmaps werden nicht exportiert. DXF kennt in diesem Dialekt keine Rasterbild-EntitΓ€t; stattdessen wird ein Platzhalterrechteck an Position, Grâße und Drehung des Bildes gezeichnet β€” das Layout bleibt erhalten, das Bild selbst aber nicht

Was außerhalb dieser Liste liegt (VerlΓ€ufe und Γ„hnliches) wird nicht stillschweigend verworfen β€” eine Warnung wird protokolliert, nach dem Grundsatz, dass ein Aufrufer sofort erfahren soll, dass etwas nicht exportierbar war, statt eine DXF-Datei zu erhalten, der still etwas fehlt.

Wer sich auf gefΓΌllte Formen, Schraffuren oder eingebettete Bilder im DXF verlΓ€sst, wird enttΓ€uscht β€” planen Sie mit Umrissen und Text.


2. Eine DXF-Datei in ein Element importieren

Das ist ein Werkzeug zur Symbolerstellung, zu finden im Element-Editor (Datei β†’ DXF-Datei importieren), nicht im Folio-/Schaltplan-Editor. Es liest Geometrie aus einer .dxf und fΓΌgt sie als Zeichenprimitive dem gerade geΓΆffneten Element hinzu β€” eine MΓΆglichkeit, CAD-Strichzeichnungen beim Entwurf eines neuen Symbols nachzuzeichnen oder weiterzuverwenden, kein Weg, einen DXF-Schaltplan in ein Projekt zu holen.

DafΓΌr braucht es ein separates Programm

Anders als der Export ist der Import nicht in QET eingebaut. Er ruft dxf2elmt auf, ein Drittanbieter-Konsolenwerkzeug (Vadoola/dxf2elmt), das QET neben sich selbst sucht (<Datenverzeichnis>/binary/dxf2elmt, unter Windows .exe). Wird es nicht gefunden, zeigt QET einen Dialog mit dem Download-Link und dem Ordner, in den es entpackt werden soll, statt still zu scheitern β€” dasselbe Muster wie bei qet_tb_generator fΓΌr die Klemmenleistenerstellung (siehe QElectroTech automatisieren).

QET startet es als dxf2elmt <Datei> -v, liest dessen Standardausgabe als das resultierende .elmt-XML und legt es als eine Operation auf den RückgÀngig-Stapel des Element-Editors. Bei einer großen DXF-Datei weist ein Warndialog darauf hin, dass der Import eine Weile dauern kann, bevor er beginnt.

Da dxf2elmt ein eigenstΓ€ndiges Projekt ist, liegt seine eigene Auslegung von DXF-EntitΓ€ten β€” was worauf abgebildet wird, und seine eigenen Grenzen β€” bei diesem Projekt, nicht bei QET.


3. Was keins von beiden ist

  • Kein Weg, eine DXF-Zeichnung unverΓ€ndert auf einem Folio zu platzieren. Der Import speist nur den Element-Editor.
  • Nicht rundreisesicher. Die Grenzen des Exports β€” nur Umrisse, keine Bilder (Β§1) β€” machen ein von QET geschriebenes .dxf zu keiner verlΓ€sslichen Quelle fΓΌr einen erneuten Import, unabhΓ€ngig davon, dass Import und Export ohnehin vΓΆllig unterschiedlichen Code verwenden.
  • Kein allgemeiner CAD-Austauschweg im Sinne des Erhalts von Ebenen, BlΓΆcken oder DXF-Metadaten ΓΌber die reine Geometrie hinaus β€” beide Richtungen arbeiten auf der Ebene einzelner Zeichenprimitive.

Siehe auch: QElectroTech automatisieren Β· Elemente verknΓΌpfen

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