Spreadsheet Workbench/de: Difference between revisions

From FreeCAD Documentation
(Created page with "Die statistischen Funktionen können mit einem oder mehreren Argumenten getrennt durch ein Komma oder ein Semikolon aufgerufen werden. Als Argumente können auch Bereiche (zwe...")
(Updating to match new version of source page)
(61 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
{{Version|0.15/de}}Der Arbeitsbereich Tabellenkalkulation ermöglicht die Erstellung und Bearbeitung von Tabellen, die Durchführen von Berechnungen und die Daten eines 3D-Models einzufügen. Die Daten der Tabelle können im CSV-Format exportiert werden zur Verwendung in Anwendungen wie LibreOffice oder Microsoft Excel.
{{Docnav
|[[Sketcher Workbench|Sketcher Workbench]]
|[[Start Workbench|Start Workbench]]
|IconL=Workbench_Sketcher.svg
|IconR=Workbench_Start.svg
}}


[[Image:Workbench_Spreadsheet.svg|thumb|128px|Spreadsheet workbench icon]]


<div class="mw-translate-fuzzy">
{{Version/de|0.15}}Der Arbeitsbereich Tabellenkalkulation ermöglicht die Erstellung und Bearbeitung von Tabellen, das Einfügen von Daten eines 3D-Models, die Durchführung von Berechnungen und das Exportieren der Daten zur Verwendung in anderer Software für Tabellenkalkulation, wie LibreOffice oder Microsoft Excel.
</div>

<div class="mw-translate-fuzzy">
[[File:Spreadsheet_screenshot.jpg]]
[[File:Spreadsheet_screenshot.jpg]]
</div>

<div class="mw-translate-fuzzy">
Der Arbeitsbereich Tabellenkalkulation ist verfügbar seit FreeCAD 0.15.
</div>

== Cell Expressions ==

A spreadsheet cell may contain arbitrary text or an expression.
Technically, expressions must start with an equals '=' sign.
However, the spreadsheet attempts to be intelligent;
if you enter what looks like an expression without the leading '=',
one will be added automatically.

Cell expressions may contain numbers, functions, references to other cells, and references to properties of the model
(But see [[#Current_Limitations|Current Limitations]] below).
Cells are referenced by their column (CAPITAL letter) and row (number).
A cell may also be referenced by its [[#alias_name|alias-name]] (below).
Example: B4 + A6


References to objects in the model are explained under [[#References_To_CAD-Data|References to CAD-Data]] below.
Using spreadsheet cell values to define model properties are explained under [[#Spreadsheet_Data_in_Expressions|Spreadsheet Data in Expressions]] below.
For more specifics on how expressions are formed, see [[Expressions|Expressions]].


== Unterstützte Funktionen ==
== Unterstützte Funktionen ==


Standard trigonometric and other common mathematical functions as well as statistical aggregation functions are supported (see [[Expressions|Expressions]]).


== Interaction between Spreadsheets and the CAD Model ==
Die folgenden Funktionen mit einem oder zwei Argumenten stehen zur Verfügung: abs, acos, asin, atan, atan2, cos, cosh, exp, log, log10, mod, pow, sin, sinh, sqrt, tan, tanh


Data in the cells of a spreadsheet may be used in CAD model parameter expressions.
Trigonometrische Funktionen verwenden Grad als Standardeinheit. Durch Hinzufügen von "''rad''" kann auch die Einheit Radiant verwendet werden.
Thus, a spreadsheet may be used as the source for parameter values used throughout a model,
effectively gathering the values in one place.
When values are changed in the spreadsheet, they are propagated throughout the model.


Similarly, properties from CAD model objects may be used in expressions in spreadsheet cells.
Die zusätzlichen Funktionen: ''ceil'', ''floor'', ''trunc'', und ''round'' stehen in FreeCAD seit {{Version|0.16/de}} zur Verfügung.
This allows use of object properties like volume or area in the spreadsheet.
If the name of an object in the CAD model is changed,
the change will automatically be propagated to any references in spreadsheet expressions using the name which was changed.


More than one spreadsheet may be used in a document;
Die folgenden statistischen Funktionen sind verfügbar: ''average'', ''count'', ''max'', ''min'', ''stddev'', ''sum''.
spreadsheets may be given a user-assigned name (rename) like any other object.


FreeCAD checks for cyclic dependencies. See [[Spreadsheet_Workbench#Current_Limitations|Current Limitations]].
Die statistischen Funktionen können mit einem oder mehreren Argumenten getrennt durch ein Komma oder ein Semikolon aufgerufen werden. Als Argumente können auch Bereiche (zwei Zellverweise getrennt durch einen Doppelpunkt) angegeben werden, z. B.: ''=average(B1:B8)''


<div class="mw-translate-fuzzy">
The constants ''pi'' and ''e'' are predefined.
== Eigenschaften der Zellen ==
</div>


Die Eigenschaften der Zellen der Tabelle können mit einem Rechtsklick geändert werden. Es öffnet sich der folgende Dialog:
The conditional statement works like this: ''= condition ? resultTrue : resultFalse''


[[File:SpreadsheetCellPropDialog.png]]
The condition is defined as an expression that evaluates to either 0 (for false) or non-zero for true. The following comparison operators are defined: ==, !=, >, <, >=, and <=.


<div class="mw-translate-fuzzy">
Formulas are written as follows: ''=A2+A3''
Er hat mehrere Reiter. Die folgenden Eigenschaften können geändert werden:
</div>


<div class="mw-translate-fuzzy">
Noteː Cell-references have to be written with capital letters.
* Textfarbe sowie Hintergrundfarbe
* horizontale und vertikale Textausrichtung
* Textstile: fett, kursiv, unterstrichen
* Die angezeigten Einheiten für diese Zelle. (Unbedingt den Abschnitt unten beachten.)
* Einen Alias-Namen für diese Zelle festlegen. Der Alias-Name kann in den Zellformeln und auch in den FreeCAD-Ausdrücken verwendet werden {{Version/de|0.16}}.
</div>


<div class="mw-translate-fuzzy">
== Reference To CAD-Data ==
== Referenzen auf CAD-Daten ==
</div>


<div class="mw-translate-fuzzy">
It is possible to use data from the construction in the spreadsheet.
Daten der CAD-Konstruktion können in dem Tabellenblatt verwendet werden.
The following table shows some examples assuming the model has a feature named "Cube" (note that this is the internal name of the feature, not the user assigned Label):
Die folgende Tabelle zeigt einige Beispiele. Es wird dabei vorausgesetzt, dass das FreeCAD-Dokument ein Objekt Namens "Würfel" zum Beispiel aus der Arbeitsbereich Part enthält.(Anmerkung, dies ist der interne Name des Objekts, nicht das vom Benutzer zugewiesene Label):
{|{{Prettytable}}
{|{{Prettytable}}
!CAD-Data
!CAD-Data
!Formel im Tabellenblatt
!Call in Spreadsheet
!Ergebnis
|-
|Parametrische Länge eines Würfels des Arbeitsbereiches Part
|=Würfel.Length
|Länge mit den Einheiten mm
|-
|Volumen des Würfels
|=Würfel.Shape.Volume
|Volumen in mm&sup3; ohne Einheiten
|-
|Typ des Würfel-"Shapes"
|=Würfel.Shape.ShapeType
|String: Solid
|-
|Label des Würfels
|=Cube.Label
|String: Würfel
|-
|x-Koordinate des Massenschwerpunktes des Würfels
|=Würfel.Shape.CenterOfMass.x
|x-Koordinate in mm ohne Einheiten
|}
</div>

Computed expressions in spreadsheet cells start with an equals ('=') sign.
However, the spreadsheet entry mechanism attempts to be smart.
An expression may be entered without the leading '=';
if the string entered is a valid expression,
an '=' is automatically added when the final {{KEY|Enter}} is typed.
If the string entered is not a valid expression
(often the result of entering something with the wrong case, e.g. "MyCube.length" instead of "MyCube.Length"),
no leading '=' is added and it is treated as simply a text string.

Note: The above behavior (auto insert of '=') has some unpleasant ramifications:
* If you want to keep a column of names corresponding to the [[#alias_name|alias-names]] in an adjacent column of values, you must enter the name in the label column ''before'' giving the cell in the value column its alias-name. Otherwise, when you enter the alias-name in the label column the spreadsheet will assume it is an expression and change it to "=<alias-name>"; and the displayed text will be the value from the <alias-name> cell.
* If you make an error when entering the name in the label column and wish to correct it, you cannot simply change it to the alias-name. Instead, you must first change the alias-name to something else, then fix the text name in the label column, then change the alias-name in the value column back to its original.

One way to side-step these issues is to prefix text labels corresponding to alias-names with a fixed string,
thereby making them different. Note that "_" will not work, as it is converted to "=". However, a blank, while invisible, will work.

The following table shows some examples assuming the model has a feature named "MyCube":
{|{{Prettytable}}
!CAD-Data
!Cell in Spreadsheet
!Result
!Result
|-
|-
|Parametric Length of a Part-Workbench Cube
|Parametric Length of a Part-Workbench Cube
|=Cube.Length
|=MyCube.Length
|Length with units mm
|Length with units mm
|-
|-
|Volume of the Cube
|Volume of the Cube
|=Cube.Shape.Volume
|=MyCube.Shape.Volume
|Volume in mm&sup3; without units
|Volume in mm&sup3; without units
|-
|-
|Type of the Cube-shape
|Type of the Cube-shape
|=Cube.Shape.ShapeType
|=MyCube.Shape.ShapeType
|String: Solid
|String: Solid
|-
|-
|Label of the Cube
|Label of the Cube
|=Cube.Label
|=MyCube.Label
|String: Cube
|String: MyCube
|-
|-
|x-coordinate of center of mass of the Cube
|x-coordinate of center of mass of the Cube
|=Cube.Shape.CenterOfMass.x
|=MyCube.Shape.CenterOfMass.x
|x-coordinate in mm without units
|x-coordinate in mm without units
|}
|}


<div class="mw-translate-fuzzy">
== Cell Properties ==
== Daten aus Tabellenblättern in FreeCAD-Ausdrücken ==
</div>


<div class="mw-translate-fuzzy">
The properties of a spreadsheet cell can be edited with a right-click on a cell. The following
Um die die Tabellendaten in anderen Teilen von FreeCAD benutzen zu können, wird ein vollständig definierter Name benötigt. Weil es möglich ist, mehrere Tabellenblätter in einem FreeCAD-Dokument zu haben, wird der Tabellenname zusammen mit der Zellreferenz oder dem Zell-Alias benötigt.
dialog pops up:
Die folgende Abbildung zeigt die Verwendung eines Aliasses "number" aus einem Tabellenblatt "MySheet" in einem Ausdruck in dem Arbeitsbereich PartDesign.
[[File:Expression usage1.png]]
</div>


[[File:SpreadsheetCellPropDialog.png]]
[[File:Expression usage1.png]]


<div class="mw-translate-fuzzy">
It has several tabs. The following properties can be changed:
Durch eine Eintippen von "M" erreicht man die Anzeige von verfügbaren Namen, die mit "M" beginnen. Mit den Pfeiltasten kann "MySheet" ausgewählt werden.
</div>


[[File:Expression usage2.png]]
* Text color and background color
* Text horizontal and vertical alignment
* Text style: bold, italic, underline
* Display unit for this cell. Please read the section below.
* Define an alias-name for this cell. This alias-name can be used in cell formulas and also in FreeCADExpressions {{Version|0.16}}


<div class="mw-translate-fuzzy">
The expressions are explained here: [[Expressions|Expressions]]
Anschließendes Eintippen von "n" zeigt nun die Liste der verfügbaren Namen in MySheet, die mit "n" anfangen.
Der Name "number" kann mit der Pfeilrunter-Taste ausgewählt werden.
Wenn eine gültiger Formel angegeben ist, zeigt das Ergebnisfeld die berechnete Länge.
</div>


[[File:Expression usage3.png]]
== Spreadsheet Data in Expressions ==


Further typing, such as adding a "+" sign, will result in an expression which is no longer valid
The usage of spreadsheet data in other parts of FreeCAD requires a fully defined name. Because it is possible to have
which will be indicated.
more than one spreadsheet in a document, the spreadsheet name together with the cell name or alias is required.
Continuing to complete the expression can again result in a valid expression.
The following pictures showing the usage of an alias "number" from a spreadsheet "MySheet" in an expression
in the PartDesign Workbench.
[[File:Expression usage1.png]]


== Einheiten ==
Typing an "M" shows a list of available names. The arrow-buttons allow to select "MySheet".


<div class="mw-translate-fuzzy">
[[File:Expression usage2.png]]
Die Tabellen verwenden Einheiten. Wenn eine Zahl eine Einheit hat, wird diese Einheit auch in den Berechnungen verwendet.
Die Multiplikation von zwei Längen mit der Einheit mm ergibt eine Fläche mit der Einheit mm&sup2;.
</div>


If a cell contains a value which represents a dimension, it should be entered with its associated unit.
Typing an "n" shows now the list of available alias names in MySheet starting with "n".
While in many simple cases one can get by with a dimensionless value,
The "number" can be selected with the down-arrow-button.
it is unwise to not enter the unit.
Once a valid name with a usable content is given, the result field will present the calculated length.
If a value representing a dimension is entered without its associated unit, there are some sequences of operations which cause FreeCAD to complain of incompatible units in an expression when it appears the expression should be valid.
(This may be better understood by viewing [https://forum.freecadweb.org/viewtopic.php?f=3&t=34713&p=292455#p292438 this thread] in the FreeCAD forums.)


<div class="mw-translate-fuzzy">
[[File:Expression usage3.png]]
Man kann die dargestellte Längeneinheit von Millimeter auf Inch in dem Eigenschaftsdialog ändern.
Die Zelle zeigt danach die Länge in Inch. Der eigentliche Wert, der in den Berechnungen verwendet wird, hat sich dadurch nicht geändert.
Die Ergebnisse einer Formel, die diesen Wert benutzen, werden durch die angezeigte Einheit nicht geändert. Das Resultat der besagten Formel benutzt immer noch den Wert der Länge in Millimeter.
</div>


<div class="mw-translate-fuzzy">
== Units ==
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.
</div>


<div class="mw-translate-fuzzy">
The Spreadsheet uses units. If a number has a unit, this unit will be used in all calculations.
Manchmal ist es notwendig, die Einheit von einer Zahl zu entfernen. Dies kann nur durch die Multiplikation einer 1 mit der reziproken Einheit erreicht werden.
The multiplication of two length with the unit mm gives an area with the unit mm&sup2;.
</div>


== Importieren und Exportieren ==
You can switch the length-unit from mm to inch in the dialog, you get with a right-click on a cell.
The cell will now show the length in inches. The value used for calculations does not change.
The results of a formula using this value do not change, when the shown unit of an input was changed. The result
is still calculated from the length in mm.


<div class="mw-translate-fuzzy">
A number without a unit cannot be changed in a number with unit by the cell properties dialog.
Tabellen können im CSV-Format[https://de.wikipedia.org/wiki/CSV_(Dateiformat)] importiert und exportiert werden. Dieses Format enthält keine Formeln, kann aber von den meisten anderen Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc gelesen und geschrieben werden. Wenn Dateien importiert werden, muss das Trennzeichen (das Zeichen, welches die Spalten trennt) das TAB-Zeichen sein. Dies kann üblicherweise in Tabellenkalkulationsprogrammen eingestellt werden. Der Import einer CSV-Datei ist über das Menü Spreadsheet/Importiere Kalkulationstabelle oder durch Klick auf das Symbol [[Image:SpreadsheetImport.svg|24px]] möglich. Diese Import-Funktion öffnet keine Excel-Dateien oder andere Tabellenkalkulationsformate.
One can put in a unit string, that will also be shown, but the cell still contains only a number without unit.
</div>


<div class="mw-translate-fuzzy">
Sometime it is desirably to get rid of a unit. This can only to be done by multiplying with 1 with a reciprocal unit.
Tabellen im Excel-format "xlsx" können über das Menü Datei/Importieren... in ein FreeCAD-Document importiert werden. Excel-Tabellen können auch durch FreeCAD mit Klick auf das Symbol [[Image:Document-open.svg|24px]] im Menü Datei/Öffnen... geöffnet werden. In diesem Fall wird ein neues Dokument mit einer Tabelle erzeugt. Es werden die folgenden Eigenschaften unterstützt:
</div>


<div class="mw-translate-fuzzy">
== Importing and exporting ==
* Alle Funktionen, die auch im FreeCAD-Spreadsheet zur Verfügung stehen. Andere Funktionen ergeben einen Fehler in der korrespondierenden Zelle nach dem Import.
* Aliasnamen für Zellen
* Mehr als eine Tabelle in der Excel-Datei. In diesem Fall werden mehre Tabellenblätter in dem FreeCAD-Dokument erzeugt.
</div>


<div class="mw-translate-fuzzy">
Sheets can be imported and exported to the [https://en.wikipedia.org/wiki/Comma-separated_values csv] format which can also be read and written by most other spreadsheet applications such as Microsoft Excel or LibreOffice Calc. When importing files into FreeCAD, the delimiter (the character that is used to separate columns) must be the TAB character (this can be set when exporting from other applications).
Andere Inhalte werden nicht in das FreeCAD-Tabellenblatt übernommen. Der Excel-Import ist {{Version/de|0.17}} von FreeCAD zur Verfügung.
</div>


== Bestehende Limitierungen ==
Spreadsheets in Excel-format "xlsx" can be imported into a FreeCAD document. Excel-spreadsheets can also be opened by FreeCAD. In this case
a new document with a spreadsheet inside is created. Supported are the following features:


<div class="mw-translate-fuzzy">
* all functions that are also available in the FreeCAD spreadsheet. Other functions do give an error in the corresponding cell after the import.
Innerhalb eines Tabellenblattes ist es nicht möglich die Daten für einen geometrischen Körper zu definieren, zum Beispiel die Länge, und zugleich eine resultierende Größe wie das Volumen dieses Körpers auszuwerten. Dies würde eine zirkulare Referenz erzeugen. Dies ist eine Design-Entscheidung. Es ist jedoch möglich zwei verschieden Tabellenblätter zur benutzen: Eins als Datenquelle für die Geometrie und ein anderes für die Darstellung der resultierenden Größen.
* Alias names for cells
</div>
* More than one table in the Excel-sheet. In this case more FreeCAD spreadsheets are created.


<div class="mw-translate-fuzzy">
Other functionality is not imported into the FreeCAD spreadsheet. The Excel-import is {{Version|0.17}}of FreeCAD.
Es ist nicht möglich mehrere Zellen auszuwählen und die Inhalte zu kopieren. Es kann jeweils nur der Inhalt einer Zelle aus dem Eingabefeld kopiert und in das Eingabefeld einer anderen Zelle eingefügt werden.
</div>


<div class="mw-translate-fuzzy">
== Current Limitations ==
Für FreeCAD-Versionen 0.14 siehe hier [[Spreadsheet_legacy|Spreadsheet legacy]]
</div>


==Grundlagen der Skripterstellung==
It is not possible providing data for a geometry, for example a length, in a spreadsheet and retrieving in the same spreadsheet the volume of the
{{Code|code=
resulting shape. This will create a circular reference. This is a design decision. However, it is possible to use two different spreadsheets: one as data-source
import Spreadsheet
for geometry and another for reporting geometry-data.
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet")
sheet.Label = "Dimensions"
}}


<div class="mw-translate-fuzzy">
It is not possible to select and copy multiple cells. Only the content of a cell from the input field can be copied and paste into the input field of another cell.
{{Docnav/de| | }}
</div>


For FreeCAD earlier versions see [[Spreadsheet_legacy|Spreadsheet legacy]]


{{Docnav| | }}


{{Userdocnavi{{#translation:}}}}
[[Category:User_Documentation/de]]


[[Category:Spreadsheet{{#translation:}}]]


[[Category:Workbenches{{#translation:}}]]
{{clear}}
<languages/>

Revision as of 21:08, 23 March 2020

Spreadsheet workbench icon

eingeführt mit Version 0.15Der Arbeitsbereich Tabellenkalkulation ermöglicht die Erstellung und Bearbeitung von Tabellen, das Einfügen von Daten eines 3D-Models, die Durchführung von Berechnungen und das Exportieren der Daten zur Verwendung in anderer Software für Tabellenkalkulation, wie LibreOffice oder Microsoft Excel.

Der Arbeitsbereich Tabellenkalkulation ist verfügbar seit FreeCAD 0.15.

Cell Expressions

A spreadsheet cell may contain arbitrary text or an expression. Technically, expressions must start with an equals '=' sign. However, the spreadsheet attempts to be intelligent; if you enter what looks like an expression without the leading '=', one will be added automatically.

Cell expressions may contain numbers, functions, references to other cells, and references to properties of the model (But see Current Limitations below). Cells are referenced by their column (CAPITAL letter) and row (number). A cell may also be referenced by its alias-name (below). Example: B4 + A6

References to objects in the model are explained under References to CAD-Data below. Using spreadsheet cell values to define model properties are explained under Spreadsheet Data in Expressions below. For more specifics on how expressions are formed, see Expressions.

Unterstützte Funktionen

Standard trigonometric and other common mathematical functions as well as statistical aggregation functions are supported (see Expressions).

Interaction between Spreadsheets and the CAD Model

Data in the cells of a spreadsheet may be used in CAD model parameter expressions. Thus, a spreadsheet may be used as the source for parameter values used throughout a model, effectively gathering the values in one place. When values are changed in the spreadsheet, they are propagated throughout the model.

Similarly, properties from CAD model objects may be used in expressions in spreadsheet cells. This allows use of object properties like volume or area in the spreadsheet. If the name of an object in the CAD model is changed, the change will automatically be propagated to any references in spreadsheet expressions using the name which was changed.

More than one spreadsheet may be used in a document; spreadsheets may be given a user-assigned name (rename) like any other object.

FreeCAD checks for cyclic dependencies. See Current Limitations.

Eigenschaften der Zellen

Die Eigenschaften der Zellen der Tabelle können mit einem Rechtsklick geändert werden. Es öffnet sich der folgende Dialog:

Er hat mehrere Reiter. Die folgenden Eigenschaften können geändert werden:

  • Textfarbe sowie Hintergrundfarbe
  • horizontale und vertikale Textausrichtung
  • Textstile: fett, kursiv, unterstrichen
  • Die angezeigten Einheiten für diese Zelle. (Unbedingt den Abschnitt unten beachten.)
  • Einen Alias-Namen für diese Zelle festlegen. Der Alias-Name kann in den Zellformeln und auch in den FreeCAD-Ausdrücken verwendet werden eingeführt mit Version 0.16.

Referenzen auf CAD-Daten

Daten der CAD-Konstruktion können in dem Tabellenblatt verwendet werden. Die folgende Tabelle zeigt einige Beispiele. Es wird dabei vorausgesetzt, dass das FreeCAD-Dokument ein Objekt Namens "Würfel" zum Beispiel aus der Arbeitsbereich Part enthält.(Anmerkung, dies ist der interne Name des Objekts, nicht das vom Benutzer zugewiesene Label):

CAD-Data Formel im Tabellenblatt Ergebnis
Parametrische Länge eines Würfels des Arbeitsbereiches Part =Würfel.Length Länge mit den Einheiten mm
Volumen des Würfels =Würfel.Shape.Volume Volumen in mm³ ohne Einheiten
Typ des Würfel-"Shapes" =Würfel.Shape.ShapeType String: Solid
Label des Würfels =Cube.Label String: Würfel
x-Koordinate des Massenschwerpunktes des Würfels =Würfel.Shape.CenterOfMass.x x-Koordinate in mm ohne Einheiten

Computed expressions in spreadsheet cells start with an equals ('=') sign. However, the spreadsheet entry mechanism attempts to be smart. An expression may be entered without the leading '='; if the string entered is a valid expression, an '=' is automatically added when the final Enter is typed. If the string entered is not a valid expression (often the result of entering something with the wrong case, e.g. "MyCube.length" instead of "MyCube.Length"), no leading '=' is added and it is treated as simply a text string.

Note: The above behavior (auto insert of '=') has some unpleasant ramifications:

  • If you want to keep a column of names corresponding to the alias-names in an adjacent column of values, you must enter the name in the label column before giving the cell in the value column its alias-name. Otherwise, when you enter the alias-name in the label column the spreadsheet will assume it is an expression and change it to "=<alias-name>"; and the displayed text will be the value from the <alias-name> cell.
  • If you make an error when entering the name in the label column and wish to correct it, you cannot simply change it to the alias-name. Instead, you must first change the alias-name to something else, then fix the text name in the label column, then change the alias-name in the value column back to its original.

One way to side-step these issues is to prefix text labels corresponding to alias-names with a fixed string, thereby making them different. Note that "_" will not work, as it is converted to "=". However, a blank, while invisible, will work.

The following table shows some examples assuming the model has a feature named "MyCube":

CAD-Data Cell in Spreadsheet Result
Parametric Length of a Part-Workbench Cube =MyCube.Length Length with units mm
Volume of the Cube =MyCube.Shape.Volume Volume in mm³ without units
Type of the Cube-shape =MyCube.Shape.ShapeType String: Solid
Label of the Cube =MyCube.Label String: MyCube
x-coordinate of center of mass of the Cube =MyCube.Shape.CenterOfMass.x x-coordinate in mm without units

Daten aus Tabellenblättern in FreeCAD-Ausdrücken

Um die die Tabellendaten in anderen Teilen von FreeCAD benutzen zu können, wird ein vollständig definierter Name benötigt. Weil es möglich ist, mehrere Tabellenblätter in einem FreeCAD-Dokument zu haben, wird der Tabellenname zusammen mit der Zellreferenz oder dem Zell-Alias benötigt. Die folgende Abbildung zeigt die Verwendung eines Aliasses "number" aus einem Tabellenblatt "MySheet" in einem Ausdruck in dem Arbeitsbereich PartDesign.

Durch eine Eintippen von "M" erreicht man die Anzeige von verfügbaren Namen, die mit "M" beginnen. Mit den Pfeiltasten kann "MySheet" ausgewählt werden.

Anschließendes Eintippen von "n" zeigt nun die Liste der verfügbaren Namen in MySheet, die mit "n" anfangen. Der Name "number" kann mit der Pfeilrunter-Taste ausgewählt werden. Wenn eine gültiger Formel angegeben ist, zeigt das Ergebnisfeld die berechnete Länge.

Further typing, such as adding a "+" sign, will result in an expression which is no longer valid which will be indicated. Continuing to complete the expression can again result in a valid expression.

Einheiten

Die Tabellen verwenden Einheiten. Wenn eine Zahl eine Einheit hat, wird diese Einheit auch in den Berechnungen verwendet. Die Multiplikation von zwei Längen mit der Einheit mm ergibt eine Fläche mit der Einheit mm².

If a cell contains a value which represents a dimension, it should be entered with its associated unit. While in many simple cases one can get by with a dimensionless value, it is unwise to not enter the unit. If a value representing a dimension is entered without its associated unit, there are some sequences of operations which cause FreeCAD to complain of incompatible units in an expression when it appears the expression should be valid. (This may be better understood by viewing this thread in the FreeCAD forums.)

Man kann die dargestellte Längeneinheit von Millimeter auf Inch in dem Eigenschaftsdialog ändern. Die Zelle zeigt danach die Länge in Inch. Der eigentliche Wert, der in den Berechnungen verwendet wird, hat sich dadurch nicht geändert. Die Ergebnisse einer Formel, die diesen Wert benutzen, werden durch die angezeigte Einheit nicht geändert. Das Resultat der besagten Formel benutzt immer noch den Wert der Länge in Millimeter.

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.

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

Importieren und Exportieren

Tabellen können im CSV-Format[1] importiert und exportiert werden. Dieses Format enthält keine Formeln, kann aber von den meisten anderen Tabellenkalkulationsprogrammen wie Microsoft Excel oder LibreOffice Calc gelesen und geschrieben werden. Wenn Dateien importiert werden, muss das Trennzeichen (das Zeichen, welches die Spalten trennt) das TAB-Zeichen sein. Dies kann üblicherweise in Tabellenkalkulationsprogrammen eingestellt werden. Der Import einer CSV-Datei ist über das Menü Spreadsheet/Importiere Kalkulationstabelle oder durch Klick auf das Symbol möglich. Diese Import-Funktion öffnet keine Excel-Dateien oder andere Tabellenkalkulationsformate.

Tabellen im Excel-format "xlsx" können über das Menü Datei/Importieren... in ein FreeCAD-Document importiert werden. Excel-Tabellen können auch durch FreeCAD mit Klick auf das Symbol im Menü Datei/Öffnen... 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 im FreeCAD-Spreadsheet zur Verfügung stehen. Andere Funktionen ergeben einen Fehler in der korrespondierenden Zelle nach dem Import.
  • Aliasnamen für Zellen
  • Mehr als eine Tabelle in der Excel-Datei. In diesem Fall werden mehre Tabellenblätter in dem FreeCAD-Dokument erzeugt.

Andere Inhalte werden nicht in das FreeCAD-Tabellenblatt übernommen. Der Excel-Import ist eingeführt mit Version 0.17 von FreeCAD zur Verfügung.

Bestehende Limitierungen

Innerhalb eines Tabellenblattes ist es nicht möglich die Daten für einen geometrischen Körper zu definieren, zum Beispiel die Länge, und zugleich eine resultierende Größe wie das Volumen dieses Körpers auszuwerten. Dies würde eine zirkulare Referenz erzeugen. Dies ist eine Design-Entscheidung. Es ist jedoch möglich zwei verschieden Tabellenblätter zur benutzen: Eins als Datenquelle für die Geometrie und ein anderes für die Darstellung der resultierenden Größen.

Es ist nicht möglich mehrere Zellen auszuwählen und die Inhalte zu kopieren. Es kann jeweils nur der Inhalt einer Zelle aus dem Eingabefeld kopiert und in das Eingabefeld einer anderen Zelle eingefügt werden.

Für FreeCAD-Versionen 0.14 siehe hier Spreadsheet legacy

Grundlagen der Skripterstellung

import Spreadsheet
sheet = App.ActiveDocument.addObject("Spreadsheet::Sheet")
sheet.Label = "Dimensions"