Manual:Using spreadsheets/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "* Начнём с вводом текста в ячейки A1, A2 и A3, чтобы мы запомнили что есть что на будущее, например, '''C...")
(Updating to match new version of source page)
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
{{Manual:TOC/ru}}

<div class="mw-translate-fuzzy">
{{Docnav/ru
|[[Manual:BIM modeling/ru|BIM modeling]]
|[[Manual:Creating FEM analyses/ru|Creating FEM analyses]]
|[[Manual:Introduction/ru|Manual start]]
|IconC=Crystal Clear manual.png
}}
</div>

{{Manual:TOC}}


<div class="mw-translate-fuzzy">
В FreeCAD есть ещё один интересный для изучения верстак:[[Spreadsheet_Module/ru|Spreadsheet]]. Этот верстак позволяет создать [https://ru.wikipedia.org/wiki/Электронная_таблица Электронную таблицу] вроде тех что делаются в [https://ru.wikipedia.org/wiki/Microsoft_Excel Excel] или [https://ru.wikipedia.org/wiki/OpenOffice_Calc LibreOffice] прямо в FreeCAD. Эти электронные таблицы затем могут быть наполнены данными, взятыми из вашей модели, и производить некоторые вычисления между значениями. Электронные таблицы могут быть экспортированы в файлы CSV, которые могут импортироваться в любые приложения электронных таблиц.
В FreeCAD есть ещё один интересный для изучения верстак:[[Spreadsheet_Workbench/ru|Spreadsheet]]. Этот верстак позволяет создать [https://ru.wikipedia.org/wiki/Электронная_таблица Электронную таблицу] вроде тех что делаются в [https://ru.wikipedia.org/wiki/Microsoft_Excel Excel] или [https://ru.wikipedia.org/wiki/OpenOffice_Calc LibreOffice] прямо в FreeCAD. Эти электронные таблицы затем могут быть наполнены данными, взятыми из вашей модели, и производить некоторые вычисления между значениями. Электронные таблицы могут быть экспортированы в файлы CSV, которые могут импортироваться в любые приложения электронных таблиц.
</div>


В FreeCAD электронные таблицы имеют дополнительную пользу: их ячейки могут получать имя, и после этого на них может ссылаться любое поле, поддерживаемое [[Expressions|механизмом выражений]]. Это превращает электронные таблицы в мощные контрольные структуры, где значения в определённых ячейках могут управлять размерами модели. Только одно надо учесть, что FreeCAD запрещает круговые зависимости между объектами, таблица не может устанавливать параметр и в то же время получать значение от того же объекта. Это может сделать таблицу и объект взаимно зависимыми.
В FreeCAD электронные таблицы имеют дополнительную пользу: их ячейки могут получать имя, и после этого на них может ссылаться любое поле, поддерживаемое [[Expressions|механизмом выражений]]. Это превращает электронные таблицы в мощные контрольные структуры, где значения в определённых ячейках могут управлять размерами модели. Только одно надо учесть, что FreeCAD запрещает круговые зависимости между объектами, таблица не может устанавливать параметр и в то же время получать значение от того же объекта. Это значит, что таблица и объект взаимно зависимы.


В следующем примере мы создадим пару объектов, получим некоторые их параметры в таблицу, затем используем таблицу для прямого управления параметрами других объектов.
В следующем примере мы создадим пару объектов, получим некоторые их параметры в таблицу, затем используем таблицу для прямого управления параметрами других объектов.


<span id="Reading_properties"></span>
=== Чтение свойств ===
=== Чтение свойств ===


<div class="mw-translate-fuzzy">
* Начнём с переключения в [[Part Workbench\ru|верстак Part]], и создадим несколько объектов: [[Image:Part_Box.png|16px]] [[Part_Box\ru|куб]], a [[Image:Part_Cylinder.png|16px]] [[Part_Cylinder\ru|цилиндр]] и [[Image:Part_Sphere.png|16px]] [[Part_Sphere\ru|сферу]].
* Начнём с переключения в [[Part Workbench/ru|верстак Part]], и создадим несколько объектов: [[Image:Part_Box.svg|16px]] [[Part_Box/ru|куб]], [[Image:Part_Cylinder.svg|16px]] [[Part_Cylinder/ru|цилиндр]] и [[Image:Part_Sphere.svg|16px]] [[Part_Sphere/ru|сферу]].
* Редактируем их параметр '''Placement''' (или используем инструмент [[Image:Draft_Move.png|16px]] [[Draft Move\ru|Move]]) чтобы поместить его немного в сторону, чтобы лучше видеть эффекты того, что мы будем делать:
* Редактируем их параметр '''Placement''' (или используем инструмент [[Image:Draft_Move.svg|16px]] [[Draft Move/ru|Move]]) чтобы поместить его немного в сторону, чтобы лучше видеть эффекты того, что мы будем делать:
</div>


[[Image:Exercise_spreadsheet_01.jpg]]
[[Image:Exercise_spreadsheet_01.jpg]]


* Теперь извлечём информацию из этих объектов. Переключимся в [[Spreadsheet_Module/ru|верстак Spreadsheet]]
* Теперь извлечём информацию из этих объектов. Переключимся в [[Spreadsheet_Workbench/ru|верстак Spreadsheet]]
* Нажмём кнопку [[Image:Spreadsheet_Create.png|16px]] '''New Spreadsheet'''
* Нажмём кнопку [[Image:Spreadsheet_Create.png|16px]] '''New Spreadsheet'''
* Дважды кликнем новый объект Spreadsheet в древе проектов, откроется редактор таблиц:
* Дважды кликнем новый объект Spreadsheet в древе проектов, откроется редактор таблиц:
Line 22: Line 38:
Редактор таблиц FreeCAD, хотя и не так закончен и мощен как вышеперечисленные более полные приложения электронных таблиц, всё же имеет большинство общеупотребительных базовых инструментов и функций, вроде возможности изменения оформления ячеек (размер, цвет, выключка), объединение и разбивка ячеек, использование формул вроде '''=2+2''' или ссылки на другие ячейки с '''=B1'''.
Редактор таблиц FreeCAD, хотя и не так закончен и мощен как вышеперечисленные более полные приложения электронных таблиц, всё же имеет большинство общеупотребительных базовых инструментов и функций, вроде возможности изменения оформления ячеек (размер, цвет, выключка), объединение и разбивка ячеек, использование формул вроде '''=2+2''' или ссылки на другие ячейки с '''=B1'''.


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


* Начнём с вводом текста в ячейки A1, A2 и A3, чтобы мы запомнили что есть что на будущее, например, '''Cube Length''', '''Cylinder Radius''' и '''Sphere Radius'''. Для ввода текста просто напишите в поле "Содержание" над таблицей, или сделайте двойной клик по ячейке.
* Начнём с вводом текста в ячейки A1, A2 и A3, чтобы мы запомнили что есть что на будущее, например, '''Cube Length''', '''Cylinder Radius''' и '''Sphere Radius'''. Для ввода текста просто напишите в поле "Содержание" над таблицей, или сделайте двойной клик по ячейке.
Line 30: Line 46:
[[Image:Exercise_spreadsheet_03.jpg]]
[[Image:Exercise_spreadsheet_03.jpg]]


* Хотя это ожидаемо, значения могут обрабатываться как любые числа, попробуйте, например, ввести в ячейку C1: '''=B1*2'''.
* Although these results are expressed with their units, the values can be manipulated as any number, try for example entering in cell C1: '''=B1*2'''.
* Теперь мы можем изменить одно из этих значений в редакторе параметров, и изменения немедленно отразятся в таблице. Например, изменим длину куба на '''20mm''':
* We can now change one of these values in the properties editor, and the change will be immediately reflected in the spreadsheet. For example, let's change the length of our cube to '''20mm''':


[[Image:Exercise_spreadsheet_04.jpg]]
[[Image:Exercise_spreadsheet_04.jpg]]


Страница [[Spreadsheet_Workbench/ru|верстака Spreadsheet]] покажет подробности о всех возможных операциях и функциях, которые доступны в таблице.
The [[Spreadsheet_Module|Spreadsheet Workbench]] page will describe more in detail all the possible operations and functions that you can use in spreadsheets.


<span id="Writing_properties"></span>
=== Запись свойств ===
=== Запись свойств ===


Другое интересное использование верстака Spreadsheet в FreeCAD противоположно тому, что мы делали: вместо чтения значений параметров трёхмерных объектов мы можем назначать им значения. Помните, тем не менее, одно из базовых правил FreeCAD: запрет круговых зависимостей. Поэтому мы не можем использовать ту же таблицу для чтения '''и''' записи значений в трёхмерный объект. Это может сделать объект зависимым от таблицы, которая будет зависеть от объекта. Вместо этого нам надо сделать другую таблицу.
Another very interesting use of the Spreadsheet Workbench in FreeCAD is to do the contrary of what we have been doing until now: Instead of reading the values of properties of 3D objects, we can also assign values to these objects. Remember, however, one of the fundamental rules of FreeCAD: Circular dependencies are forbidden. We can therefore not use the same spreadsheet to read '''and''' write values to a 3D object. That would make the object depend on the spreadsheet, which would also depend on the object. Instead, we will create another spreadsheet.


* Теперь закроем вкладку таблицы (в трёхмерном окне). Это не обязательно, можно и оставить несколько таблиц открытыми.
* We can now close the spreadsheet tab (under the 3D view). This is not mandatory, there is no problem in keeping several spreadsheet windows open.
* Press the [[Image:Spreadsheet_Create.png|16px]] '''New Spreadsheet''' button again
* Нажмём снова кнопку [[Image:Spreadsheet_Create.png|16px]] '''New Spreadsheet'''
* Изменим имя новой таблицы на что-то более содержательное, вроде '''Ввод''' (это делается правым кликом на новой таблице и выбором '''Переименовать''').
* Change the name of the new spreadsheet to something more meaningful, such as '''Input''' (do this by right-clicking the new spreadsheet object, and choosing '''Rename''').
* Откроем редактор таблиц двойным кликом по таблице '''Ввод'''.
* Double-click the Input spreadsheet to open the spreadsheet editor.
* В ячейке A1 поместим описание, например: "Размеры Куба"
* In cell A1, let's put a descriptive text, for example: "Cube dimensions"
* В ячейке B1 напишем '''=5mm''' (использование знака "=" гарантирует, что значение будет понято как величина, а не текст).
* In cell B1, write '''=5mm''' (using the = sign makes sure the value is interpreted as a unit value, not a text).
* Теперь, чтобы использовать это значение за пределами таблицы, надо дать имя ячейке B1 псевдоним. Сделаем правый клик на ячейке, нажмём '''Свойства''' и выделим вкладку '''Псевдоним'''. Дадим имя, например, '''cubedims''':
* Now to be able to use this value outside the spreadsheet, we need to give a name, or alias, to the B1 cell. Right-click the cells, click '''Properties''' and select the '''Alias''' tab. Give it a name, such as '''cubedims''':


[[Image:Exercise_spreadsheet_05.jpg]]
[[Image:Exercise_spreadsheet_05.jpg]]


* Нажмём '''OK''' и закроем вкладку таблицы
* Press '''OK''', then close the spreadsheet tab
* Выделим куб
* Select the cube object
* In the properties editor, click the little [[Image:Bound-expression-unset.png|16px]] '''expression''' icon at the right side of the '''Length''' field. This will open the [[Expressions|expressions editor]], where you can write '''Spreadsheet001.cubedims'''. Repeat this for Height and Width:
* В редакторе параметров кликнем маленькую иконку [[Image:Bound-expression-unset.png|16px]] '''expression''' справа от поля '''Length'''. Это откроет [[Expressions/ru|редактор выражений]], где мы сможем написать '''Spreadsheet001.cubedims'''. Повторим это для Height и Width:


[[Image:Exercise_spreadsheet_06.jpg]]
[[Image:Exercise_spreadsheet_06.jpg]]


Вы можете удивиться, почему нам понадобилось использовать в выражении "Spreadsheet001" вместо "Ввод". Это потому, что каждый объект в документе FreeCAD имеет '''внутреннее имя''', уникальное для документа, и '''метку''', видимую в древе проекта. Если Вы снимите соответствующую опцию в настройках, FreeCAD позволит давать одноименные метки для разных объектов. Поэтому все операции, которые должны однозначно идентифицировать объекты, используют внутренние имена вместо меток, которые могут обозначать разные объекты. Проще всего узнать внутренние имена объектов оставлять открытой панель '''просмотр выделения''' (меню Вид->Панели), она всегда показывает внутреннее имя выбранного объекта:
You might wonder why we had to use "Spreadsheet001" instead of "Input" in the expression above. This is because each object, in a FreeCAD document, has an '''internal name''', which is unique in the document, and a '''label''', which is what appears in the tree view. If you uncheck the appropriate option in the preferences settings, FreeCAD will allow you to give the same label to more than one object. This is why all operations that must identify an object with absolutely no doubt, will use the internal name instead of the label, which could designate more than one object. The easiest way to know the internal name of an object is by keeping the '''selection panel''' (menu Edit->Panels) open, it will always indicate the internal name of a selected object:


[[Image:Exercise_spreadsheet_07.jpg]]
[[Image:Exercise_spreadsheet_07.jpg]]


Используя в таблицах псевдонимы ячеек мы можем использовать таблицы для хранения "основных значений" в документах FreeCAD. Это может использоваться, например, для моделей различных размеров, сохраняя эти размеры в таблице. Становится лёгким создавать другие модели с различными размерами, просто открыв файл и изменив набор размеров в таблице.
By using cell aliases in spreadsheets, we are able to use a spreadsheet to store "master values" in a FreeCAD document. This can be used, for example, to have a model of a piece of certain dimensions, and to store these dimensions in a spreadsheet. It becomes then very easy to produce another model with different dimensions, it is just a matter of opening the file and changing a couple of dimensions in the spreadsheet.


В итоге заметьте, что ограничения внутри эскизов так же могут получать значения из табличных ячеек:
Finally, note that the constraints inside a sketch can also receive the value of a spreadsheet cell:


[[Image:Exercise_spreadsheet_08.jpg]]
[[Image:Exercise_spreadsheet_08.jpg]]


Так же можно создать псевдонимы для размерных ограничений (горизонтальных, вертикальных или по расстояниям) в эскизах (которые так же можно использовать за пределами эскизов)
You can also give aliases to dimensional constraints (horizontal, vertical or distance) in a sketch (you can then use that value from outside the sketch as well):


[[Image:Exercise_spreadsheet_09.jpg]]
[[Image:Exercise_spreadsheet_09.jpg]]
Line 77: Line 94:
'''Читать далее'''
'''Читать далее'''


* [[Spreadsheet_Module/ru|Верстак Spreadsheet]]
* [[Spreadsheet_Workbench/ru|Верстак Spreadsheet]]
* [[Expressions/ru|Использование выражений в параметрах]]
* [[Expressions/ru|Использование выражений в параметрах]]



[[Category:Tutorials/ru]]
<div class="mw-translate-fuzzy">
<languages/>
{{Docnav/ru
|[[Manual:BIM modeling/ru|BIM modeling]]
|[[Manual:Creating FEM analyses/ru|Creating FEM analyses]]
|[[Manual:Introduction/ru|Manual start]]
|IconC=Crystal Clear manual.png
}}
</div>

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

Latest revision as of 20:13, 4 November 2023

Other languages:

В FreeCAD есть ещё один интересный для изучения верстак:Spreadsheet. Этот верстак позволяет создать Электронную таблицу вроде тех что делаются в Excel или LibreOffice прямо в FreeCAD. Эти электронные таблицы затем могут быть наполнены данными, взятыми из вашей модели, и производить некоторые вычисления между значениями. Электронные таблицы могут быть экспортированы в файлы CSV, которые могут импортироваться в любые приложения электронных таблиц.

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

В следующем примере мы создадим пару объектов, получим некоторые их параметры в таблицу, затем используем таблицу для прямого управления параметрами других объектов.

Чтение свойств

  • Начнём с переключения в верстак Part, и создадим несколько объектов: куб, цилиндр и сферу.
  • Редактируем их параметр Placement (или используем инструмент Move) чтобы поместить его немного в сторону, чтобы лучше видеть эффекты того, что мы будем делать:

  • Теперь извлечём информацию из этих объектов. Переключимся в верстак Spreadsheet
  • Нажмём кнопку New Spreadsheet
  • Дважды кликнем новый объект Spreadsheet в древе проектов, откроется редактор таблиц:

Редактор таблиц FreeCAD, хотя и не так закончен и мощен как вышеперечисленные более полные приложения электронных таблиц, всё же имеет большинство общеупотребительных базовых инструментов и функций, вроде возможности изменения оформления ячеек (размер, цвет, выключка), объединение и разбивка ячеек, использование формул вроде =2+2 или ссылки на другие ячейки с =B1.

В FreeCAD поверх этих общих возможностей, есть новая интересная: возможность ссылаться не только на другие ячейки, но и другие объекты в документе, и взять значения из их параметров. Например, примем несколько параметров из трёх ранее созданных объектов. Параметры будут те, что мы видим в окне редактора параметров во вкладке Data, при выделении объекта.

  • Начнём с вводом текста в ячейки A1, A2 и A3, чтобы мы запомнили что есть что на будущее, например, Cube Length, Cylinder Radius и Sphere Radius. Для ввода текста просто напишите в поле "Содержание" над таблицей, или сделайте двойной клик по ячейке.
  • Теперь получим фактическое значение длины куба. В ячейке B1 напишем =Куб.Length. Вы увидите, что таблица имеет механизм автозаполнения, тот же самый, что и в редакторе выражений, использованный в предыдущей главе.
  • Повторим то же для ячеек B2 (=Цилиндр.Radius) and B3 (=Сфера.Radius).

  • Хотя это ожидаемо, значения могут обрабатываться как любые числа, попробуйте, например, ввести в ячейку C1: =B1*2.
  • Теперь мы можем изменить одно из этих значений в редакторе параметров, и изменения немедленно отразятся в таблице. Например, изменим длину куба на 20mm:

Страница верстака Spreadsheet покажет подробности о всех возможных операциях и функциях, которые доступны в таблице.

Запись свойств

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

  • Теперь закроем вкладку таблицы (в трёхмерном окне). Это не обязательно, можно и оставить несколько таблиц открытыми.
  • Нажмём снова кнопку New Spreadsheet
  • Изменим имя новой таблицы на что-то более содержательное, вроде Ввод (это делается правым кликом на новой таблице и выбором Переименовать).
  • Откроем редактор таблиц двойным кликом по таблице Ввод.
  • В ячейке A1 поместим описание, например: "Размеры Куба"
  • В ячейке B1 напишем =5mm (использование знака "=" гарантирует, что значение будет понято как величина, а не текст).
  • Теперь, чтобы использовать это значение за пределами таблицы, надо дать имя ячейке B1 псевдоним. Сделаем правый клик на ячейке, нажмём Свойства и выделим вкладку Псевдоним. Дадим имя, например, cubedims:

  • Нажмём OK и закроем вкладку таблицы
  • Выделим куб
  • В редакторе параметров кликнем маленькую иконку expression справа от поля Length. Это откроет редактор выражений, где мы сможем написать Spreadsheet001.cubedims. Повторим это для Height и Width:

Вы можете удивиться, почему нам понадобилось использовать в выражении "Spreadsheet001" вместо "Ввод". Это потому, что каждый объект в документе FreeCAD имеет внутреннее имя, уникальное для документа, и метку, видимую в древе проекта. Если Вы снимите соответствующую опцию в настройках, FreeCAD позволит давать одноименные метки для разных объектов. Поэтому все операции, которые должны однозначно идентифицировать объекты, используют внутренние имена вместо меток, которые могут обозначать разные объекты. Проще всего узнать внутренние имена объектов оставлять открытой панель просмотр выделения (меню Вид->Панели), она всегда показывает внутреннее имя выбранного объекта:

Используя в таблицах псевдонимы ячеек мы можем использовать таблицы для хранения "основных значений" в документах FreeCAD. Это может использоваться, например, для моделей различных размеров, сохраняя эти размеры в таблице. Становится лёгким создавать другие модели с различными размерами, просто открыв файл и изменив набор размеров в таблице.

В итоге заметьте, что ограничения внутри эскизов так же могут получать значения из табличных ячеек:

Так же можно создать псевдонимы для размерных ограничений (горизонтальных, вертикальных или по расстояниям) в эскизах (которые так же можно использовать за пределами эскизов)

Загрузки

Читать далее