Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

2 - 2023

Как создать идеальную документацию для мебельного производства

Павел Бунаков

На большинстве мебельных предприятий действуют внутренние стандарты оформления конструкторской и технологической документации, которые практически невозможно поддерживать стандартными средствами, имеющимися во всех САПР. Необходим гибкий инструментарий, позволяющий создавать и выводить любые формы документов. О том, как это реализовано в системе БАЗИС, рассказывается в данной статье.

Структура мебельного производства независимо от его характера и номенклатуры включает материальный склад, конструкторско-технологические и производственные подразделения, склад готовых изделий и администрацию, которые работают в едином информационном пространстве. На каждом предприятии создается свой пакет технической документации, которая сопровождает прохождение заказа от приема до передачи заказчику. Его содержание зависит от многих факторов, но, как правило, всё определяется размером предприятия: и количество документов, и требования к их оформлению. Например, на крупных предприятиях чертежи могут строго соответствовать ЕСКД, включая обозначения шероховатостей и допусков, тогда как на малых предприятиях (а их абсолютное большинство в мебельной промышленности) нередко довольствуются «картинками» с размерами. Хотя и в малом бизнесе по мере развития формируется собственный внутренний стандарт, чтобы рабочим не надо было ничего додумывать.

В этом процессе «стихийной стандартизации» есть еще один важный момент для руководителя. Можно производить отличную мебель и без строгого документирования, если конструктор и рабочий понимают друг друга с полуслова. А что будет, если кто-то из них уйдет, унеся в голове все тонкости производственного процесса. Хорошая же документация понятна всем, и она никуда не денется.

Документы в системе БАЗИС

При разработке конструкторских, технологических и технико-экономических модулей системы БАЗИС помимо проблемной функциональности большое внимание всегда уделялось инструментам документирования. Обязательные требования к ним — универсальность, инвариантность к модулям и высокая степень автоматизации. Для этого в свое время был выбран объектно-ориентированных подход к построению 3D-моделей, когда в них заносилась не только традиционная геометрическая информация, но и всё, что характерно для изделий корпусной мебели.

Как известно, документы подразделяются на графические и текстовые. В совокупности они содержат исчерпывающую информацию для оформления договора с клиентом, для проектирования и изготовления изделий, их контроля и отгрузки. Об основных инструментах формирования документации в системе БАЗИС можно узнать из публикаций в журнале «САПР и графика» [1-3], а также из учебного пособия, рассчитанного как на студентов, так и на профессиональных мебельщиков [4]. О некоторых «тонкостях» создания документов, уникальных как по оформлению, так и по набору отображаемых в них сведений, в различных модулях системы, и пойдет речь далее.

Дифференцирование по классам в модуле БАЗИС-Смета

Модуль БАЗИС-Смета позволяет формировать спецификации на материалы и комплектующие с указанием для каждого элемента точного количества в изделии, стоимости, массы, единиц измерения и целого ряда других параметров. Для этого выполняется анализ модели и формируется кортеж данных по каждому элементу в соответствии с их иерархией. Это стандартный шаблон оформления. Однако на разных предприятиях могут существовать различные варианты оформления спецификации, которые он не учитывает. Рассмотрим один из вариантов создания шаблона спецификации, в котором материалы и комплектующие группируются по классам, а внутри каждого класса упорядочиваются по алфавиту. Возьмем модель современного шкафа-купе (рис. 1) и на его примере покажем последовательность действий.

Рис. 1. Модель шкафа

Рис. 1. Модель шкафа

Рис. 2. Окно печати отчетов

Рис. 2. Окно печати отчетов

Вызываем модуль БАЗИС-Смета, переходим в режим печати отчетов (рис. 2) и вызываем окно редактирования шаблонов (рис. 3). После этого добавляем на поле шаблона бэнд (контейнер данных) заголовка и бэнд данных. В первом случае указываем признак группирования — классы материалов (рис. 4), а во втором — источник данных (таблица материалов). Примем следующую структуру отчета по столбцам:

  1. Наименование материала.
  2. Класс материала.
  3. Количество материала в заказе.
  4. Стоимость материала в заказе.

Из дерева данных (рис. 5) соответствующие характеристики материалов переносим на бэнд данных, располагая их в нужном порядке. После этого можно выбрать параметры шрифта, а также указать различные элементы оформления, например рамки вокруг полей заголовка и полей данных.

