Spreadsheet Workbench/ru

Введение
Верстак электронных таблиц позволяет создать и редактировать электронные таблицы, использовать данные из электронной таблицы как параметр в модели, заполнять таблицу данными из модели, выполнять вычисления, и экспортировать данные в другие приложения текстовых таблиц, такие как LibreOffice или Microsoft Excel.



Инструменты

 * Spreadsheet_CreateSheet.svg Create sheet: создать новую электронную таблицу.


 * Spreadsheet_Import.svg Импорт: импортировать файл со значениями, разделёнными запятыми (CSV), в электронную таблицу.
 * Spreadsheet_Export.svg Экспорт: экспорт файла со значениями, разделёнными запятыми (CSV), из электронной таблицы.


 * Spreadsheet_MergeCells.svg Объединить ячейки: объединить выбранные ячейки.
 * Spreadsheet_SplitCell.svg Разделить ячейку: разделить ранее объединённые ячейки.


 * Spreadsheet_AlignLeft.svg Align left: выровнять содержимое выбранных ячеек по левому краю.
 * Spreadsheet_AlignCenter.svg Align center: выровнять содержимое выбранных ячеек горизонтально по центру.
 * Spreadsheet_AlignRight.svg Align right: выровнять содержимое выбранных ячеек по правому краю.
 * Spreadsheet_AlignTop.svg Align top: выровнять содержимое выбранных ячеек по верху.
 * Spreadsheet_AlignVCenter.svg Align vertical center: выровнять содержимое выбранных ячеек вертикально по центру.
 * Spreadsheet_AlignBottom.svg Align bottom: выровнять содержимое выбранных ячеек по низу.


 * Spreadsheet_StyleBold.svg Style bold: установить для выбранных ячеек жирный шрифт.
 * Spreadsheet_StyleItalic.svg Style italic: установить для выбранных ячеек наклонный шрифт.
 * Spreadsheet_StyleUnderline.svg Style underline: установить для выбранных ячеек подчёркнутый шрифт.


 * Spreadsheet_SetAlias.svg Set alias: установить псевдоним для выбранных ячеек.


 * и устанавливают цвета переднего и заднего плана выбранных ячеек.

Выражения в ячейках
Ячейка таблицы может содержать любой текст или выражение. Технически, выражение должно начинаться со знака равенства '='. Однако, таблица пытается быть умной, и если Вы введёте нечто, похожее на выражение, но без начального знака '=', он будет добавлен автоматически.

Выражения ячеек могут содержать числа, функции, ссылки на другие ячейки и ссылки на свойства модели. (Но смотрите текущие ограничения ниже). Ссылки на ячейки по их столбцам (ЗАГЛАВНЫЕ буквы) и строкам (числа). На ячейки можно так же ссылаться по их псевдонимам (см. ниже). Пример: B4 + A6

Примечание: Выражения в ячейках обрабатываются FreeCAD как программный код. Поэтому при редактировании ячеек видимое содержимое не следует настройкам дисплея:
 * десятичный разделитель всегда точка
 * число показываемых десятичных чисел может отличаться от настроек

Ссылки на объекты в модели описаны в разделе Ссылки на данные САПР. Использование значений ячеек для определения параметров моделей описано в разделе Данные таблицы в выражениях. Относительно специфики формирования выражений, смотрите Выражения.

Поддерживаемые функции
Поддерживаются стандартные тригонометрические и прочие общие математические функции, плюс функции статистического агрегирования (см. Выражения).

Взаимодействие между электронными таблицами и моделью САПР
Данные в ячейках электронной таблицы могут использоваться в выражениях параметров модели САПР. Таким образом, электронная таблица может использоваться как источник значений параметров, используемых во всей модели, эффективно собирая значения в одном месте. Когда значения изменяются в электронной таблице, они распространяются по всей модели.

Точно так же свойства из объектов модели САПР могут использоваться в выражениях в ячейках электронной таблицы. Это позволяет использовать такие свойства объекта, как объем или площадь в электронной таблице. Если имя объекта в модели САПР изменяется, изменение автоматически распространяется на все ссылки в выражениях в электронной таблице, использующих изменённое имя.

В одном документе можно использовать более одной электронной таблицы; электронным таблицам можно давать присвоенное пользователем имя (переименовывать), как и любому другому объекту.

FreeCAD проверяет на циклические зависимости. Смотрите в разделе Текущие ограничения.

Свойства ячейки
Свойства ячейки электронной таблицы можно редактировать, щелкнув ячейку правой кнопкой мыши. Появится следующий диалог:



