Spreadsheet Workbench/de

Einführung
Der Arbeitsbereich Tabellenkalkulation ermöglicht die Erstellung und Bearbeitung von Tabellen, Daten aus der Tabellenkalkulation als Parameter in einem Modell zu verwenden, die Tabellenkalkulation mit aus einem Modell abgerufenen Daten zu füllen, Berechnungen durchzuführen und die Daten in andere Tabellenkalkulationsprogramme wie LibreOffice oder Microsoft Excel zu exportieren.



Werkzeuge

 * Spreadsheet_CreateSheet.svg Blatt erstellen: Erstelle ein neues Arbeitsblatt.


 * Spreadsheet_Import.svg Import: eine Komma-getrennte Werte Datei (engl.: comma-separated values) (CSV) in ein Tabellenblatt importieren.
 * Spreadsheet_Export.svg Export: eine Komma-getrennte Werte Datei (engl.: comma-separated values) (CSV) aus einem Tabellenblatt exportieren.


 * Spreadsheet_MergeCells.svg Zellen zusammenführen: ausgewählte Zellen zusammenführen.
 * Spreadsheet_SplitCell.svg Zelle teilen: zuvor zusammengeführte Zellen teilen.


 * Spreadsheet_AlignLeft.svg Linksbündig ausrichten: den Inhalt der gewählten Zelle auf links ausrichten.
 * Spreadsheet_AlignCenter.svg Mittig ausrichten: den Inhalt der gewählten Zelle auf mittig horizontal ausrichten.
 * Spreadsheet_AlignRight.svg Rechtsbündig ausrichten: den Inhalt der gewählten Zelle auf rechts ausrichten.
 * Spreadsheet_AlignTop.svg Nach oben ausrichten: den Inhalt der gewählten Zelle oben ausrichten.
 * Spreadsheet_AlignVCenter.svg Vertikal ausrichten center: den Inhalt der gewählten Zelle mittig vertikal ausrichten.
 * Spreadsheet_AlignBottom.svg Nach unten ausrichten: den Inhalt der gewählten Zelle unten ausrichten.


 * Spreadsheet_StyleBold.svg Stil Fett: den Inhalt der gewählten Zelle auf fett stellen.
 * Spreadsheet_StyleItalic.svg Stil Kursiv: den Inhalt der gewählten Zelle auf kursiv stellen.
 * Spreadsheet_StyleUnderline.svg Stil Unterstrichen: den Inhalt der gewählten Zelle auf unterstrichen stellen.


 * Spreadsheet_SetAlias.svg Setze Alias: die ausgewählte Zelle mit einem Alias benennen.


 * und bestimmen die Vorder- und den Hintergrundfarbe der gewählten Zellen.

Zelleigenschaften
Die Eigenschaften der Zellen der Kalkulationstabelle können mit einem Rechtsklick auf einer Zelle geändert werden. Der folgende Dialog klappt auf:



Wie in den Reitern angezeigt können die folgenden Eigenschaften geändert werden:

Während mancher die Zeilen- und Spaltennummer einer Zelle in den Ausdrücken verwendet, um sich auf diese zu beziehen, stellt die Verwendung von Aliasnamen die beste Methode dazu dar. Wenn z.B. der Wert in der Zelle B1 die Länge des Objektes enthält, erlaubt die Verwendung des Aliasnamens Objektlaenge den Bezug auf die Zelle im Ausdruck Spreadsheet.Objektlaenge, anstatt des Ausdruckes Spreadsheet.B1. Allerdings ist beides möglich, jedoch weiß man mit dem Alias, welcher Wert sich darin befindet.
 * Farbe: Text- und Hintergrundfarbe
 * Ausrichtung: horizontale und vertikale Textausrichtung
 * Stil: Textstil: fett, kursiv, unterstrichen
 * Einheiten:  Anzeigeeinheiten für diese Zelle. Den Abschnitt Einheiten unten beachten.
 * Alias:  Einen Alias Namen für diese Zelle festlegen. Der Alias-Name kann in den Zellformeln und auch in allgemeinen FreeCAD Ausdrücken verwendet werden.

Zellausdrücke
Eine Tabellenzelle kann beliebigen Text oder einen Ausdruck enthalten. Technisch gesehen müssen Ausdrücke mit einem Gleichheitszeichen '=' beginnen. Die Tabellenkalkulation versucht jedoch, intelligent zu sein. Wenn etwas eingegeben wird, das wie ein Ausdruck ohne das führende "="-Zeichen aussieht, wird automatisch das Zeichen hinzugefügt.