Рис. 3. Окно редактирования шаблона

Рис. 3. Окно редактирования шаблона

Рис. 4. Указание параметра группировки

Рис. 4. Указание параметра группировки

Рис. 5. Дерево данных

Рис. 5. Дерево данных

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

Рис. 6. Первоначальный вариант спецификации

Рис. 6. Первоначальный вариант спецификации

Шаблон в целом готов. Сформируем в соответствии с ним спецификацию по показанному выше шкафу-купе (рис. 6). В принципе, вся требуемая информация отображена, но с точки зрения «читабельности» она оставляет желать лучшего:

  • группировка по классам присутствует, но материалы, относящиеся к одному классу, расположены в разных частях (см. красные прямоугольники на рис. 6). Это объясняется последовательным характером анализа модели, которая имеет в реальности иерархическую структуру, то есть материалы одного класса могут встречаться на разных уровнях иерархии. Соответственно, в отчет они будут включаться «по мере поступления»;
  • излишняя точность вывода числовых данных;
  • отсутствие сортировки сгруппированных данных.

Рис. 7. Окно редактора макросов

Рис. 7. Окно редактора макросов

Для того чтобы избавиться от первого недостатка, необходимо указать дополнительные условия, налагаемые на каждый класс, попадающий в таблицу спецификации при последовательном анализе модели. Это делается с помощью макроса, для написания которого вызывается специальный редактор (рис. 7). Он состоит всего из одной команды — вызова стандартной функции мультисортировки. В качестве фактических параметров указывается нужная таблица базы данных (таблица материалов) и поле, по которому выполняется сортировка (классы материалов):

MultiSort('Таблица материалов', 'Классы материала');

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

Второй недостаток исправляется совсем просто: для каждого столбца спецификации из выпадающего меню выбирается нужный формат (рис. 8). Для отображения количества материала выбираем числовой формат с тремя знаками после запятой, а для стоимости — с двумя знаками. Заодно выравниваем данные (в столбце классов — по центру, а в столбцах количества и стоимости — по правой границе столбца) и задаем фон для заголовков.

Рис. 8. Определение формата вывода данных

Рис. 8. Определение формата вывода данных

Последний недостаток ликвидируется расширением второго параметра в вызове функции MultiSort дополнительным полем сортировки:

MultiSort('Таблица материалов',
 'Классы материала; Наименование материала');

Это означает, что записи результирующей таблицы группируются по первому полю, а внутри группы упорядочиваются по второму полю.

Рис. 9. Размещение текстовой строки

Для повышения информативности спецификации сделаем еще две доработки. Во-первых, отобразим названия классов перед таблицей каждой группы. Это делается с помощью написания программного кода обработчика событий, который будет выполняться перед выводом информации по каждому классу. Предварительно разместим текстовую строку перед заголовком таблицы (рис. 9) и занесем в нее какой-либо текст, например «Название группы». При формировании спецификации он будет заменяться на реальное название очередного класса. Создаем событие OnBeforePrint («Перед печатью») двойным щелчком мыши в одноименной строке событий инспектора объектов и с помощью команды выбора прописываем в нем соответствие обозначений и наименований классов:

procedure Memo7OnBeforePrint(Sender: TfrxComponent);

begin

 case <Таблица материалов."Классы материала"> of

   'M1':  Memo7.Text:= 'Плитные материалы'; 

   'M2':  Memo7.Text:= 'Системы раздвижения'; 

   'M3':  Memo7.Text:= 'Фурнитура'; 

   'M4':  Memo7.Text:= 'Химия'; 

   'M5':  Memo7.Text:= 'Облицовочные материалы'; 

   'M6':  Memo7.Text:= 'Диски и фрезы'; 

 end;            

end;    

Далее дополним таблицу по каждому классу строкой с общей стоимостью входящих в нее материалов. Добавим в шаблон еще один бэнд — подвал группы. Разместим в нем постоянную текстовую строку «Итого:», увеличив ее ширину до столбца «Стоимость», а правее нее — строку для вывода итоговой стоимости. В эту последнюю строку с помощью редактора текста записываем агрегатную функцию суммирования, указав бэнд источника данных и поле суммирования (рис. 10).

Рис. 10. Создание агрегатной функции

Рис. 10. Создание агрегатной функции

Фрагмент окончательного вида отчета по созданному шаблону показан на рис. 11. Таким образом, достаточно легко и быстро можно «сконструировать» любой вид спецификации.