Как указано на вкладках, можно изменить следующие свойства:

While one 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. For example, if the data in cell B1 contained the length parameter for an object, an alias name of "MyObject_Length" would allow the value to be referred to as "Spreadsheet.MyObject_Length" instead of "Spreadsheet.B1".
 * Color: Text color and background color
 * Alignment: Text horizontal and vertical alignment
 * Style: Text style: bold, italic, underline
 * Units:  Display units for this cell. Please read the Units section below.
 * Alias:  Define an alias-name for this cell. This alias-name can be used in cell formulas and also in general FreeCAD Expressions.

Ссылки на данные САПР
Как указано выше, можно ссылаться на данные из модели САПР в выражениях электронной таблицы.

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 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 "="; and the displayed text will be the value from the  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":

Данные таблицы в выражениях
Использование данных электронных таблиц в других частях FreeCAD требует полностью определенного имени. Поскольку может быть более одной электронной таблицы в документе, необходимо имя электронной таблицы вместе с именем ячейки или псевдонимом. На следующих рисунках показано использование псевдонима «number» из электронной таблицы «MySheet» в выражении верстака PartDesign.



При вводе буквы «M» отображается список доступных имен (см. выше). Клавиши со стрелками позволяют перелистать к «MySheet» и выбрать его; приведет к его завершению в выражении. Вы также можете продолжить ввод или щелкнуть запись с помощью мыши.



При вводе «n» теперь отображается список всех начинающийся с «n» псевдонимов в MySheet (см. выше). Теперь можно выбрать «number», как описано выше. После ввода действительного имени с корректным содержанием, поле результата покажет рассчитанное значение, в данном случае длина (см. ниже).



Дальнейший ввод, например добавление знака «+», приведёт к выражению, которое больше не действительно, что будет указано. Продолжение для завершения выражения может снова привести к правильному выражению.

Единицы измерения
The Spreadsheet has a notion of dimension (units) associated with cell values. A number entered without an associated unit has no dimension. The unit should be entered immediately following the number value, with no intervening space. If a number has an associated unit, that unit will be used in all calculations. For example, the multiplication of two lengths with the unit mm gives an area with the unit mm&sup2;.

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.)

You can change the units displayed for a cell value using the properties dialog units tab (above). This does not change the value contained in the cell; it only converts the existing value for display. The value used for calculations does not change, and the results of formulas using the value do not change. For example, a cell containing the value "5.08cm" can be displayed as "2in" by changing the units tab value to "in".

A dimensionless number cannot be changed to a number with a unit by the cell properties dialog. One can put in a unit string, and that string will be displayed; but the cell still contains a dimensionless number. In order to change a dimensionless value to a value with a dimension, the value itself must be re-entered with its associated unit.

Occasionally it may be desirable to get rid of a dimension in an expression. This can be done by multiplying by 1 with a reciprocal unit.

Импорт и экспорт
Sheets can be imported and exported to the 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). The import of a CSV-file is available from the menu or by clicking on the icon. This import function does not open Excel files or any other spreadsheet format.

Spreadsheets in Excel-format "xlsx" can be imported via the menu. Excel-spreadsheets can also be opened by clicking in the menu or by clicking on the icon. In these cases a new document with a spreadsheet inside is created. The following features are supported:


 * all functions that are also available in the FreeCAD spreadsheet. Other functions give an error in the corresponding cell after the import.
 * Alias names for cells
 * More than one "Sheet" in the Excel-spreadsheet. In this case one FreeCAD spreadsheet is created for each Excel sheet.

Other functionality is not imported into the FreeCAD spreadsheet. The Excel-import is of FreeCAD.

Текущие ограничения
FreeCAD проверяет циклические зависимости. По задумке эта проверка останавливается на уровне объекта электронной таблицы. Как следствие, у вас не должно быть электронной таблицы, содержащей как ячейки, значения которых используются для определения параметров модели, так и ячейки, значения которых используют выходные данные модели. Например, у вас не может быть ячеек, определяющих длину, ширину и высоту объекта, и другой ячейки, которая ссылается на общий объем полученной формы. Это ограничение можно преодолеть с помощью двух электронных таблиц: одна используется в качестве источника данных для входных параметров модели, а другая используется для расчётов на основе результирующих геометрических данных.

При копировании ячеек копируется только содержание (выражение/значение). Описанные выше свойства ячейки не копируются.

Насчёт ранних версий смотрите Spreadsheet legacy.