Zellausdrücke können Zahlen, Funktionen, Verweise auf andere Zellen und Verweise auf Eigenschaften des Modells enthalten (Siehe aber Aktuelle Begrenzungen unten). Zellen werden durch ihre Spalte (GROSSBUCHSTABEN) und Zeile (Zahl) referenziert. Eine Zelle kann auch durch ihren Aliasnamen (siehe unten) referenziert werden. Beispiel: B4 + A6

Anmerkung: Zellausdrücke werden von FreeCAD als Programmiercode behandelt. Wenn Sie also den Inhalt einer Zelle bearbeiten, sehen Sie, dass der Inhalt nicht Ihren Anzeigeeinstellungen folgt:
 * das Dezimaltrennzeichen ist immer ein Punkt
 * die Anzahl der angezeigten Dezimalstellen kann von Ihren Vorzugseinstellungs abweichen

Referenzen zu Objekten im Modell werden unter Verweise auf CAD-Daten unten erklärt. Die Verwendung von Tabellenkalkulationszellenwerten zur Definition von Modelleigenschaften wird unter Tabellenkalkulationsdaten in Ausdrücken weiter unten erläutert. Weitere Besonderheiten zur Bildung von Ausdrücken findest du unter Ausdrücke.

Wechselwirkung zwischen Kalkulationstabellen und dem CAD Modell
Daten in den Zellen einer Kalkulationstabelle können in CAD Modellparameterausdrücken verwendet werden. So kann eine Tabellenkalkulationstabelle als Quelle für Parameterwerte verwendet werden, die im gesamten Modell verwendet werden, die Werte effektiv an einem Ort zu sammeln. Wenn Werte in der Kalkulationstabelle geändert werden, werden sie im ganzen Modell übertragen.

In ähnlicher Weise können Eigenschaften von CAD Modellobjekten in Ausdrücken in Kalkulationstabellenzellen verwendet werden. Dies ermöglicht die Verwendung von Objekteigenschaften wie Volumen oder Fläche in der Kalkulationstabelle. Wenn der Name eines Objekts im CAD Modell geändert wird, wird die Änderung automatisch auf alle Referenzen in Kalkulationstabellenausdrücken mit dem geänderten Namen übertragen.

In einem Dokument kann mehr als eine Kalkulationstabelle verwendet werden; Kalkulationstabellen können einen vom Benutzer zugewiesenen Namen erhalten (umbenennen) wie jedes andere Objekt.

FreeCAD will automatically assign a unique name to a spreadsheet when it is created. These names follow the pattern, , and so on. The name can not be changed manually, and it is not visible in the properties of the spreadsheet. It can be used to refer to the spreadsheet in an Expression (see Spreadsheet data in expressions below.)

The label of a spreadsheet is automatically set to the name of the spreadsheet upon creation. Unlike the name, the label can be changed, for example in the properties panel or using the context menu action Rename. Note that the label of a spreadsheet within a document has to be unique; if you try to change the label to a label already used by another spreadsheet, FreeCAD will not accept the new label.

FreeCAD prüft zyklische Abhängigkeiten. Siehe Aktuelle Begrenzungen.

Referenzen auf CAD-Daten
Wie oben angegeben, kann man in Kalkulationstabellenausdrücken auf Daten aus dem CAD Modell verweisen.

Berechnete Ausdrücke in Kalkulationstabellenzellen beginnen mit einem Gleichheitszeichen ('='). DerKalkulationstabelleneingabemechanismus versucht jedoch, intelligent zu sein. Ein Ausdruck kann ohne das führende '=' eingegeben werden; eingegeben werden, wenn die eingegebene Zeichenfolge ein gültiger Ausdruck ist, ein '=' wird automatisch hinzugefügt, wenn das abschließende eingegeben wird. Wenn die eingegebene Zeichenkette kein gültiger Ausdruck ist (oft das Ergebnis der Eingabe von etwas mit dem falschen Fall, z.B. "MyCube.length" statt "MyCube.Length"), wird kein führendes '=' hinzugefügt und es wird als einfache Zeichenkette behandelt.

