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

Schriftfeldvorlagen

Das Schriftfeld ist das umrahmte Feld mit den Zeichnungsangaben in der Ecke eines Folios. Sein Aufbau steckt nicht fest im Programm — er ist eine Vorlage, eine .titleblock-Datei, die Sie ändern oder selbst schreiben können.

QElectroTech liefert zehn Vorlagen mit und bringt einen eigenen Editor dafür mit.

Quellen: sources/titleblocktemplate.cpp, sources/titleblockcell.h und sources/titleblock/ für den Editor.


1. Eine Vorlage ist ein Raster

Eine Vorlage ist ein Raster aus Zellen. Es gibt drei Zelltypen:

Typ Zeigt
Feld eine Beschriftung und einen Wert, beide dürfen Variablen enthalten
Logo ein in der Vorlagendatei gespeichertes Bild
Leer nichts — die Zelle hält den Platz frei

Zellen können benachbarte Zeilen und Spalten überspannen; eine breite Titelzelle oben über einem Stapel kleiner Zellen ist nichts anderes als das.

Spaltenbreiten haben drei Naturen

Das ist der Teil des Formats, den man verstehen sollte, denn er lässt eine Vorlage zu jedem Papierformat passen. Das Attribut cols des Rasters ist eine Liste von Längen, jede mit ihrem Präfix:

Geschrieben Bedeutet
120px; absolut — immer 120 Pixel
t22%; 22 % der gesamten verfügbaren Breite
r100%; 100 % des Rests, nachdem absolute und gesamtbezogene Spalten abgezogen sind

cols="t22%;r100%;t22%;" — die mitgelieferte Vorgabe — heißt also: eine Spalte mit 22 % der Breite, dann eine, die alles Übrige aufnimmt, dann wieder 22 %. Die mittlere Spalte dehnt sich, die äußeren behalten ihre Proportion, unabhängig von der Breite des Folios.

Zeilen sind stets absolut, als Pixelhöhen angegeben: rows="25;25;". Eine relative Zeilenhöhe gibt es nicht.


2. Beschriftungen, Werte und Übersetzungen

Eine Feldzelle enthält zwei Texte, beide übersetzbar:

<field row="0" col="0" name="author" align="left" valign="center"
       displaylabel="true" hadjust="true">
    <value>
        <translation lang="en">%author</translation>
    </value>
    <label>
        <translation lang="en">Author</translation>
        <translation lang="fr">Auteur</translation>
        <translation lang="de">Autor</translation>
    </label>
</field>
  • Die Beschriftung ist die feste Aufschrift — Autor — und wird üblicherweise in alle von der Vorlage unterstützten Sprachen übersetzt.
  • Der Wert ist das, was sich je Folio ändert, und enthält gewöhnlich eine Variable. Meist genügt ein einziger Eintrag, da %author in jeder Sprache gleich ist.
  • displaylabel entscheidet, ob die Aufschrift überhaupt gezeichnet wird. Eine große Titelzelle setzt es meist auf false.
  • name bezeichnet die Zelle innerhalb der Vorlage. Er wird nicht gezeichnet.
  • hadjust verkleinert die Schrift, wenn der Text nicht passt, statt ihn überlaufen zu lassen.

3. Variablen

Schriftfeldzellen haben ihre eigene Ersetzung, und sie ist großzügiger als überall sonst in QET: Jeder Schlüssel im Kontext des Folios wird ersetzt, in beiden Formen. %{author} und %author wirken gleichermaßen.

Standardschlüssel sind die Felder des Folios: title, author, filename, folio, plant, locmach, indexrev, date, display_folio. Projekteigenschaften und eigene Foliofelder werden ebenfalls ersetzt — so kann eine Vorlage ein Feld tragen, von dem QET nichts weiß.

Zwei Einzelheiten:

  • Schlüssel werden vom längsten zum kürzesten ersetzt, mit Absicht, damit ein Schlüssel namens plant nicht den Anfang von %plantcode auffrisst.
  • Nur die geschweifte Form %{name} lässt sich auffinden: Der Editor baut seine Liste der verwendeten Variablen durch Suche nach %{…}; ein nacktes %name wird zwar gezeichnet, kann aber von nichts aufgezählt werden. Bevorzugen Sie die geschweifte Form in Vorlagen.

Vollständige Referenz: Variablen und Formeln.


4. Logos

Logos werden in der Vorlagendatei gespeichert; eine Vorlage ist damit in sich geschlossen und lässt sich als eine Datei weitergeben.

Das Tag <logo> steht für zwei verschiedene Dinge — gut zu wissen, bevor man eine Datei von Hand bearbeitet:

