Автоматизация получения параметров детали для задач конструкторско-технологической параметризации
Автор: Щкин Александр Васильевич
Журнал: Инженерные технологии и системы @vestnik-mrsu
Рубрика: Информатика, вычислительная техника и управление
Статья в выпуске: 3, 2019 года.
Бесплатный доступ
Введение. Автоматизация получения конструкторских параметров обрабатываемой детали является одним из этапов интеграции конструкторских систем автоматизированного проектирования с системами технологической подготовки производства. Целью данной работы является получение параметров детали, значения которых могут использоваться в составе информационных связей, реализуемых с применением технологической параметризации. Материалы и методы. Работа является развитием концепции сквозной конструк-торско-технологической параметризации применительно к автоматизированному программированию станков с числовым программным управлением. В основе теоретических исследований лежат формальная теория представления и обработки данных, теория множеств, теория иерархических многоуровневых систем. Программная реализация выполнена в среде Visual Studio C++ с использованием интерфейсов прикладного программирования KOMTJAC-3D и геометрического ядра C3D. Результаты исследования. Разработан способ получения исходных параметров обрабатываемой детали при передаче информации из конструкторских систем автоматизированного проектирования в системы технологической подготовки производства. Приведена логическая структура данных в реляционной форме, которая позволяет исключить избыточность и обеспечить непротиворечивость представления параметров детали с учетом приоритетов источников данных, связанных с конструкторской 3D-моделью. Способ программного реализован в составе коммерческой системы автоматизированного программирования станков с числовым программным управлением для платформы КOMПАC-3D. Исходные параметры (метаданные, свойства материала, параметры аннотаций, параметрические переменные) извлекаются из 3D-модели с использованием прикладного программного интерфейса. Для получения свойств материала реализована интеграция со справочником материалов системы КOMПАC-3D. Обсуждение и заключение. Автоматизация подготовки исходной информации о детали является первым этапом в реализации сквозной параметризации в задачах конструкторского и технологического проектирования. Благодаря конструкторско-технологической параметризации и ассоциативности траекторий обработки можно построить сквозное проектное решение, когда изменения, внесенные конструктором в деталь, будут автоматически передаваться в технологическую модель и далее через постпроцессор в управляющую программу для станка с числовым программным управлением. Сквозную параметризацию наиболее эффективно использовать для деталей, имеющих несколько размерных модификаций. Дальнейшее развитие конструкторско-технологической параметризации в составе интегрированной системы автоматизированного программирования станков с программным управлением планируется направить на решение задач автоматического подбора режущих инструментов и приспособлений на основе алгоритмов, реализуемых пользователями посредством параметрических информационных связей.
Параметризация, система автоматизированного проектирования, компас-3d, управляющая программа, 3d-модель, интеграция, интерфейс прикладного программирования
Короткий адрес: https://sciup.org/147220624
IDR: 147220624 | DOI: 10.15507/2658-4123.029.201903.345-365
Текст научной статьи Автоматизация получения параметров детали для задач конструкторско-технологической параметризации
Конструкторско-технологическая параметризация является мощным инструментом повышения уровня автоматизации технологической подготовки производства. Устанавливая информационные связи между параметрами конструкторской модели и параметрами технологического процесса, инженеры-технологи могут самостоятельно автоматизировать типовые расчетные методики, сократить время разработки технологической документации, достичь повторного использования технологического проекта.
Конструкторско-технологическая параметризация обычно применяется в системах автоматизированного проектирования технологических процессов (САПР ТП) для автоматизированного заполнения шаблонов технологической документации, являясь эффективным инструментом инженеров-технологов [1; 2]. Например, используя штатные параметрические возможности САПР ТП и готовый редактор переменных, современные исследователи запрограммировали простейшие алгоритмы для вычисления значений параметров в ячейках технологической документации [3–6].
В одной из предыдущих работ автором данной статьи впервые был предложен подход к организации подсистемы конструкторско-технологической параметризации для задач в области автоматизированного программирования станков с числовым программным управлением (ЧПУ) [7]. Начальным этапом работы подсистемы является этап подготовки исходной информации об обрабатываемой детали. Числовые значения исходных параметров детали в дальнейшем могут использоваться в параметрических расчетах, например, свойства материала - для расчета режимов резания, размеры и шероховатости поверхностей - для создания параметризованных траекторий, а параметры конструкторско-технологических эле- ментов - для программирования постпроцессоров.
Автоматизация получения конструкторских параметров обрабатываемой детали является важнейшим этапом интеграции конструкторских систем автоматизированного проектирования (САПР) с системами технологической подготовки производства. Она позволяет свести к минимуму или полностью исключить повторный ввод информации и обеспечить сквозную передачу данных по цепочке «конструкторская 3D-модель» - «программирование обработки» ‒ «изготовление на станке с ЧПУ» (CAD-CAM-CNC).
В контексте CAD/CAM-интеграции выделяют две задачи: распознавание конструкторско-технологических элементов (задача feature recognition [8–10]) и получение негеометрических параметров детали (задача technical information processing [11-13]). Задача feature recognition представляет собой отдельную сложную тему и выходит за рамки настоящей публикации. Целью данной работы является получение негеометрических (инженерных) параметров детали, числовые значения которых в дальнейшем могут использоваться в составе параметрических расчетов, а текстовые значения передаваться в управляющую программу.
Обзор литературы
Как в САПР технологической подготовки производства, так и в системах автоматизированной подготовки управляющих программ для станков с ЧПУ параметры обрабатываемой детали могут быть получены различными способами. Например, в работе Д. Е. Максимовского приведены пять групп методов преобразования конструкторской информации к табличному виду, пригодному «для использования в технологических САПР:
-
- непосредственное кодирование таблиц с чертежа;
– использование конструкторской и технологической параметризации
при проектировании технологических процессов (ТП) на основе унификации (деталей аналогов, типизации и группирования);
-
- идентификация поверхностей (конструктивно-технологических элементов) на основе использования OLE- или API-функций;
-
- установление свойств поверхностей в активном режиме на основе диалога;
-
- использование универсальных методов группировки чертежных элементов (примитивов) в классы (поверхностями) при обработке геометрических форматов» [14].
Похожие группы методов преобразования конструкторской информации рассматриваются и в обзорной части диссертации С. Ю. Калякулина:
«1-я группа. Математические, связанные с распознаванием свойств поверхностей для 2D и 3D графических моделей;
2-я группа. Использование специальных языков описания деталей;
3-я группа. Диалоговые средства преобразования одномерных примитивов в свойства поверхностей;
4-я группа. Средства параметризации;
5-я группа. Обычное кодирование таблиц с помощью текстовых редакто-ров»1.
В работе Д. С. Шишигина сравниваются три способа интеграции научного программного обеспечения с системой AutoCAD: на основе обмена данными в формате DXF, COM-технология и программный интерфейс API ObjectARX (AutoCAD Runtime Extension) [15]. Перечисленные технологии также могут использоваться для получения исходных параметров обрабатываемой детали.
Как писал М. Месарович, один из основателей общей теории систем, «... классификацию не следует понимать как строгое разделение; она лишь подчеркивает различия, но отнюдь не исключает возможности существования систем, принадлежащих одновременно к нескольким классам»2. Это утверждение справедливо и для методов решения задач в области САПР.
Поэтому все методы преобразования конструкторской информации логичнее разделить в зависимости от степени участия человека на ручные, автоматические и автоматизированные. К ручным методам можно отнести непосредственное кодирование таблиц параметров с чертежа или с 3В-модели. При этом могут использоваться диалоговые средства САПР и специальные идентификаторы, коды или языки описания деталей. При автоматическом способе весь процесс извлечения информации полностью скрыт от пользователя: могут применяться как математические методы распознавания поверхностей по исходной геометрии, так и лингвистический анализ входной информации, представленной на специальных языках. Для извлечения данных могут использоваться как обменные форматы, так и COM-технология и разного рода API. Однако, вследствие того что технологические задачи являются трудноформализуемыми и многокритериальными, современные методы автоматического решения подобного класса задач не обеспечивают безупречного результата. Поэтому в САПР предпочтительнее использовать автоматизированные способы, которые сочетают в себе автоматические методы с их ручным управлением или корректировкой результата. Для этого могут применяться интерактивные средства, с помощью которых пользователь может задавать настройки распознавания информации или вводить вручную часть исходных параметров.
В современных САПР ведущая роль принадлежит твердотельному моделированию. 3D-модель может содержать в себе не только геометрию изделия, но и метаданные, состав изделия, технические требования и аннотации. Для извлечения информации из 3D-модели достаточно выделить две группы методов:
-
- на основе анализа открытых форматов CAD-систем, в том числе общеизвестных обменных форматов STEP, IGES, DWG, DFX, STL, SAT, X_T и т. д.;
-
- на основе прикладных интерфейсов API.
Использование файловых форматов является исторически первым способом передачи информации между компонентами PLM-среды. Наибольшее развитие получил протокол STEP, который изначально подразумевался как механизм обмена данными между разными этапами поддержки жизненного цикла изделия в рамках концепции CALS3. Нейтральные форматы экспор-та/импорта наиболее активно используются технологическими САПР, работающими автономно от CAD-систем. Но у этого метода есть существенный недостаток – это потеря точности при передаче геометрической информации, если программа-приемник и программа-источник работают на разных математических ядрах. Эта проблема является особенно критичной для CAM-систем, математические задачи которых привязаны к геометрии 3D-модели. Но если даже рассматривать передачу только негеометрических параметров, то коммерческие САПР по причине своей закрытости не позволяют и это делать в полной мере. Например, такие распространенные в России CAD-системы, как SolidWorks и KOMnAC-3D, не экспортируют в step-файл технологические параметры детали, хотя соответствующие спецификации в стандарте STEP давно предусмотрены4. Таким образом, использование обменных форматов влечет за собой потерю не только геометрической точности, но и большей части инженерных параметров.
Рассмотрим некоторые работы, связанные с анализом нейтральных форматов.
Например, в диссертации Э. В. Митина, выполняется ручной разбор файла ядра Parasolid в формате xmt_txt с целью формирования общего описания детали, определения ориентации и положения поверхностей для задачи автоматического выбора технологических баз5 [16; 17]. Но при этом не приведены ни алгоритм автоматического разбора формата xmt_txt, ни его программная реализация. Результаты, полученные в этой работе, являются сомнительными для практического применения, поскольку не известны самостоятельные работы автора в части разработки интегрированного программного обеспечения в области САПР. Источником данной работы является диссертация Э. В. Элементова, в которой выполнен аналогичный разбор файла dxf с целью установления технологических свойств поверхностей детали6.
В диссертации А. В. Аверченкова предлагается способ автоматического распознавания КТЭ на основе 3D-мо-делей и чертежей в формате IGES7. На основе данного метода разработан программный комплекс на языке JAVA2, позволяющий независимо от CAD-системы производить декомпозицию чертежа и 3D-модели на КТЭ с последующей передачей конструкторской информации в САПР ТП «ТехноПро». Предлагаемый метод подходит только для тел вращения, а распознавание конструкторских обозначений (аннотаций) возможно только по чертежам в формате IGES.
В работе иностранных коллег описывается система автоматического извлечения геометрической и негеометрической информации из чертежей, представленных в форматах DXF или IGES [12]. Для распознавания параметров размерных обозначений (линейных, диаметральных, радиальных и угловых), допусков и установления их связи с геометрическими объектами чертежа используются эвристические правила. Текстовые выноски интерпретируются методами обработки естественного языка с использованием конечных автоматов. Распознанная информация представлена в виде иерархии объектно-ориентированных классов.
Методы на основе API подразумевают доступ к внутренним возможностям базовой CAD-системы. Доступ к ним может быть реализован как на основе макросов (например, в КОМПАС-3D в качестве языка для написания макросов используется язык Python, в SolidWorks – Basic, в AutoCAD – AutoLisp), так и на основе компилируемых языков высокого уровня (Pascal, C++ и т. д.). Механизм доступа тоже может быть различным: например, на основе экспортных функций, COM, CORBA или .NET. Для интегрированных CAD/CAM-систем, построенных на базе единой CAD-платформы, использование API является наиболее функциональным
Том 29, № 3. 2019 и производительным способом анализа конструкторской модели. Недостатками этого метода являются сложность программирования API и необходимость постоянного согласования версий API, используемых прикладной программой, с версиями базовой CAD-системы.
На практике различные методы обмена информацией переплетаются между собой. Могут использоваться одновременно как обменные форматы, так и API базовой САПР (и даже API геометрического ядра). Между этими двумя подходами нет четкой границы, и их следует рассматривать только как крайние случаи в практике разработки и интеграции САПР. Например, в одной из работ зарубежных исследователей представлено программное обеспечение, которое экспортирует исходную геометрическую модель (созданную в любой CAD-системе) из формата STEP AP203 в файл STEP AP224, добавляя к исходной геометрии технологическую информацию [13]. Для этого реализовано считывание входного файла в формате STEP AP203, извлечение геометрии и перевод ее в структуру данных геометрического ядра Parasolid и визуализация модели Parasolid на экране компьютера средствами OpenGL. Далее пользователь в диалоговом режиме задает свойства материала, геометрические и размерные допуски, шероховатости поверхностей и другие дополнительную информацию. Структура данных детали вместе с технологической информацией и распознанными конструкторско-технологическими элементами записывается в файл в формате AP224. Для импорта и экспорта файлов STEP и интерпретации информационной модели EXPRESS используется библиотека классов C++ ROSE, для преобразования структуры BRep в модель данных Parasolid – функции API ядра Parasolid. Однако данная схема интеграции не устраняет участия че- ловека в подготовке исходных данных и не избавляет от потери точности при передаче геометрии через нейтральный формат между системами, работающими на разных математических ядрах.
Анализ приведенных источников показывает, что в них используются различные модели данных для промежуточного представления параметров детали, но при этом не обращается внимание на то обстоятельство, что параметры могут быть получены из разных источников, связанных с конструкторской моделью, и потенциально могут дублировать друг друга, создавая избыточность и противоречивость исходной информации.
Материалы и методы
В одной из предыдущих работ автором впервые был предложен подход для построения подсистемы конструкторско-технологической параметризации в контексте задач, решаемых пользователями в процессе моделирования обработки в CAM-системе [7]. В рамках данного подхода подсистема технологической параметризации рассматривается как иерархическая система, элементами которой являются параметры, структурно организованные на пяти уровнях подчиненности:
-
- параметры обрабатываемой детали;
-
- общие параметры плана обработки;
-
‒ параметры инструментальных переходов;
-
- параметры конструкторско-технологических элементов;
-
- параметры инструкций управляющей программы.
Такое разделение параметров соответствует реальной структуре технологического процесса и модульному принципу обработки поверхностей на станках с ЧПУ.
На самом верхнем уровне иерархии находятся конструкторские параметры детали, которые доступны для использования на всех нижних уров- нях, в частности, для расчета режимов резания, программирования параметризованных траекторий, разработки постпроцессоров. Доступ к параметрам детали в составе математических выражений реализуется посредством синтаксической конструкции MODEL.имя параметра. В общем случае к исходным параметрам детали можно отнести метаданные 3D-модели (наименование, обозначение, масса детали и т. д.), свойства материала, параметры аннотаций 3D-модели, параметрические переменные 3D-модели.
Как правило, эти данные неструктурированы, а параметры детали могут дублировать друг друга. Например, твердость материала может присутствовать как в свойствах материала, так и в технических требованиях. В разных местах твердость может быть указана как в единицах HRC, так и HB. При этом конструктор или технолог могут дополнительно создать параметрические переменные, совпадающие с именами других параметров. Поэтому в первую очередь необходимо разработать непротиворечивую модель данных, которая должна описать логическую структуру параметров детали, обеспечить целостность и устранить избыточность информации.
В основе теоретических исследований лежат формальная теория представления и обработки данных, теория множеств, теория иерархических многоуровневых систем. Для графического отображения процессов передачи и обработки информации использовалась методология IDEF0. Программная реализация CAM-системы выполнена в среде Visual Studio C++ с использованием программных интерфейсов API КОМПАС-3В и API геометрического ядра C3D. Тестирование выполнялось в среде KOMnAC-3D V18.1.
Результаты исследования
Для моделирования обработки в CAM-системе в качестве источника конструкторской информации рассма- тривается 3D-модель детали. С этой точки зрения, используя теорию множеств, конструкторскую 3D-модель можно представить следующей формулой:
Model = < P Attr , P Geom >, (1)
где P A ttr - множество атрибутивных (негеометрических) параметров; PGeom – множество геометрических параметров (к которым, в частности, относятся параметры конструкторско-технологических элементов).
Распознавание конструкторско-технологических элементов и извлечение их числовых параметров из 3D-модели в настоящей работе не рассматриваются (это тема отдельной публикации). Негеометрические параметры представим в виде кортежа четырех упорядоченных множеств:
P Attr = < P Par , P Meta , P D&T , P Mtrl >, (2)
где PPar – множество параметрических переменных 3D-модели; PMeta - множество метаданных 3D-модели; P D&T -множество параметров аннотаций (размеры, допуски, шероховатости поверхностей, обозначение D&T от англ. dimensions and tolerances); PMtrl - свойства материала (твердость, показатели обрабатываемости).
Все параметры должны иметь единое описание, допускающее их хранение как во внутреннем представлении
CAM-системы, так и при необходимости во внешней базе данных. Для структурирования параметров детали используется реляционная модель данных, графически представленная в таблице 1.
Для однозначной идентификации параметра применяется его уникальное имя. Параметр может принимать либо числовое, либо текстовое значение. Большинство параметров являются числовыми (они могут входить в состав математических формул). Но деталь может содержать и текстовые данные, например, наименование детали, обозначение материала, фамилию разработчика, которые необходимы для передачи в управляющую программу в качестве сопроводительной информации. Числовые и текстовые значения параметра размещены в разных полях таблицы. Тогда принимается следующая схема отношения:
P = R(Name, Value, Text, Type, Comment), (3)
где Name – уникальное имя параметра, которое является одновременно и первичным ключом для идентификации строки таблицы; Value содержит значение параметра типа double; Text - строку с текстовым значением параметра ; Type – тип параметра ( d – число, s – строка); Comment - комментарий к параметру.
Т а б л и ц а 1
T a b l e 1
Реляционная форма представления параметров детали Relational form of the representation of the detail parameters
Имя (ключ) / Name (key) |
Значение / Value |
Текст / Text |
Тип / Type |
Комментарий / Comment |
Наименование / Name |
0 |
Фланец |
s |
Наименование детали / Name of part |
Материал / Material |
0 |
Сталь 20Х |
s |
Материал / Material |
Масса / Mass |
5,73 |
– |
d |
Масса детали, кг / Mass of part, kg |
Плотность / Density |
7,83 |
– |
d |
Плотность материала, г/см3 / Density of material, g/sm3 |
Некоторые параметры могут быть связаны с дополнительными структурами данных, например, размеры могут содержать допуск и предельные отклонения. Дополнительные структуры данных целесообразно хранить в отдельных отношениях, связывая их с таблицей параметров детали посредством внешних ключей.
Информация о детали извлекается из разных источников, связанных с 3D-моделью. Для исключения избыточности данных установлены следующие приоритеты (в порядке их уменьшения) для пяти источников информации: параметрические переменные 3D-модели, метаданные, аннотации, справочник материалов, технические требования. На рисунке 1 приведена последовательность считывания параметров детали в порядке уменьшения приоритета их источников. Для исключения дублирования информации параметр добавляется в список только в том случае, если в списке нет параметра с таким же именем. Любой параметр может быть вручную переопределен пользователем CAD/CAM-системы путем создания одноименной параметрической переменной 3D-модели, благодаря чему обеспечивается возможность ручного управления составом параметров.
Способ получения конструкторских параметров детали на основе API программно реализован в составе коммерческой CAM-системы для платформы КОМПАС-3В. С общим описанием функциональных возможностей модулей CAM-системы и примерами их использования можно ознакомиться по ссылкам в Интернете8, а также в рекламных публикациях [18–21]. CAM-система интегрирована в рабочую среду КОМПАС-3В по принципу одного окна с использованием эле- ментов пользовательского интерфейса CAD-системы (рис. 2). Ассоциативность траекторий обеспечивает автоматическую актуализацию управляющей программы для станка с ЧПУ при изменении размеров или положения опорных объектов обрабатываемой детали [22]. Интеграция на уровне интерфейса пользователя выполнена с помощью APIКОМПАС-3В, на уровне геометрических расчетов посредством API математического ядра C3D [23].
Перед началом моделирования обработки технолог должен поставить на 3D-модель как минимум одну локальную систему координат (ЛСК), задающую ноль детали и направление осей станка. Далее порядок работы пользователя в рассматриваемой CAM-системе включает в себя следующие действия:
-
- выбор ЛСК и системы ЧПУ (постпроцессора), задание заготовки, формирование таблицы инструментов, выбор приспособлений;
-
- формирование последовательности инструментальных переходов (плана обработки). Для каждого перехода технолог должен задать область обработки, выбрать инструмент, настроить параметры траектории, назначить режимы резания. На данном этапе инициализируются параметры инструментальных переходов и параметры конструкторско-технологических элементов;
‒ постпроцессирование. На данном этапе в процессе создания управляющей программы инициализируются параметры пятого уровня иерархии переменных (параметры инструкций УП) и создается управляющая программа в кодах системы ЧПУ;
‒ визуализация обработки, в ходе которой технолог может проверить траекторию перемещения инструментов,


