Использование электронных таблиц

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page Manual:Using spreadsheets and the translation is 49% complete.

Outdated translations are marked like this.
Other languages:
English • ‎français • ‎italiano • ‎română • ‎русский

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

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

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

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

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

Exercise spreadsheet 01.jpg

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

Exercise spreadsheet 02.jpg

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

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

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

Exercise spreadsheet 03.jpg

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

Exercise spreadsheet 04.jpg

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

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

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

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

Exercise spreadsheet 05.jpg

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

Exercise spreadsheet 06.jpg

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

Exercise spreadsheet 07.jpg

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

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

Exercise spreadsheet 08.jpg

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

Exercise spreadsheet 09.jpg

Загрузки

Читать далее