Расчеты
Расчеты материалов определяют, сколько каждого материала используется на основе входных данных (переменных) из формы калькулятора. Система позволяет создавать гибкие формулы с условиями, которые адаптируются к различным сценариям.
Обзор
Расчет материала состоит из:
- Материал или группа материалов – целевой материал, для которого рассчитывается расход
- Условная логика - условия ИЛИ, которые обрабатываются по порядку
- Формулы количества – математические выражения, определяющие использование материалов
Структура и компоненты
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)
Как это работает
- Обработка входных данных – Переменные заполняются из формы калькулятора
- Оценка условий – Проверка блоков ИЛИ по порядку
- Выполнение формулы – Когда условия совпадают, вычисляется расход материала
- Применение результата – Расчитанное количество применяется к выбранному материалу
Последовательность
ДЛЯ каждого блока условий ИЛИ:
ЕСЛИ все условия И истинны (или условий И нет):
ВЫПОЛНИТЬ формулу количества
ПРЕКРАТИТЬ обработку
ИНАЧЕ:
Переход к следующему блоку ИЛИ
Лучшие практики
- Начинайте с простых условий и постепенно усложняйте
- Используйте понятные имена переменных для ясности
- Тестируйте формулы с разными входными данными
- Учитывайте крайние случаи в вашей условной логике
- Добавляйте комментарии к сложным формулам при необходимости
Диагностика и устранение ошибок
- Деление на ноль – проверяйте делители в формулах
- Неопределённые переменные – убедитесь, что все переменные определены
- Ошибки синтаксиса – проверяйте скобки и использование операторов
- Несовпадение типов – убедитесь, что типы переменных соответствуют операциям
Расчёты материалов обеспечивают мощную гибкость для точных оценок расхода материалов. Комбинирование условной логики и математических формул позволяет решать сложные сценарии, сохраняя производительность и точность системы.