F i g. 1. Diagram of the process of reading part parameters

Р и с. 2. Моделирование фрезерной обработки в КОМПАС-3П
F i g. 2. Modeling milling in KOMPAS-3D
обнаружить столкновения инструментов с приспособлениями, врезания в заготовку на ускоренной подаче.
Результатом работы CAM-системы является управляющая программа, которая записывается технологом в отдельный текстовый файл и передается оператору станка с ЧПУ.
Обработка детали возможна с использованием нескольких планов обработки (например, на нескольких станках). Поэтому технологам рекомендуется работать не напрямую с моделью конструктора, а с ее ассоциативной копией (рис. 3). Причем для каждого плана обработки рекомендуется использовать отдельную копию конструкторской модели. В этом случае технолог, работая со своей моделью, не будет нагружать исходную конструкторскую модель вспомогательными построениями и затрагивать сферу деятельности конструктора.
Способ взаимодействия технолога с конструктором через ассоциативную копию 3D-модели можно использовать при работе как в рамках единого информационного пространства промышленного предприятия, так и в рамках учеб- но-научного виртуального предприятия (УНВП) в вузе [24].
Создание ассоциативной копии в КОМПАС-3В занимает у технолога минимум времени: для этого он должен открыть новый документ, вызвать команду КОМПАС-3В «Копировать объекты» и указать на исходной модели объекты для копирования. Технолог может использовать ассоциативную копию модели любым способом: упростить ее, создать дополнительные построения, добавить собственные аннотации и параметрические переменные. Если конструктор внесет изменения в свою модель, то перестроится и ассоциативная копия у технолога, а вместе с ней и траектории обработки для станка с ЧПУ Через команду «Копировать объекты» в ассоциативную копию наследуется только геометрия детали. Для установления связи с переменными и аннотациями исходной модели технолог может создать внутри своей ассоциативной копии собственные параметрические переменные, содержащие ссылки на переменные и аннотации модели-источника.
функциональные требования стандарты
ссылочные параметры ассоциативная геометрия
I материал, метаданные, тех. требования, аннотации, переменные
Разработка конструкторской ЗВ-модели

