Импорт геометрии и производственная интерпретация

3 мин. чтения

Статус Актуально
Последняя проверка 2026-10-07 (соответствует Git на момент импорта; содержание повторно не проверялось)
Источник Git
Исходный файл docs/GEOMETRY_INTERPRETATION.md — открыть на GitHub
Язык статьи перевод с английского оригинала (файл перевода: translations/ru/docs/GEOMETRY_INTERPRETATION.md)
Git-репозиторий git@github.com:advertech/signage-estimator.git (сервер: /root/signage-estimator)
Git-коммит d22587c1f7e3add9efd54c7ffc0be0a01b296fa3 (master)
Файл последний раз изменён 79bbaf22f0a9 от 2026-09-27
Последний импорт 2026-10-07T09:14:19+02:00
Примечание Источник истины — Git. Меняйте файл в репозитории и перезапускайте /root/wiki-sign-expert/import_git_docs.py; правки, сделанные здесь, будут перезаписаны следующим импортом.

Текущий процесс #

Извлечение из PDF, SVG и DXF по-прежнему выполняется в изолированном процессе-парсере. Замкнутые нормализованные исходные контуры сохраняются в parts.geometry; с каждым контуром остаются связаны исходный файл, масштаб, исходная точка отсчёта, цвет заливки/обводки и ссылка на объект/слой. Составные подпути SVG остаются вместе как один исходный объект, поэтому типичная составная форма «буква с внутренним контуром» остаётся одним полигоном с внутренним кольцом. Отдельные SVG-элементы и объекты рисования PDF сохраняются раздельно и не объединяются только потому, что один находится внутри другого.

ProductionElement и ElementGeometry — это слой интерпретации. Производственный элемент — это одно физически изготавливаемое изделие; сопоставления назначают сохранённым исходным контурам роли BODY_OUTER, CUTOUT, GRAPHIC, SEPARATE_PART или IGNORE. Стабильная таблица ролей поддерживает будущие имена слоёв через material_layer. Каждая созданная вручную деталь и каждый простой импортированный контур оборачивается в один подтверждённый элемент BODY для обратной совместимости.

Проход топологии записывает родителя по вложенности, глубину, пересечения и расстояния. Вложенность и цвет — только подсказки. Вложенные или пересекающиеся отдельные объекты помечаются на проверку и не могут раскладываться или попадать в предложение, пока не будут подтверждены. Оператор может выбрать контуры в векторном режиме проверки, сгруппировать их как один BODY плюс графику, задать роли, назначить слой графики/материала, отделить контур, разгруппировать или игнорировать контуры. Исходная геометрия контуров и координаты при группировке не переписываются.

Производственная геометрия #

Раскладка и оценки Channel Letters используют производную производственную геометрию. Для каждого подтверждённого элемента контуры BODY выравниваются по сохранённым исходным точкам отсчёта, объединяются, а контуры CUTOUT вычитаются. Контуры GRAPHIC, IGNORE и неактивные исключаются. Результат — полигональная геометрия контура с отверстиями; исходные записи Part остаются нетронутыми. Поэтому метрики тыла, лица, борта и LED выводятся из одного физического элемента, а не из графических наложений как отдельных листовых деталей. Площади графики и назначения слоёв остаются доступными для будущих операций с плёнкой/печатью; калькуляция графики пока не реализована.

Ключи геометрии включают каноническую геометрию контура и количество элементов, поэтому правка body/внутреннего контура инвалидирует затронутую раскладку. Правка только роли графики оставляет ключ раскладки без изменений. Исходные координаты не меняются; раскладка получает собственную производную/трансформированную геометрию.

Ревизии и миграция #

Миграция c91b7a4d2e60 создаёт таблицы производственных элементов и ролей контуров и заполняет каждую существующую Part как подтверждённый одноконтурный элемент BODY. Новые снимки ревизий сохраняют элементы и сопоставления ролей. Исторические снимки, сделанные до этой миграции, отображаются как один элемент BODY на каждую сохранённую Part; продолжение/восстановление такой ревизии создаёт эквивалентные сопоставления по умолчанию. Правка интерпретации влияет только на рабочее состояние расчёта и фиксируется при сохранении новой ревизии.

Ограничения #

Конвейер импорта сейчас нормализует замкнутые производственные контуры. Он пока не хранит полноценную редактируемую модель для открытых путей гравировки/обводки, PDF clipping paths, CSS-классов SVG/ссылок use или семантики вставок блоков DXF. SVG fill-rule сохраняется как метаданные источника, тогда как текущее преобразование составных контуров использует чётность вложенности. Неоднозначные компоновки намеренно отправляются в Geometry Review, а не угадываются. Автоматическая калькуляция площади графических слоёв и раскладка с учётом материала — будущая работа.

Обновлено 07.10.2026