Расчеты

Расчеты материалов определяют, сколько каждого материала используется на основе входных данных (переменных) из формы калькулятора. Система позволяет создавать гибкие формулы с условиями, которые адаптируются к различным сценариям.

Обзор

Интерфейс формы расчета материала

Расчет материала состоит из:

  • Материал или группа материалов – целевой материал, для которого рассчитывается расход
  • Условная логика - условия ИЛИ, которые обрабатываются по порядку
  • Формулы количества – математические выражения, определяющие использование материалов

Структура и компоненты

1. Выбор материала

Выберите конкретный материал или группу материалов из выпадающего списка.

2. Условная логика

Система поддерживает продвинутую условную логику:

  • До 5 блоков условий ИЛИ – каждый представляет альтернативную ситуацию
  • До 5 условий И в каждом блоке ИЛИ – все должны быть истинными для выполнения блока
  • Последовательная оценка – система обрабатывает блоки ИЛИ в порядке и останавливается при первой совпадении

Поля условий (Логика ИЛИ)

Каждое условие ИЛИ состоит из трёх частей:

  • Переменная – выбрать из ранее определённых переменных (например, $width, $height, $color)
  • Оператор – выбрать метод сравнения:
    • равно – точное совпадение
    • не равно – не равно
    • больше чем – числовое сравнение (>)
    • меньше чем – числовое сравнение (<)
    • включает – значение есть в списке
    • не включает – значение отсутствует в списке
  • Значение – значение для сравнения или литерал

3. Формула количества

Формула количества определяет использование материала при выполнении условий. Редактор формул поддерживает:

Переменные

Используйте любые определенные переменные с префиксом $:

$width, $height, $color, $material_type

Математические операции

Стандартные арифметические операторы и функции:

+, -, *, /, (), abs, round, ceil, floor, trunc, max, min

Расширенные функции

Тригонометрические и логарифмические функции:

sin, cos, tan, asin, acos, atan, atan2, pow, sqrt, exp, log, log10, random

Условные выражения

Тернарные операторы в стиле JavaScript для сложной логики:

условие ? значение_если_истина : значение_если_ложь

Примеры формул

Базовый расчёт:

($width - 38) / 1000

Условный расчёт:

($width >= 700 || $height >= 1700) ? 4 : 2

Сложная формула с несколькими условиями:

$color == "premium" ? ($width * $height * 1.5) : ($width * $height * 1.2)

Как это работает

  1. Обработка входных данных – Переменные заполняются из формы калькулятора
  2. Оценка условий – Проверка блоков ИЛИ по порядку
  3. Выполнение формулы – Когда условия совпадают, вычисляется расход материала
  4. Применение результата – Расчитанное количество применяется к выбранному материалу

Последовательность

ДЛЯ каждого блока условий ИЛИ:
  ЕСЛИ все условия И истинны (или условий И нет):
    ВЫПОЛНИТЬ формулу количества
    ПРЕКРАТИТЬ обработку
  ИНАЧЕ:
    Переход к следующему блоку ИЛИ

Лучшие практики

  • Начинайте с простых условий и постепенно усложняйте
  • Используйте понятные имена переменных для ясности
  • Тестируйте формулы с разными входными данными
  • Учитывайте крайние случаи в вашей условной логике
  • Добавляйте комментарии к сложным формулам при необходимости

Диагностика и устранение ошибок

  • Деление на ноль – проверяйте делители в формулах
  • Неопределённые переменные – убедитесь, что все переменные определены
  • Ошибки синтаксиса – проверяйте скобки и использование операторов
  • Несовпадение типов – убедитесь, что типы переменных соответствуют операциям

Расчёты материалов обеспечивают мощную гибкость для точных оценок расхода материалов. Комбинирование условной логики и математических формул позволяет решать сложные сценарии, сохраняя производительность и точность системы.