инструменты инженерного анализа библиотеки стандартных изделий
требования интеграции
ассоциативная геометрия
инженер-конструктор
material, metadata tech, requirements, annotations, variables

form of the detail
данные технолога (материал, метаданные, аннотации, переменные)
Создание ассоциативной копии ЗВ-модели

Моделирование обработки в САМ-системе параметры заготовки
параметры детали
условия производства
программа для станка
карта наладки
CAM-приложение
CAD-система K0MTIAC-3D
Справочник материалов
J инженер- технолог
Р и с. 3. Диаграмма процесса передачи параметров детали из конструкторской модели в CAM-систему
functional requirements standards

geometry integration requirements metadata, annotations, variables)
Creation of the design 3B-model associative geometry
Creation of an associative cop of the 3D model parameters by reference associative geometry data entered ^^ by technologist auxiUary (material,
САЕ, CDF,...

САМ application manufacturing conditions
Modeling processing ie CAM system
F i g. 3. Diagram of the process of transferring part parameters from the design model to the CAM system
standard parts library
control program
setup
Принципы функционирования подсистемы конструкторско-технологической параметризации, ее архитектура, UML-диаграмма иерархии классов, отображающих уровни параметров CAM-системы, подробно описаны в одной из наших работ [7]. В данной статье детализируется процесс считывания параметров обрабатываемой
3В-модели (начальный этап работы подсистемы).
Таблица параметров описывается классом DETAIL_PARAMETERS (рис. 4). Класс DETAIL_PARAMETERS является производным от абстрактного класса PARAMETERS, который содержит данные и методы, общие для всех уровней иерархии параметров
В struct Parameter
"Parameter() { if( pRef ) delete pRef; }
_bstr_t sName; // имя параметра double Value; // числовое значение параметра
_b3tr_t sText; // текстовое значение параметра char type; // тип параметра
_batr_t aNote; // комментарий к параметру
RefParameters* pRef; // указатель на структуру пополнительных параметров
В struct DETAIL-PARAMETERS : public PARAMETERS {
~ DETAIL-PARAMETERS();
_bstr_t sMaterial;
FILEIIME timeCopy;
TArray
char* GetParameters( char* s );
bool ReadModelParameters( bool isSM );
bool GetMaterial( IPart7Ptr& pPart? ); );
Р и с. 4. Структуры данных для описания таблицы параметров
F i g. 4. Data structures for describing the parameters table
CAM-системы, в том числе средства для синтаксического анализа и вычисления математических формул. Класс DETAIL_PARAMETERS инкапсулирует динамический список MP указателей на экземпляры параметров.
Формулы, связывающие параметрические переменные, могут содержать алгебраические и тригонометрические функции, логические операции и скобки. В результате лексического анализа распознаются последовательности символов (лексемы), которые потенциально могут являться именами параметров. Для получения числового значения параметра используется виртуальная функция GetParameter базового класса, которая переопределяется в производных классах. Метод DETAIL_ PARAMETERS::GetParameter (рис. 5) принимает на вход лексему и возвращает адрес соответствующей переменной типа double. Использование указателей на переменные обеспечивает получение актуальных значений параметров. Нулевое значение адреса означает, что параметр по входному имени не обнаружен. Аналогично работает и метод DETAIL_PARAMETERS:: GetParameterStr, возвращая адрес первого символа стро-
0 double* DETAIL_PARAMETERS: : GetParameter ( char* 3 )
{ if( ::strstr( s, "MODEL." ) )
{ for( int 1=0; KMP. Count (); 14-4- )
if( MP[i]->type = ’d’ )
if( !strcmp( 34-6, (char*)(MP[i]->3Name) ) ) return sMP[i]->Value; else if( MP[i]->pRef )
{ if( double* p = MP[i]->pRef->GetParameter( 3+6 ) ) return p; }
} return NULL;
Р и с. 5. Функция получения числового значения параметра
F i g. 5. Function for getting the numeric value of a parameter
Сomputer science, computer engineering and management 357
ки, если параметр содержит текстовое значение.
Метод ReadModelParameters() класса DETAIL_PARAMETERS реализует считывание параметров из 3В-модели в порядке их приоритета от наибольшего к наименьшему (рис. 1). Считывание параметров выполняется в момент синхронизации внутренних данных CAM-системы с 3В-моделью.
Сначала посредством API КОМПАС-3В извлекаются параметрические переменные. Чтобы переменные были доступны для CAM-системы, они должны быть предварительно объявлены со статусом «внешние». Переменные 3D-модели могут быть как геометрическими, то есть ассоциативно связанными с какими-либо объектами 3D-модели (например, с аннотациями или размерами эскиза), так и негеометрическими (например, свойства материала). Твердость материала (HB или HRC), предел прочности и иные параметры могут быть заданы конструктором или технологом как параметрические переменные детали, тогда они будут иметь приоритет над свойствами материала, хранящимися в справочнике материалов. Параметры выводятся на панель параметров CAM-системы, чтобы пользователь мог ви- деть, какие параметры детали можно применить в параметрических расчетах (рис. 6).
Далее с помощью API КОМПАС-3В считываются метаданные и аннотации 3В-модели (рис. 7). Метаданные извлекаются из свойств 3В-документа, параметры аннотаций – из обозначений размеров и шероховатостей. При получении параметра шероховатости распознается ее условное обозначение Ra или Rz . Размеры распознаются вместе с их предельными отклонениями и допусками. Аннотации, значения которых планируется использовать в параметрических расчетах, должны быть предварительно проставлены на 3В-модели.
Для автоматического получения свойств материала реализована интеграция CAM-приложения с библиотекой «Материалы и Сортаменты» системы КОМПАС-3В. Из справочника автоматически извлекаются предел прочности а в , МПа ( SigmaV), коэффициенты обрабатываемости KVMet и Xmat (рис. 8), твердость (HRC или HB).
Материал должен быть предварительно назначен конструктором детали или технологом. При обращении к справочнику происходит его загрузка в память, и это занимает некоторое

Р и с. 6. Извлечение внешних параметрических переменных 3П-модели
F i g. 6. Extraction of external parametric variables of the 3D model

Р и с. 7. Извлечение метаданных и параметров аннотаций 3П-модели
F i g. 7. Extracting metadata and annotation parameters of a 3D model

Р и с. 8. Извлечение свойств материала из справочника материалов
F i g. 8. Extraction of material properties from the directory of materials
время. Поэтому процесс считывания свойств материала из справочника запускается только в том случае, если изменился материал с момента последней записи 3В-модели на диск компьютера. Обозначение материала и время сохранения файла 3D-модели запоминаются в переменных sMaterial и time класса DETAIL_PARAMETERS (рис. 4).
Твердости материала соответствуют два параметра (HRC и HB). При считывании одного из них второй параметр рассчитывается автоматически по таблице соответствия между единицами измерения HRC и HB, и в список параметров добавляются сразу оба параметра. Наличие двух параметров для твердости представляет собой пример контролируемой избыточности. Их одновременное присутствие в списке параметров объясняется тем, что разные методики расчета режимов резания используют либо HRC, либо HB (для быстрорежущих инструментальных сталей обычно используется HB, для обработки закаленных сталей – HRC, в каталогах современных твердосплавных инструментов обычно приводятся формулы, в состав которых входит HRC).
Справочник материалов может содержать свойства материала для нескольких контекстов, связанных с состоянием поставки или термообработки, что может являться причиной семантической несогласованности параметров материала. В данной программной реализации выбирается контекст, соответствующий минимальной твердости материала.
Имена параметрам (кроме переменных 3В-модели) назначаются автоматически. Линейным размерам имена присваиваются в формате Li, где i - порядковый номер линейного размера. Доступ к предельным отклонениям размеров и их допускам пользователь может получить посредством символов h (верхнее отклонение), l (нижнее отклонение) и t (допуск). Например, синтаксическая конструкция MODEL.L1.h возвращает верхнее отклонение размера L1 , а формула MODEL.L1+MODEL. L1.h вычисляет его максимальное значение.
Для параметрических переменных 3В-модели имена и комментарии берут-
Том 29, № 3. 2019
ся такими, какими они были назначены пользователем. В случае совпадения имен параметров приоритет отдается параметрическим переменным 3D-мо-дели. Создав одноименную переменную 3В-модели, пользователь может переопределить значение любого параметра. Допустим, параметр HRC , извлеченный из справочника материала, не согласуется с его реальным значением во время механической обработки, тогда пользователь может объявить внешнюю параметрическую переменную с таким же именем, и значение параметра MODEL. HRC будет определяться параметрической переменной 3D-модели.
Последними считываются технические требования. В данном варианте программной реализации из технических требований извлекается только твердость материала, если она не была получена из других источников.
Ниже на рисунках 9 и 10 показан пример автоматической настройки зажимного размера станочного приспособления. В системе КОМПАС-3В создается деталь в виде параллелепипеда (рис. 10). Ширине детали ставится в соответствие параметрическая переменная W . Для закрепления детали

Р и с. 9. Параметризованная 3П-модель станочных тисков
F i g. 9. Parameterized 3D-model of the machine vice
360 Информатика, вычислительная техника и управление

Р и с. 10. Автоматическая настройка зажимного размера тисков
F i g. 10. Automatic adjustment of clamping device size
используются тиски фирмы GERARDI (рис. 9). Стандартные размеры тисков по каталогу GERARDI хранятся в таблице переменных 3В-модели, а зажимному размеру поставлен в соответствие параметр детали MODEL.Lclamp .
Приспособления в рассматриваемой CAM-системе представляют собой параметризованные 3В-модели, которые можно выбрать из каталога, поставляемого в дистрибутиве CAM-системы. Пользователь может создать также собственные модели приспособлений и подключить их к CAM-приложению. Взаимодействие между CAM-системой и 3В-моделью приспособления реализовано посредством API КОМПАС-3D. Пользователь может управлять конфигурацией приспособления, выбирая строку стандартных размеров или задавая вручную размеры, непосредственно из CAM-системы. При подключении модели приспособления к CAM-системе, текст в комментариях к переменным модели, заключен- ный в фигурные скобки, распознается CAM-системой как параметрическая формула. В данном случае при наличии в составе параметров детали переменной с именем Lclamp на место значения расстояния между губками тисков будет подставляться значение переменной Lclamp.
В модели обрабатываемой детали создается параметрическая переменная Lclamp , которая приравнивается переменной W . Таким способом устанавливается информационная связь между шириной детали W и зажимным размером тисков. При изменении значения переменной W модель детали перестраивается, изменяя свою ширину, при этом автоматически подгоняется размер между губками тисков. На рисунке 10 показаны деталь и тиски при W =60; 40 и 90 мм.
Автоматизация настройки зажимного размера приспособления позволяет избавить технолога от лишних действий, связанных с ручным изменением расстояния между губками тисков при каждом изменении ширины детали. Это особенно актуально, если деталь имеет несколько размерных модификаций.
Обсуждение и заключение
В статье приведен метод получения исходных параметров обрабатываемой детали при передаче информации из конструкторской модели в интегрированную CAM-систему для задач конструкторско-технологической параметризации. Метод программного реализован в составе интегрированной CAM-системы для платформы КОМ-ПАС-3В. Проблема передачи данных из 3В-модели в технологические расчеты решается с помощью программного интерфейса API.
Конструкторско-технологическая параметризация является эффективным инструментом для конструкторов и технологов, с помощью которого они могут реализовать относительно несложные алгоритмы, не являясь при этом специ- алистами в области программирования. Благодаря конструкторско-технологической параметризации и ассоциативности траекторий обработки можно построить сквозной конструкторско-технологический проект, когда изменения, внесенные конструктором в деталь, будут автоматически передаваться в технологическую модель и далее через постпроцессор в управляющую программу для станка с ЧПУ. При этом максимальный эффект от применения сквозных технологий передачи данных достигается для параметризованных деталей, имеющих несколько размерных модификаций.
Дальнейшее развитие подсистемы конструкторско-технологической параметризации планируется направить на решение задач автоматического подбора заготовки, режущих инструментов и приспособлений на основе алгоритмов, реализуемых пользователями посредством параметрических информационных связей.
Поступила 18.03.2019; принята к публикации 18.04.2019; опубликована онлайн 30.09.2019
Автор прочитал и одобрил окончательный вариант рукописи.
364 Информатика, вычислительная техника и управление
Список литературы Автоматизация получения параметров детали для задач конструкторско-технологической параметризации
- Максимовский Д. Е. Автоматизация проектирования технологических процессов на основе конструкторско-технологической параметризации // Вестник машиностроения. 2011. № 9. С. 63-66. URL: https://www.mashin.ru/files/2011/ve0911_web.pdf (дата обращения: 23.04.2019).
- Калякулин С. Ю., Кузьмин В. В. Информационные модели связей как средство повышения автоматизации расчетов параметров технологического процесса // Вестник МГТУ «Станкин». 2015. № 2 (33). С. 89-92. URL: http://www.stankin-journal.ru/ru/articles/1243 (дата обращения: 23.04.2019).
- Kalyakulin S. Yu., Kuzmin V. V., Mitin E. V., S. P. Suldin, Torbeeva T. B. Algorithm for Calculating the Parameters of the Initial Blank in the SITEP MO Automated Design System // Russian Engineering Research. 2014. Vol. 34, Issue 11. Pp. 713-715. URL: https://link.springer.com/article/10.3103/S1068798X14110082 (дата обращения: 23.04.2019).
- Разработка математической модели детали на основе моделей графических систем / С. Ю. Калякулин, Кузьмин В.В., Митин Э.В., Сульдин С.П., Тюрбеева Т.Б.// Инженерные технологии и системы. 2019. Т. 29, № 1. С. 67-76. DOI: 10.15507/2658-4123.029.201901.067-076
- Калякулин С. Ю., Кузьмин В. В. Автоматизация выбора мерительной оснастки на основе конструкторско-технологической параметризации в САПР ТП // Технология машиностроения. 2017. № 11. С. 46-49. URL: http://www.ic-tm.ru/info/11_22 (дата обращения: 23.04.2019).
- Калякулин С. Ю., Кузьмин В. В. Разработка математической модели параметров технологического процесса // Вестник МГТУ «Станкин». 2014. № 3 (30). С. 40-44. URL: http://www.stankin-journal.ru/ru/articles/1032 (дата обращения: 23.04.2019).
- Щёкин А. В. Конструкторско-технологическая параметризация в составе интегрированной CAM-системы // Информационные технологии. 2019. № 7. С. 34-54.
- DOI: 10.17587/it.25.387-396
- Babic B., Nesic N., Miljkovic Z. A Review of Automated Feature Recognition with Rule-Based Pattern Recognition // Computers in Industry. 2008. Vol. 59, Issue 4. Pp. 321-337.
- DOI: 10.1016/j.compind.2007.09.001
- Mesbahi A. E., Jaider O., Rechia A. Automatic Recognition of Isolated and Interacting Manufacturing Features in Milling Process // International Journal of Engineering Research and Applications. 2014. Vol. 4, Issue 10. Pp. 57-72. URL: https://pdfs.semanticscholar.org/a7fe/c2705c5d76d 2a396454a8e2cfe12993fd265.pdf (дата обращения: 23.04.2019).
- Sanfilippo E. M., Borgo S. What are Features? An Ontology-Based Review of the Literature // Computer-Aided Design. 2016. Vol. 80. Pp. 9-18.
- DOI: 10.1016/j.cad.2016.07.001
- Chlebus E., Krot K CAD 3D Models Decomposition in Manufacturing Processes // Archives of Civil and Mechanical Engineering. 2016. Vol. 16, Issue 1. Pp. 20-29.
- DOI: 10.1016/j.acme.2015.09.008
- Prabhu B. S., Biswas S., Pande S. S. Intelligent System for Extraction of Product Data from CADD Models // Computers in Industry. 2001. Vol. 44, no. 1. Pp. 79-95. URL: https://pdfs.semanticscholar. org/f1c2/f08e1c94fb12e0373a9e9f08d4fefa06bd86.pdf (дата обращения: 23.04.2019).
- Kang M., Han J., Moon J. G. An Approach for Interlinking Design and Process Planning // Journal of Materials Processing Technology. 2003. Vol. 139. Pp. 589-595. URL: http://alvarestech.com/ temp/nist2010/joao/CADCAPP1.pdf (дата обращения: 23.04.2019).
- Кузьмин В. В., Максимовский Д. Е. Методы преобразования конструкторской информации машиностроительных деталей // Вестник МГТУ «Станкин». 2012. № 2. С. 92-95. URL: http:// www.stankin-journal.ru/ru/articles/612 (дата обращения: 23.04.2019).
- Шишигин Д. С. К выбору технологии интеграции прикладного программного обеспечения с CAin5 // Труды СГПИИРШ. 2016. Вып. 4 (47). С. 211-224.
- DOI: 10.15622/sp.47.11
- Кузьмин В. В., Максимовский Д. Е. Выбор технологических баз на основе решения прямой задачи размерного анализа // Вестник МГТУ «Станкин». 2012. № 2. С. 64-69. URL: https:// elibrary.ru/item.asp?id=17847920 (дата обращения: 23.04.2019).
- Кузьмин В. В. Выбор технологических баз при обработке корпусных деталей // Вестник МГТУ «Станкин». 2008. № 2. С. 10-14. URL: https://elibrary.ru/item.asp?id=17287428 (дата обращения: 23.04.2019).
- Паньков М. Токарная обработка как начало CAM-истории в ACKOH // CArD3 и графика. 2013. № 7. С. 37-43. URL: https://sapr.ru/article/23925 (дата обращения: 23.04.2019).
- Щёкин А. В., Сульдин С. П., Митин Э. В. Постпроцессор системы ЧПУ «MAЯK 600Т» для CAM-приложения «Модуль ЧПУ Токарная обработка» // Вестник Мордовского университета. 2014. № 1. С. 161-164. URL: http://vestnik.mrsu.ru/index.php/ru/articles/38-14-12/208-10-15507-vmu-025-201502-67 (дата обращения: 23.04.2019).
- Simulation of the Machining of a Bush in the KOMPAS-3D System / A. V. Shchekin [et al.] // Russian Engineering Research. 2017. Vol. 37, no. 11. Pp. 987-990. 10.3103/ S1068798X17110156
- DOI: 10.3103/S1068798X17110156
- Щёкин А. В., Сульдин С. П., Митин Э. В. Oсобенности CAM-приложения «Модуль ЧПУ Токарная обработка» // СТИН. 2017. № 8. С. 16-18. URL: http://stinyournal.ru/soderzhanie-stin-2017/ (дата обращения: 23.04.2019).
- Щёкин А. В., Сульдин С. П. Aссоциативность траекторий в CAM-приложении «Mодуль ЧПУ Токарная обработка» // Мехатроника, автоматизация, управление. 2015. Т. 16, № 8. С. 570-575.
- DOI: 10.17587/mau.16.570-575
- Камнев А. Интерфейс прикладного программирования геометрического ядра C3D, его применение и главное отличие от API системы KOMTJAC-3D // САПР и графика. 2016. № 5. C. 36-38. URL: https://sapr.ru/article/25210 (дата обращения: 23.04.2019).
- Черепашков А. А. Проектируем в среде учебного виртуального предприятия // САПР и графика. 2014. № 1. C. 76-78. URL: https://sapr.ru/article/24352 (дата обращения: 23.04.2019).