# Variablensystem

In Dialogboxen werden Werte fest eingegeben. Oft ist es aber nötig den Wert 'von außen' ändern zu können oder abhängig von anderen, Werte zu formulieren. Dazu ist ein System von Variablen nötig. Anstelle des Wertes für z.B. eine Querschnittshöhe eines Bauteiles wird die Variable eingetragen. An anderer Stelle, z.B. in den Vorgabewerten eines Bauwerkes, wird dieser Variable ein Wert zugewiesen. Über die Variable wird der konkrete Wert nun vom Vorgabewert auf die Querschnittshöhe übertragen, ohne dass im Dialog die Querschnittshöhe editiert werden muss. Andere Variablen werden bereits vom System zur Verfügung gestellt und belegt, z.B. die Dicke einer Lage der Wand. Zudem lassen sich Variablen auch in Formeln verrechnen.

* Das Variablensystem wird gleichermaßen für Vorgabewerte, Punktsymbole, HRB und Kombielemente eingesetzt.
* In den jeweiligen Editoren werden die Eigenschaften der Variablen in der **Variablendefinition** festgelegt. Beim Abfragen der Vorgabewerte, Einfügen eines Punktsymboles oder Kombielementes werden die definierten Variablen angezeigt und ihre Werte können verändert werden. Dieser Dialog ist die **Variablenabfrage**.

### Anwendervariablen

* Die vom Anwender definierten Variablen werden auch **Anwendervariablen** genannt. Im Gegensatz dazu sind die **Systemvariablen** im System festgelegt und können nicht geändert werden.
* Die Anwendervariablen können frei definiert werden.

> - Sie müssen lediglich mit 'V' beginnen, damit es keine Überschneidungen mit Systemvariablen gibt. Dadurch sind die Variablen einfacher zu handhaben und zu erkennen. Beispiel 'VKT' als Variable für die Kerventiefe.
> - Im Dateinamen dürfen nur die Zahlen 0 bis 9, die Buchstaben und der Unterstrich verwendet werden. Die Verwendung von Leerzeichen, Operanden (+, -, \*, /), Satzzeichen, Klammern oder sonstigen Sonderzeichen ist nicht zulässig.
> - Groß- und Kleinschreibung wird unterschieden; **Vab** ist also eine andere Variable wie **VAB**. Es wird jedoch davon abgeraten Variablen auf diese Art zu unterscheiden.

* Die Variablen können gruppiert werden. Liegt in der Variablenabfrage mehr als eine Variablengruppe vor, so wird für jede Variablengruppe ein Unterdialog angeboten. Dieser wird über einen Button mit dem Gruppennamen aufgerufen. Für jede Variablengruppe wird dieser Button automatisch oberhalb der Variablen erzeugt.
* Die Variablen können über zusätzliche Beschreibungen und Hilfsbilder dokumentiert und erklärt werden. Diese erscheinen sowohl bei der Abfrage als auch beim Einfügen der Variablen in Formeln.
* Die Variablen werden über Variablensätze mit dem Standardverfahren verwaltet. Ein Variablensatz besteht aus den Definitionen von einer oder mehrerer Variablen. Ein Variablensatz kann gespeichert und woanders wieder verwendet werden. Auch die Weitergabe über Datenaustausch und Email ist möglich. Beim Einlesen von Variablensätzen können wahlweise alle bestehenden Variablen ersetzt oder nur neue ergänzt werden.

### Dietrich's Standardvariablen

Von Dietrich's wird eine Fülle von Einstellungen mit geliefert die bereits auf Anwendervariablen basieren. Diese Anwendervariablen sind ein von Dietrich's gelieferter Standard, also die Dietrich's Standardvariablen. Sie sind wie alle Anwendervariablen frei editierbar, können also nicht in irgendeiner Art und Weise gesperrt oder geschützt werden. Um Konflikte und Überschreibungen zu vermeiden, sollten folgende Regeln eingehalten werden:

1\) Dietrich's Standardvariablen beginnen immer mit 'V\_', also einem 'V' und einem Unterstrich. Ihre Anwendervariablen sollten also nie mit 'V\_' beginnen.

2\) Sie können und sollen Dietrich's Standardvariablen auch in Ihren Abfragen und Einstellungen verwenden. Dabei sollte der Sinn der Variable aber nie geändert werden.

