Skip to content

AlexPror/zvdRaskroy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📐 Программа оптимального раскроя деталей

Version License Python

Автоматический расчет площадей разверток и оптимизация раскроя деталей на листы металла.

⚡ Возможности

  • Автоматический расчет площадей из DXF файлов
  • Умное извлечение количества из названий файлов ("2шт", "4шт", "x2")
  • Оптимальный раскрой с учетом зазоров для резки (5мм)
  • PDF отчеты с визуализацией раскроя и нумерацией деталей
  • Excel таблицы с расчетами, обрезками и координатами для ЧПУ
  • Анализ оптимальности габаритов проекта
  • Учет обрезков с нумерацией (W-001, W-002...) для повторного использования
  • "Магические числа" для идеального раскроя (95%+ утилизации)

📈 Результаты внедрения

Показатель ДО ПОСЛЕ Улучшение
Время обработки 30-40 мин 2-3 мин -90%
Ошибки в расчетах 10-15% 0% -100%
Утилизация листа 50-60% 70-85% +25% 📈
Учет обрезков ❌ Нет ✅ Да +5-10% ♻️

Экономический эффект: ~3 млн ₽/год для среднего производства (50 заказов/месяц)

🚀 Быстрый старт

Установка

  1. Клонировать репозиторий:
git clone https://github.com/AlexPror/zvdRaskroy.git
cd zvdRaskroy
  1. Установить зависимости:
pip install -r requirements.txt
  1. Запустить программу:
cd unfolding_area_calculator
python gui_calculator_enhanced.py

Использование

  1. Нажмите "🔍 Загрузить файлы DXF"
  2. Выберите папку с проектом (формат: ZVD.LITE.H.W.L Номер-заказа)
  3. Проверьте таблицу (🟢 зеленые = автоматически определенные количества)
  4. Нажмите "🚀 Запустить раскрой и создать отчеты"
  5. PDF и Excel откроются автоматически!

⏱️ Время: 2-3 минуты вместо 40!

📖 Документация

🎯 Ключевые особенности

1. Автоматическое извлечение количества

Программа распознает количество деталей из названий файлов:

"004 - Корпус короба 2шт.dxf"     → 2 детали 🟢
"005 - Распорка бассейна 4шт.dxf" → 4 детали 🟢
"007 - Стенка x2.dxf"             → 2 детали 🟢

Поддерживаемые форматы: 2шт, 4 шт, x2, X4, (2шт) и др.

2. Учет зазоров для резки

  • Автоматически добавляется 2.5мм со всех сторон каждой детали
  • Между двумя деталями: 2.5мм + 2.5мм = 5мм (стандарт для лазерной резки)
  • В отчетах показываются реальные размеры (без зазора)

3. Анализ оптимальности

Программа оценивает использование листа:

  • 🔴 ПЛОХО (<50%) - Много отходов
  • 🟡 СРЕДНЕ (50-70%) - Можно улучшить
  • 🟢 ХОРОШО (70-85%) - Оптимально
  • МАГИЯ (95%+) - "Магические числа", идеальный раскрой!

4. Учет обрезков

  • Автоматическая нумерация: W-001, W-002, W-003...
  • Размеры и площадь каждого обрезка
  • Инструкция по маркировке для повторного использования
  • Экономия 5-10% материала

🎓 Требования

  • OS: Windows 7/10/11
  • Python: 3.11+
  • RAM: 4 GB
  • Disk: 100 MB

📦 Зависимости

Основные библиотеки:

  • ezdxf - чтение DXF файлов
  • rectpack - алгоритм 2D bin packing для раскроя
  • reportlab - создание PDF отчетов
  • openpyxl - создание Excel таблиц
  • tkinter - графический интерфейс
  • win32com - интеграция с КОМПАС-3D (опционально)

Полный список: requirements.txt

🏗️ Структура проекта

zvdRaskroy/
├─ unfolding_area_calculator/     # Основная программа
│  ├─ gui_calculator_enhanced.py  # GUI (точка входа)
│  ├─ area_calculator.py          # Расчеты площадей
│  └─ ...
├─ components/                    # Компоненты
│  ├─ nesting_visualizer.py       # Визуализация раскроя
│  ├─ project_dimension_extractor.py  # Извлечение габаритов
│  ├─ smart_nesting_optimizer.py  # Алгоритм раскроя
│  └─ ...
├─ configs/                       # Конфигурации
├─ docs/                          # Документация
└─ README.md                      # Этот файл

💡 Примеры использования

Пример 1: Простой проект

Проект: ZVD.LITE.150.200.3000 А-021025-1225
Деталей: 8 уникальных (17 шт всего)
Результат: 1 лист, 56% утилизация
Время: 2 минуты

Пример 2: Оптимизированный проект

Проект: ZVD.LITE.150.300.3000 А-021025-1225
Деталей: 8 уникальных (17 шт всего)
Результат: 1 лист, 70% утилизация ✓
Время: 2 минуты

Пример 3: С "магическим числом"

Проект: ZVD.LITE.150.247.3000 (L=247мм - магическое!)
Результат: 96% утилизация ✨
Экономия: +30% по сравнению с L=200мм

🔮 Roadmap

v2.0 (текущая)

  • Автоматический расчет и раскрой
  • PDF/Excel отчеты
  • Анализ оптимальности
  • Учет обрезков

v3.0 (в разработке) 🚧

  • AI-рекомендации по оптимизации
  • Автоматический подбор деталей из других проектов
  • База данных обрезков
  • Предсказание оптимальных габаритов

v4.0 (планируется) 🔮

  • Веб-версия
  • Интеграция с 1С
  • Экспорт в G-code для ЧПУ
  • ML-модель оптимизации

🤝 Вклад в проект

Приветствуются pull requests, issues и предложения!

  1. Fork репозитория
  2. Создайте feature branch (git checkout -b feature/amazing-feature)
  3. Commit изменений (git commit -m 'Add amazing feature')
  4. Push в branch (git push origin feature/amazing-feature)
  5. Откройте Pull Request

📞 Контакты

📄 Лицензия

Распространяется под лицензией MIT. См. LICENSE для подробностей.

🙏 Благодарности

  • Open-source сообществу за библиотеки
  • Команде разработки за тестирование и обратную связь
  • Производству за использование и улучшения

⭐ Если проект полезен, поставьте звезду!

© 2025 AlexPror | Версия 2.0