Рис. 11. Пример спецификации

Рис. 11. Пример спецификации

Статистический отчет по результатам раскроя материалов

При выполнении раскроя плитных материалов в модуле БАЗИС-Раскрой помимо карт раскроя формируется стандартный отчет по его результатам, в котором по каждому материалу выводятся суммарные площади деталей и обрезков, количество и длина резов, количество поворотов плиты и многое другое (рис. 12). При большом количестве материалов в таком «обилии» информации бывает трудно ориентироваться. Создадим новый шаблон с актуальной для некоторого предприятия статистикой по раскрою текущего заказа. Пусть это будет наименование материала, общий коэффициент использования материала (КИМ), количество карт раскроя, площадь раскроенных панелей, количество резов и длина резов, а также количество установок размеров. Последний параметр актуален при раскрое на форматно-раскройном станке.   

Рис. 12. Пример отчета по раскрою материалов

Рис. 12. Пример отчета по раскрою материалов

Вначале поставим бэнд заголовка и разместим в нем текстовую строку «Статистика по раскрою». После этого выбираем бэнд данных, указывая их источник — «Статистика и карты раскроя» (рис. 13). В краткий отчет, пока для примера, включим наименование материала, общий КИМ по всем раскраиваемым плитам и КИМ по каждой плите. Отчет, формируемый по такому шаблону, показан на рис. 14.  Из него видно, что количество строк по каждому материалу равняется количеству раскраиваемых листов, общий КИМ по всем материалам одинаковый, а КИМ по листам, естественно, для каждого свой. Отчет более наглядный, но еще далеко не идеальный — и по содержанию, и по оформлению. Как и в предыдущем примере, необходимо выполнить группирование, сортировку и форматирование.

Рис. 13. Определение источника данных

Рис. 13. Определение источника данных

Рис. 14. Вариант отчета

Рис. 14. Вариант отчета

Удалим предыдущий бэнд источника данных и поставим бэнд заголовка группы и бэнд данных, указав аналогично предыдущему примеру источник данных («Статистика и карты раскроя») и параметр группирования («Материал»). После этого разместим на нем в два столбца необходимые параметры. Укажем, при необходимости, единицы измерения, а также формат числовых данных. После размещения всех параметров выровняем их по левой границе и длине. Отчет, соответствующий всем выбранным требованиям, показан на рис. 15.

Рис. 15. Готовый отчет

Рис. 15. Готовый отчет

Списки панелей на картах раскроя

Карты раскроя материалов — это графическое изображение расположения деталей на листе материала стандартного формата. На многих предприятиях их снабжают различной дополнительной информацией, например статистическими данными, QR-кодом или списком панелей. В системе БАЗИС с помощью рассматриваемого инструментария формирования отчетов можно разработать шаблон для вывода карт раскроя, который будет содержать любые необходимые данные. Рассмотрим процесс его создания.

Добавляем новую страницу в список шаблонов и задаем альбомную ориентацию, поскольку карты раскроя выводятся, как правило, именно в таком виде. Как и в предыдущих примерах, разместим бэнд данных, определим их источник — «Статистика и карты раскроя». Размер бэнда сделаем практически равным размеру страницы. Сверху в одну строчку для экономии места разместим общую информацию: номер заказа, наименование материала, размеры раскраиваемой плиты, количество плит, номер карты и общее количество карт. 

Предположим, что на предприятии установлен пильный центр и при выполнении раскроя для него формируются управляющие программы. Это значит, что на картах раскроя необходимы QR-коды с их наименованиями. Поставим на страницу соответствующий объект, зададим масштаб его отображения, а также укажем источник данных — «Статистика и карты раскроя», и нужное поле данных — «Управляющая программа» (рис. 16). Добавим некоторые статистические данные по раскрою: КИМ, площадь панелей, длину резов, количество резов и так далее, одним словом — любую необходимую информацию.

Рис. 16. Объект QR-код

Рис. 16. Объект QR-код

Теперь поставим на страницу саму карту раскроя, зададим ей необходимый размер, определим тот же самый источник данных и укажем поле данных — «Карта раскроя».  

Комплект карт раскроя может быть достаточно объемным, поэтому карты пронумеруем. Добавим бэнд — «Подвал страницы» и в его правой части разместим объект «Текст» с переменными «Номер страницы» (Page) и «Количество страниц» (TotalPages), разделенными наклонной чертой (рис. 17).