Anmerkung: Das obige Verhalten (automatisches Einfügen von '=') hat einige unangenehme Auswirkungen:
 * Wenn du eine Spalte mit Namen, die dem alias-names in einer angrenzenden Spalte mit Werten entspricht, beibehalten wollen, musst du den Namen in der Bezeichnungsspalte vorher eingeben und der Zelle in der Wertspalte ihren Alias Namen geben. Anderenfalls nimmt das Kalkulationstabellenblatt bei der Eingabe des Alias Namens in der Beschriftungsspalte an, dass es sich um einen Ausdruck handelt und ändert ihn in "="; und der angezeigte Text ist der Wert aus der Zelle .
 * Wenn du bei der Eingabe des Namens in der Beschriftungsspalte einen Fehler machst und diesen korrigieren möchtest, kannst du ihn nicht einfach in den Alias Namen ändern. Stattdessen musst du zuerst den Alias Namen in etwas anderes ändern, dann den Textnamen in der Beschriftungsspalte korrigieren und dann den Alias Namen in der Wertspalte wieder in seinen ursprünglichen Namen ändern.

Eine Möglichkeit, diese Probleme zu umgehen, besteht darin, Textbeschriftungen voranzustellen, die Alias Namen entsprechen, mit einer festen Zeichenfolge zu versehen, wodurch sie sich voneinander unterscheiden. Beachte, dass "_" nicht funktioniert, da es in "=" umgewandelt wird. Ein Leerzeichen, obwohl unsichtbar, wird jedoch funktionieren.

Die folgende Tabelle zeigt einige Beispiele unter der Annahme, dass das Modell über eine Funktion namens "MeinWürfel" verfügt:

Tabellendaten in Ausdrücken
In order to use spreadsheet data in other parts of FreeCAD, you will usually create an Expression that refers to the spreadsheet and the cell that contains the data you want to use. You can identify spreadsheets by name or by label, and you can identify the cells by position or by alias. Autocompletion is available for all forms of referencing.

The recommended way to refer to spreadsheet data is to use the spreadsheet label and cell alias name. For a more in-depth explanation of the pros and cons of the addressing modes, see the expanded section below.

Using the spreadsheet label has the advantage that it can be freely changed to describe the contents of the spreadsheet. It is also easier to identify the spreadsheet that is being used since the text in the expression matches the label shown in the model and property views. If you decide to change the label of a spreadsheet, existing references to the contents of the spreadsheet will be updated, so you won't break your expressions by renaming the spreadsheet. The internal name of the spreadsheet is not readily available anywhere except within the expression editor, so if you use the internal name and later decide to rename the spreadsheets, you might have a hard time tracing your expression data back to its source.

Be aware that when you create a new spreadsheet, the name and the label are the same, so it is easy to accidentally use the spreadsheet name instead of the label. A simple way to avoid this is to give the spreadsheet a meaningful name before starting to use it in expressions.

While you may use the row and column number in an expression to reference a cell, best practice is to give the cell an alias name and use that. See Cell Properties above on how to set the alias. For example, if the data in cell B1 contained the length parameter for an object, an alias name of would allow the value to be referred to as  instead of. Besides being much easier to read and understand, alias names are also much easier to change if you decide to adjust the structure of your spreadsheet. Using an alias also has the advantage that it is reasier to see which cells are used to control other parts of the document. Note that FreeCAD will automatically adjust the positional references in expressions if you insert or remove rows and columns in the spreadsheet, so even if you use row and column numbers in an expression, you can insert rows and columns without breaking the references to the surrounding cells.

Complex models and recomputes
Editing a spreadsheet will trigger a recompute of the 3D model, even if the changes do not affect the model. For a complex model a recompute can take a long time, and having to wait after every single edit is of course quite annoying.

There are three solutions to deal with this:
 * 1) Temporarily skip recomputes:
 * 2) * Right-click the document node in the Tree view.
 * 3) * Select the option from the context menu.
 * 4) * There is a big disadvantage to this solution. New values entered in the spreadsheet will not be displayed until the document is recomputed. Instead is shown.
 * 5) * You can either recompute manually, using the Std Refresh command, or disable when you are done editing.
 * 6) Use a macro to automatically skip recomputes while editing a spreadsheet:
 * 7) * Download and run skipSheet.FCMacro.
 * 8) * This solution saves a few steps compared to the first solution, but also has the mentioned disadvantage.
 * 9) Put the spreadsheet in a separate file:
 * 10) * You can reference spreadsheet data from an external file with this syntax:.
 * 11) * The advantage of having the spreadsheet in another file over switching off recomputes is that the spreadsheet itself does get recomputed.
 * 12) * The disadvantage is that the model won't automatically recompute after changes to the spreadsheet.
 * 13) * In the scenario where you first open the 'spreadsheet' file, change one or more values and then open the 'model' file, there won't be any indication that the model needs to be recomputed. But if both files are open the Std Refresh icon will update correctly for the 'model' file after changes to the 'spreadsheet' file.

