Калькулятор раскроя стекла для WordPress — бесплатный плагин с визуализацией
Если вы занимаетесь остеклением, производством мебели, витражами или просто регулярно работаете со стеклом — задача раскроя листов знакома не понаслышке. Считать вручную, сколько листов потребуется и как расположить детали чтобы минимизировать отходы, долго и неудобно. Специально для этого я разработал бесплатный плагин Калькулятор раскроя стекла для WordPress.
В этой статье расскажу что умеет плагин, как он работает изнутри и как установить его на свой сайт буквально за минуту.
![]()
Что делает плагин
Плагин добавляет на страницу или запись WordPress интерактивный калькулятор раскроя стекла. Пользователь вводит размеры исходного листа, перечисляет детали которые нужно вырезать (длина, ширина, количество), указывает ширину реза — и мгновенно получает результат.
На выходе калькулятор показывает:
- сколько листов потребуется;
- визуальную схему раскладки деталей на каждом листе;
- список обрезков с размерами — отдельно для каждого листа;
- КПД использования материала в процентах.
Если лист используется полностью и обрезков не остаётся, плагин отмечает это зелёной меткой «Лист использован полностью».
Как работает алгоритм раскроя
В основе плагина лежит гильотинный алгоритм упаковки прямоугольников (Guillotine Bin Packing) с критерием наилучшей площади (Best Area Fit). Это классический алгоритм для задач двумерного раскроя, который применяется в промышленных CAD-системах.
Принцип гильотинного разреза
Идея проста: каждый разрез идёт от края до края листа, делая его ровно на две части — как если бы вы резали стекло настоящим стеклорезом. Это соответствует реальной технологии работы со стеклом, где невозможно сделать Г-образный или фигурный рез.
После каждого размещения детали свободное пространство разбивается на два прямоугольных остатка. Алгоритм выбирает направление разреза (горизонтальный или вертикальный) так, чтобы получившиеся остатки были как можно крупнее и полезнее для следующих деталей.
Перебор стратегий сортировки
Главная проблема жадных алгоритмов раскроя — результат сильно зависит от порядка, в котором детали подаются на упаковку. Если сначала положить большую деталь, маленькие могут не вписаться оптимально, и придётся открывать лишний лист.
Плагин решает это перебором 7 стратегий сортировки деталей:
- по убыванию площади;
- по возрастанию площади;
- по убыванию длинной стороны;
- по убыванию короткой стороны;
- по возрастанию длинной стороны;
- по возрастанию короткой стороны;
- по убыванию периметра.
Каждая стратегия даёт свою раскладку. Из всех вариантов выбирается лучший по многоуровневому критерию: минимум листов → минимум листов с обрезками → минимум фрагментов отходов → минимум суммарной площади отходов.
Именно поэтому в задаче «лист 1000×1000, одна деталь 500×1000 и пять деталей 1000×200» плагин правильно находит раскладку, где первый лист заполняется пятью деталями 1000×200 полностью, а второй лист тратится на деталь 500×1000 с одним обрезком 500×1000.
Поддержка поворота деталей
Для каждой детали алгоритм автоматически пробует обе ориентации — прямую и повёрнутую на 90°. Повёрнутые детали отображаются на схеме со штриховкой и значком ↻, чтобы мастер знал в каком положении класть стекло.
Визуализация раскладки
Каждый лист отрисовывается на элементе <canvas> в реальном соотношении сторон. Детали закрашены разными цветами — каждый тип детали получает свой цвет, что помогает быстро ориентироваться на схеме.
На схеме отображаются:
- все детали с подписями размеров прямо на прямоугольнике;
- сетка с шагом 100 мм для масштабного ориентира;
- размерные надписи по краям листа;
- рамка листа.
Под каждой схемой выводится список обрезков. Обрезки отсортированы по убыванию площади — самый крупный и полезный остаток всегда первый в списке. При наведении на тег обрезка всплывает подсказка с его площадью в квадратных сантиметрах.
Параметры калькулятора
Исходный лист
Задаётся длина и ширина листа в миллиметрах. По умолчанию установлен стандартный промышленный размер 3210×2250 мм.
Ширина реза
Учитывает толщину пропила — потери материала на сам разрез. По умолчанию 0 мм (чистый расчёт без потерь на пропил). Для алмазного стеклореза обычно достаточно 1–2 мм, для пилы — 3–5 мм.
Детали
Можно добавить неограниченное количество типов деталей. Для каждого типа указывается длина, ширина и количество штук. Строки добавляются кнопкой «Добавить деталь» и удаляются крестиком справа.
Статистика результата
После расчёта над схемами отображается блок с четырьмя ключевыми показателями:
- Листов требуется — итоговое количество исходных листов.
- Деталей всего — суммарное количество всех деталей с учётом количества каждого типа.
- КПД использования — отношение суммарной площади деталей к суммарной площади всех листов в процентах. Отображается зелёным (≥80%), белым или оранжевым (<60%).
- Размер листа — напоминание о введённых габаритах.
Установка плагина
Плагин устанавливается стандартным способом — через загрузку ZIP-архива.
Шаг 1. Скачайте архив
Скачайте файл glass-cutting-calculator.zip по ссылке ниже.
Шаг 2. Загрузите в WordPress
В панели администратора перейдите в Плагины → Добавить новый → Загрузить плагин, выберите скачанный ZIP-файл и нажмите «Установить».
Шаг 3. Активируйте
После установки нажмите «Активировать плагин».
Шаг 4. Вставьте шорткод
Откройте любую страницу или запись в редакторе и добавьте шорткод:
[glass_cutting_calculator]
Сохраните и опубликуйте — калькулятор появится на странице.
Требования
- WordPress 5.0 и выше;
- PHP 7.4 и выше;
- современный браузер с поддержкой Canvas (Chrome, Firefox, Safari, Edge).
Плагин не требует сторонних библиотек, платных API или внешних сервисов. Все расчёты выполняются на сервере средствами PHP, визуализация — в браузере на чистом JavaScript без зависимостей.
Для кого подойдёт плагин
Калькулятор будет полезен на сайтах:
- стекольных мастерских и компаний по остеклению;
- производителей мебели и зеркал;
- магазинов строительных материалов;
- витражных студий;
- DIY и строительных блогов.
Кроме стекла алгоритм одинаково хорошо работает для раскроя фанеры, ДСП, акрила, поликарбоната и любых других листовых материалов — материал в расчёте не имеет значения, важны только размеры.
Часто задаваемые вопросы
Учитывается ли направление волокна или текстуры?
Нет. Алгоритм свободно поворачивает детали на 90° для лучшей упаковки. Если поворот недопустим (например, для зеркала с направленным напылением), просто вводите детали уже с учётом нужной ориентации и не рассчитывайте на то что повёрнутый вариант подойдёт.
Какой максимальный размер листа и количество деталей?
Ограничений по размерам нет — вводите любые значения в миллиметрах. Количество деталей практически не ограничено, однако при очень большом числе (несколько сотен) расчёт может занять несколько секунд.
Насколько оптимален результат?
Задача двумерного раскроя относится к классу NP-трудных задач, поэтому идеально оптимальное решение за разумное время не вычислить. Применяемый алгоритм даёт результат, близкий к оптимальному, для большинства практических случаев. Перебор 7 стратегий сортировки существенно улучшает качество по сравнению с простым жадным алгоритмом.
Можно ли использовать плагин для других материалов?
Да, без каких-либо доработок. Вводите размеры листа и деталей — алгоритму без разницы что именно режется.
Заключение
Плагин Glass Cutting Calculator решает реальную производственную задачу и легко интегрируется в любой WordPress-сайт одним шорткодом. Открытый алгоритм, никаких внешних зависимостей, корректный учёт ширины реза и наглядная визуализация — всё что нужно для быстрого и точного расчёта раскроя прямо на сайте.
Скачивайте, устанавливайте и делитесь впечатлениями в комментариях!
⚠ Для скачивания необходима авторизация
Войти на сайт
Калькулятор раскроя стекла
Оптимальный раскрой с визуализацией