Рис. 17. Нумерация страниц

Рис. 17. Нумерация страниц

Дополним шаблон списком панелей, размещенных на каждой карте раскроя. Проблема заключается в том, что результатам раскроя и списку панелей в заказе соответствуют разные источники данных. Для ее разрешения воспользуемся объектом «Вложенный отчет», который разместим правее карты раскроя на всем свободном пространстве страницы. Автоматически будет создана новая страница — подотчет, работа с которой полностью аналогична работе с шаблоном. Необходимо только учитывать ее реальные размеры на основной странице.

На новой странице размещаем заголовок и бэнд данных, указав для последнего источник данных «Список панелей». Далее необходимо синхронизировать данные из различных источников, чтобы панели на карте раскроя соответствовали панелям в таблице. Для этого при назначении источника данных зададим фильтр, включающий два условия отбора панелей: совпадение материала панелей и номеров карт раскроя. Они формируются с помощью выбора нужных параметров из списка и объединения их логическими действиями (рис. 18). В данном случае фильтр будет иметь вид:

(<Список деталей."Наименование материала"> =

<Статистика и карты раскроя."Материал">) and

(<Список деталей."Номер карты"> =

<Статистика и карты раскроя."Номер карты">)

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

Сделаем еще одну интересную доработку — отметим для каждой детали ее особенности:

  • готовность — будет ли данная деталь встречаться на следующих картах раскроя, или на данной карте она последняя;
  • является ли данная деталь срощенной, или нет (сращивание — это объединение нескольких, обычно двух деталей в одну деталь, которая будет распилена в другой технологической операции);
  • является ли размер детали увеличенным (увеличение размера детали может потребоваться, к примеру,  при использовании некоторых моделей кромкооблицовочных станков, имеющих ограничения на минимальный размер обрабатываемой детали).

Данные характеристики по типу являются логическими (да/нет), поэтому напрямую их вывести нельзя. Сделаем обработчик, в котором сопоставим наличию каждого признака некоторое символьное обозначение, например символ V, два знака равенства и два плюса соответственно. При отсутствии же признака это обозначение выводиться не будет.

Разместим правее списка панелей еще один объект «Текст» и напишем для него обработчик события, происходящего перед отображением документа (OnBeforePrint), следующего вида:  

s:= '';                                

if <Список деталей."Готовая"> then s:= 'V';

if <Список деталей."Срощенная"> then s:= s + '==';

 if <Список деталей."Увеличенная"> then s:= s + '++';

Memo88.Text:= s;

Здесь s — вспомогательная переменная текстового типа. Смысл данной программы не требует глубоких пояснений: в ней просто последовательно в зависимости от условий формируется текстовая строка признаков, которая затем отображается около нужной строки таблицы.

Рис. 18. Формирование фильтра

Рис. 18. Формирование фильтра

Можно и дальше повышать информативность карт раскроя, но остановимся на этом. Одна из карт раскроя, входящая в комплект карт для приведенного выше шкафа и оформленная по созданному шаблону, показана на рис. 19.

Рис. 19. Пример карты раскроя

Рис. 19. Пример карты раскроя

Заключение

Инструментарий работы с документами в системе БАЗИС, будучи глубоко интегрированным с создаваемыми моделями изделий, позволяет с минимальными затратами создавать любые специфические формы документов и автоматически наполнять их необходимыми данными. Важно, что библиотека шаблонов создается одним человеком и один раз, а используется всеми специалистами предприятия в течение долгого времени.

Литература:

  1. Бунаков П.Ю., Лопатин А.К. Новые возможности оформления документов в системе БАЗИС // САПР и графика. 2022. № 4(306). С. 56-62.
  2. Бунаков П.Ю. Особенности автоматического формирования сборочных чертежей в системе БАЗИС // САПР и графика. 2021. № 1(291). С. 22-26.
  3. Бунаков П.Ю., Килинг К.В. Новый модуль автоматизации раскроя материалов в системе БАЗИС // САПР и графика. 2020. № 4(282). С. 58-63.
  4. Газеев М.В., Ветошкин Ю.И., Бунаков П.Ю. Основы конструирования мебели: учебное пособие / Уральский государственный лесотехнический университет, АНО ДПО «Научно-учебный центр БАЗИС». Коломна, 2022.

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557