<logos>
    <!-- das gespeicherte Bild selbst -->
    <logo storage="xml" type="svg" name="qelectrotech.svg">
        <svg …>…</svg>
    </logo>
</logos>
<grid cols="…" rows="…">
    <!-- eine Zelle, die eines anzeigt -->
    <logo row="0" col="0" rowspan="1" name="" resource="qelectrotech.svg"/>
</grid>

In <logos> ist es das Bild, in <grid> eine Zelle, die ein Bild über resource bezeichnet.

Zwei Speicherformen:

storage Für Wie
xml nur SVG der <svg>-Baum wird direkt als XML eingebettet
base64 jedes Rasterbild (und SVG, wenn man darauf besteht) die Rohbytes, base64-kodiert, als Text

Rasterbilder können nur als base64 gespeichert werden — QET erzwingt das, gleich was man angibt. SVG kann beides, und xml ist die vernünftige Wahl: Die Datei bleibt vergleichbar und das Logo skalierbar.

Fügt man ein Logo über den Editor hinzu, versucht QET zuerst SVG und fällt dann auf Raster zurück; die Speicherform wird also für Sie gewählt.

Bekannter Fehler. Ein <logo>, dessen Attribut storage weder xml noch base64 ist, verliert beim Speichern seine Bilddaten: Das Element wird mit seinen Attributen und ohne Inhalt geschrieben, stillschweigend. Der Code enthält den Rückfall, der das verhindern würde, benutzt ihn aber nicht. Nur von Hand geschriebene oder erzeugte Dateien können darauf laufen — keine der mitgelieferten Vorlagen. Bleiben Sie bei den beiden gültigen Werten.


5. Wo Vorlagen liegen

Vier Sammlungen, in QETs eigenem Vokabular:

Sammlung Ort Für
Gemeinsam titleblocks/ neben dem Programm die mit QET gelieferten Vorlagen
Firma <Datenverzeichnis>/titleblocks-company/ gemeinsame Vorlagen einer Organisation
Benutzer <Datenverzeichnis>/titleblocks/ Ihre eigenen
Eingebettet in der .qet-Datei Vorlagen, die ein Projekt mitführt

Die eingebettete zählt beim Weitergeben: Ein Projekt, das eine von Ihnen geschriebene Vorlage nutzt, führt eine Kopie mit und wird daher auch auf einem Rechner richtig dargestellt, der Ihre Vorlage nie gesehen hat.


6. Das Format auf einen Blick

<titleblocktemplate name="default">
    <information></information>
    <logos/>
    <grid cols="t22%;r100%;t22%;" rows="25;25;">
        <field row="0" col="0" name="author" align="left" valign="center"
               displaylabel="true" hadjust="true">
            <value><translation lang="en">%author</translation></value>
            <label><translation lang="de">Autor</translation></label>
        </field>
        …
    </grid>
</titleblocktemplate>
Element Enthält
<information> freier Text über die Vorlage — Autor, Zweck
<logos> die gespeicherten Bilder
<grid> cols, rows und die Zellen
<field> eine Feldzelle
<logo> (im Raster) eine Logozelle
<empty> eine leere Zelle

Der Tagname einer Zelle ist ihr Typ: field, logo oder empty. Gemeinsame Attribute sind row, col, rowspan, colspan und name. Ein field ergänzt align (left/center/right), valign, displaylabel, hadjust und fontsize — Letzteres nur, wenn eine Größe gesetzt wurde; ein fehlendes fontsize heißt also „Vorgabe“. Eine logo-Zelle ergänzt resource.


7. Praktische Hinweise

  • Entwerfen Sie für die Dehnung, nicht für eine feste Breite. Geben Sie den Zellen, die ihre Proportion halten müssen, eine t…%-Breite und lassen Sie eine Spalte r100% nehmen. Eine nur aus absoluten Breiten gebaute Vorlage sieht auf einem anderen Papierformat falsch aus.
  • Übersetzen Sie Beschriftungen, nicht Werte. Ein Wert ist meist eine Variable und in jeder Sprache gleich.
  • Nutzen Sie %{geschweifte} Variablen, damit der Editor sie auflisten kann.
  • Halten Sie eine Vorlage in sich geschlossen. Logos leben in der Datei; verlassen Sie sich nicht auf einen externen Pfad.
  • Ein eigenes Foliofeld genügt für eine zusätzliche Zeile. Sie müssen QET nicht ändern, um projektspezifische Angaben zu zeigen: Fügen Sie das Feld dem Folio hinzu und verweisen Sie mit %{meinfeld} darauf.

Siehe auch: Variablen und Formeln · Automatische Nummerierung · Project XML

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

Generic devices — a quick box symbol with terminals on any side, made by a wizard (pending)

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