#### Dietrich's Standardvorgabewerte

Wir liefern eine umfangreiche und schlüssige Sammlung von Vorgabewerten und darauf basierenden Einstellungen für Dach, Wand, Decke, Stabwerk und Werkzeuge mit. Die dort verwendeten Vorgabewerte nennen wir 'Dietrichs Standardvorgabewerte'; sie basieren auf den 'Dietrich's Standardvariablen'.

Damit diese Einstellungen auch immer sinnvoll eingesetzt werden können, müssen die 'Dietrichs Standardvorgabewerte' geladen sein. Sie sollten also in den Vorgabewerten geladen werden, damit sie als Anwendervariablen abgefragt und verwendet werden können. Will man aber nicht so viele oder andere Anwendervariablen in der Abfrage haben, so enthalten diese eben nicht alle Dietrichs Standardvorgabewerte. Damit nun dennoch die Einstellungen sinnvolle Werte in den Formeln haben, werden die übrigen Dietrichs Vorgabewerte automatisch nachgeladen. Im Formeleditor findet man diese dann im Baumelement im Zweig 'Dietrichs Standardvorgabewerte'; die Standardvorgabewerte, die in den Vorgabewerten geladen wurden, finden sich im Zweig 'Anwendervariablen'.

### Systemvariablen

Systemvariablen enthalten bestimmte Werte, die vom System zur Verfügung gestellt werden. Sie sind von den aktuell verfügbaren Objekten abhängig. Z.B. gibt die Variable Lp0 die Lagendicke der Lage 0 der aktuellen Wand an.

Die verfügbaren Systemvariablen werden im Formeleditor angeboten. Dort sind die Systemvariablen über Beschreibungen und Hilfsbilder dokumentiert.

### Hierarchie der Variablen

* Das Variablensystem ist grundsätzlich durchgängig über alle Ebenen. Eine Variable, die im Projekt definiert wurde, kann auch im Bauwerk aber auch in Punktsymbolen, Kombielementen oder HRB-Dateien verwendet werden.
* Variablen als Vorgabewerte werden von einer zur nächsten Stufe weitergereicht, wobei die letzte Belegung gilt:

> - Wurde z.B. in einem Projekt als Pfostenbreite 0.06 definiert, so kann aus jedem Bauwerk in diesem Projekt darauf zugegriffen werden und die Pfosten erhalten eine Breite von 0.06 m. Wird nun in einem der Bauwerke dieselbe Variable erneut eingetragen und eine Pfostenbreite von 0.08 vergeben, so erhalten die Pfosten in diesem Bauwerk eine Breite von 0.08 m während sie in den anderen Bauwerken weiterhin 0.06 m erhalten.
> - Eine HRB-Belegung in diesem Bauwerk kann ebenfalls diese Variable verwenden und die Pfostenbreite von 0.08 übernehmen. Ist die Variable in der HRB-Datei aber mit 0.10 belegt, so wird in der HRB-Belegung eine Pfostenbreite von 0.10 verwendet.

* Die Kennung 'extern' kehrt diese Ordnung um.

> - Z.B. wird in einem Bauwerk über eine Variable die Pfostenbreite mit 0.06 definiert; diese Variable erhält die Kennung extern. Nun wird der Pfosten in diesem Bauwerk die Breite 0.06 m erhalten. Wird aber im Projekt mit derselben Variable die Pfostenbreite als 0.12 definiert, so werden die Pfosten im Bauwerk dann mit einer Pfostenbreite von 0.12 erzeugt. Der von extern, in diesem Falle dem Projekt, übernommene Wert der Variable hat die größere Priorität.
> - Eine HRB-Belegung die diese Variable mit der Kennung 'extern' verwendet wird nun ebenfalls nicht den Wert aus der HRB-Datei verwenden, sondern den aus dem Bauwerk oder Projekt.
> - Die Kennung extern dient auch dazu Standardwerte einer Variablen festzulegen. Die Variable bekommt den Standardwert, wenn von extern nicht ein anderer Wert vorgegeben wird. Damit ist z.B. in einer HRB-Datei sichergestellt, dass die Variable einen verwendbaren Wert hat, auch wenn die Variable im Bauwerk oder Projekt nicht definiert wurde.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dietrichs.com/das-variablensystem/variablen/variablensystem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