Einheiten
Die Tabelle hat eine Konzept für Dimensionen (Einheiten), die mit Zellwerten verbunden sind. Eine Zahl ohne eine zugeordnete Einheit hat keine Dimension. Die Einheit sollte unmittelbar nach dem Zahlenwert ohne Zwischenraum eingegeben werden. Wenn einer Zahl eine Einheit zugeordnet ist, wird diese Einheit in allen Berechnungen verwendet. Zum Beispiel ergibt die Multiplikation von zwei Längen mit der Einheit mm eine Fläche mit der Einheit mm&sup2;.

Wenn eine Zelle einen Wert enthält, der eine Dimension repräsentiert, sollte sie mit der zugehörigen Einheit eingegeben werden. Während man in vielen einfachen Fällen auch mit einem dimensionslosen Wert auskommen könnte, sollte man trotzdem einen Wert mit der Einheit eingeben, wenn dieser eine Dimension darstellen soll.

Man kann die dargestellte Einheit einer Zelle im Eigenschaftsdialog Einheiten tab (sieh oben) ändern. Das ändert nicht den Wert in der Zelle, es konvertiert nur den existierenden Wert für die Anzeige. Der Wert für die Berechnung wird nicht geändert und das Ergebnis der Berechnung bleibt gleich. Zum Beispiel enthält eine Zelle den Wert "5.08cm". Er wird als "2in" angezeigt, wenn die Einheit auf der Registerkarte Einheiten in "in" geändert wird.

Eine Zahl ohne Einheit kann durch den Eigenschaftsdialog nicht in eine Zahl mit Einheit umgewandelt werden. Man kann eine Zeichenkette mit einer Einheitsbezeichnung eingeben, die dann auch angezeigt wird. Aber die Zelle enthält immer noch nur eine Zahl ohne Einheit. Um dies zu ändern, muss der Wert zusammen mit der Einheit erneut eingegeben werden.

Manchmal ist es notwendig, die Einheit von einer Zahl zu entfernen. Dies kann durch die Multiplikation einer 1 mit der reziproken Einheit erreicht werden.

Importieren und Exportieren
Tabellen können im CSV-Format importiert und exportiert werden. Dieses Format kann von den meisten anderen Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc gelesen und geschrieben werden. Wenn Dateien nach FreeCAD importiert werden, muss das Trennzeichen, welches die Spalten trennt, das TAB-Zeichen sein. Dies kann üblicherweise in den Tabellenkalkulationsprogrammen vor dem Export eingestellt werden. Der Import einer CSV-Datei ist über das Menü oder durch einen Klick auf das Symbol  möglich. Diese Import-Funktion öffnet keine Excel-Dateien oder andere Tabellenkalkulationsformate.

Tabellen im Excelformat "xlsx" können über das Menü importiert werden. Exceltabellen können auch durch den Menübefehl oder mit einem Klick auf das Symbol  geöffnet werden. In diesem Fall wird ein neues Dokument mit einer Tabelle erzeugt. Es werden die folgenden Eigenschaften unterstützt:


 * alle Funktionen, die auch in der FreeCAD Tabellenblatt verfügbar sind. Andere Funktionen führen nach dem Import zu einem Fehler in der entsprechenden Zelle.
 * Alias Namen für Zellen
 * Mehr als ein "Blatt" im Tabellenblatt. In diesem Fall wird für jede Excel-Tabelle eine FreeCAD Tabelle erstellt.

Andere Funktionalität wird nicht in die FreeCAD Tabellenblätter importiert. Der Excel-Import ist von FreeCAD.

Derzeitige Begrenzungen
FreeCAD prüft auf zyklische Abhängigkeiten. Nach dem Entwurf endet diese Prüfung auf der Ebene des Tabellenkalkulationsobjekts. Infolgedessen solltest du keine Tabellenkalkulation haben, die beides enthält Zellen, deren Werte zur Angabe von Parametern für das Modell verwendet werden, und Zellen, deren Werte die Ausgabe aus dem Modell verwenden. Du kannst z.B. keine Zellen haben, die die Länge, Breite und Höhe eines Objekts festlegen, und eine weitere Zelle, die das Gesamtvolumen der resultierenden Form referenziert. Diese Einschränkung kann durch zwei Tabellenkalkulationen überwunden werden: eine, die als Datenquelle für die Eingabeparameter des Modells dient und die andere verwendet für Berechnungen auf der Grundlage der resultierenden Geometriedaten.

Wenn Zellen kopiert werden, wird nur der Inhalt (Ausdruck/Wert) kopiert. Die oben beschriebenen Zelleigenschaften werden nicht kopiert.

Für frühere Versionen siehe Kalkulationstabellen Erbe