Программа+
Для того, чтобы быстро создавать калькуляции на основе полноценных программ используйте вкладку "Программа+".
Эта вкладка позволяет сделать чтобы калькуляция сама выбирала нужные элементы для обработки.
Можно объявлять переменные, которые можно использовать и в ходе подготовки данных, в цикле обработки элементов и в ходе подготовки результатов.
Можно создавать и простые и очень замысловатые алгоритмы расчета в виде полноценных программ.
Можно получать различные результаты, записывать их в файл, считывать данные из Excel и все, что позволяет LABPP_Automat (см. руководство по программированию).
На вкладке мы видим три окна для формирования фрагментов программ.
Первый фрагмент выполняется перед циклом обработки списка отобранных элементов. Здесь можно писать директивы для отбора элементов из проекта для обработки в список № 1.
Кроме этого можно делать любые операции - создавать и обрабатывать таблицы, загружать и выгружать данные, обращаться к БД и Excel, получать и изменять элементы в проекте и многое многое другое, так же как и в третьем фрагменте.
Второй фрагмент - собственно текст программы в цикле обработки элементов. Он выполняется для каждого элемента.
Третий фрагмент выполняется после цикла обработки отобанных элементов. Здесь, например, можно обрабатывать результаты и записывать их в несколько ячеек или в файл или куда душе угодно.
На рисунке в первом фрагменте вы выбираем из проекта все элементы типа "стена", у которых свойство "thickness" больше 4.
Объявляем переменную my_variable для подсчета количества элементов.
Здесь мы могли бы использовать встроенную переменныу i и icount, но применили другой способ для демонстрации возможностей.
Встроенные переменные i и icount - содержат порядковый номер от 0 до n-1 и число элементов, которые будут обработаны.
Таким образом в пункте "Программа+" можно создавать абсолютно полноценные мощные программы для работы с проектом.
Создаваемая калькуляция может так же как и формула запускаться сразу или быть записанной в файл и использоваться много раз.
Если вы хотите создать программу без обработки элементов в цикле, то оставьте средний фрагмент пустым, а во вкладке "Настройки" снимите "галочку" с пункта "Стоп, если список элементов пуст".
Тогда будут выполнены только первый и последний фрагменты.
Или можно использовать только первый фрагмент, а в конце него поставить директиву return;