сотрудник с 01.01.2006 по настоящее время
Омск, Россия
Представлена методика автоматизации части работ конструктора на этапе проектирования параметрической 3D модели за счет применения разработанного приложения для КОМПАС-3D. Проектирование однотипных деталей затрачивает огромное количество времени, в связи с эти была разработана программа, которая позволяет применять механизмы параметризации для автоматического создания 3D модели заготовки-прототипа. Процесс автоматизации заключается в применении созданного приложения для КОМПАС-3D, позволяющего использовать параметры, формирующие 3D модель, через окно ввода переменных. Разработанная программа направлена на исключение работы пользователя с булевыми операциями и эскизами и создания библиотеки-приложения для типовых деталей. Разработанное приложение, позволяющие автоматизировать процесс создания 3D модели, реализовано посредством языка программирования Python и приложения КОМПАС-Макро. Предложенная методика автоматизации проектирования параметрических 3D моделей заготовок-прототипов за счет применения автоматизации создания параметрической 3D модели, реализована на примере проектирования детали «стакан». Для оценки эффективности применения данного метода проведен сравнительный анализ временных затрат для моделирования данной детали традиционным способом и булевых операций, и с помощью разработанной программы. В результате установлено, что время работы конструктора на создание 3D модели предложенной детали автоматизированным способом сокращается в несколько раз. Моделирование процесса автоматизированного проектирования параметрической 3D модели заготовки-прототипа на основе предложенного алгоритма реализовано на основе применения теории графов. Данная методика может быть полезна инженеру-программисту, который имеет опыт программирования в Python и навыками разработки конструкторской документации с использованием машиностроительной конфигурации КОМПАС-3D для создания собственной встроенной библиотеки-приложения, а также инженеру конструктору, который решает задачи для обеспечения технологического суверенитета страны.
автоматизация проектирования, параметрическое моделирование, КОМПАС-Макро, язык программирования Python
Введение
Применение автоматизированного проектирования изделий приводит к значительному повышению эффективности проектировщика, конструктора и других специалистов, участвующих в разработке проектов. Интенсивное развитие отечественных САПР для обеспечения технологического суверенитета нашей страны привело к совершенствованию их функциональных возможностей и стимулирование интереса к инженерной деятельности. Повышение эффективности труда в современных реалиях требует от инженера глубоких знаний САПР для автоматизированной разработки конструкторской документации и проведения инженерных расчетов. Владение механизмами автоматизации действий конструктора при проектировании с применением технологии реверс-инжинирига должно стать привилегией при проектировании изделий. Параметрическое моделирование является актуальной составляющей моделирования при использовании программ для разработки конструкторской документации. Однако и при использовании параметрического моделирования конструктор затрачивает огромное количество времени на выполнение повторяющихся действий при проектировании однотипных по форме деталей. Опыт применения интегрированной связки конструкторских программ и макросов показал, что применение параметрического 3D моделирования с использованием программы КОМПАС‑3D позволяет проектировщику в несколько раз повысить производительность труда и, что самое важное улучшить качество, и достоверность принимаемых решений [1, 2]. Механизмы параметризации позволяют выполнять множество итераций по нахождению оптимального конструктивного решения за минимальное время, а единая среда – производить расчет для всех этих вариантов.
Как известно, параметризацию, возможно, осуществлять как с использованием 2D, так и 3D графики [3, 4]. При оценке преимуществ параметрического 3D моделирования следует выделить то, что с его помощью выполняется достаточно большой объем проектных работ. Однако использование параметрического 3D моделирования при проектировании изделий с одинаковой геометрией приводит к изменению размеров детали и повторению одних и тех же действий [5, 6]. В связи с этим предложено разработать программное обеспечение, которое позволяет пользователю использовать прототип параметрической 3D модели и изменять ее геометрию вводом значения переменных в окна запроса и не тратить время на создание новой модели, повторяя весь цикл создания тел с использованием графического пакета КОМПА-3D.
Цель работы – создание программного обеспечения для автоматизации опытно-конструкторских работ с применением САПР, при проектировании однотипных деталей. Задача исследования заключается в снижении трудоемкости разработки 3D модели для повторяющихся деталей типа «фланец» или «стакан».
Материалы, модели, эксперименты и методы
Целесообразно автоматизировать часть работы конструктора на примере проектирования детали «стакан» для повышения эффективности работы и выполнения задач по технологическому суверенитету [7]. Автоматизация процесса проектирования однотипных деталей с одинаковой геометрией осуществляется за счет применения разработанного программного математического обеспечение реализованного с использованием Python. Для создания данного типа деталей рассмотрен один из алгоритмов ее проектирования с использованием КОМПАС-3D. Автоматизация работы конструктора осуществляется за счет использования макроса. На первоначальном этапе создается 3D модель детали заготовки-прототипа с использованием макроса. Определенный набор действий, который необходим для создания заготовки-прототипа стакана, записана через КОМПАС-Макрос, а далее программа дорабатывается под требуемый алгоритм для создания детали «стакан» на основе заготовки-прототипа с помощью языка Python.
Компас макро – это программа, позволяющая выполнять алгоритм действий в программе КОМПАС-3D автоматизируя часть работы конструктора при проектировании деталей.
Алгоритм создания макроса в КОМПАС-3D представлен блок-схемой на рис. 1.
Запуск программы КОМПАС-3D |
Создание документа «Деталь» |
Запуск приложения КОМПАС-Макро |
Выбор команды «Начать запись» |
Формирование 3D модели по заданным геометрическим параметрам |
Выбор команды «Остановить запись» |
Сохранение макроса |
Рис. 1. Алгоритм записи макроса в КОМПАС-3D
Fig. 1. Algorithm for recording a macro in KOMPAS-3D
С помощью данного макроса создается заготовка-прототип детали. С использованием записанного макроса создается программы с применением языка программирования Python, которая позволяет создать приложение для формирования параметрической 3D модели «стакан» и базы данных геометрических параметров изделия. При запуске разработанного приложения в КОМПАС-3D пользователь получал доступ к переменным, формирующим параметрическую 3D модель и через окно ввода параметров, вводит значения переменных, формирующих изделие. На рис. 2 представлено окно ввода геометрических параметров изделия для создания 3D модели.
Рис. 2. Окно ввода переменных, формирующих 3D модель стакана
Fig. 2. Window for entering variables that form a 3D model of a glass
Процесс автоматизированного проектирования заготовки-прототипа с использованием разработанного приложения выполняется в следующей последовательности:
– копирование папки с приложением, которое позволяет в программе КОМПАС-3D моделировать данные детали;
– запуск программы КОМПАС-3D;
– вызов приложения КОМПАС-Макро;
– ввод значений переменных, которые формируют заготовку-прототип;
– создание дополнительных элементов, формирующих окончательную 3D модель изделия.
Если проектируемая детали по наличию элементов не отличается от заготовки-прототипа, то последний этап не используется, а конструктор переходит к проведению инженерного анализа или созданию чертежа детали, на основе ассоциативных видов. Применение данного макроса дает предпосылки создания библиотеки с заготовками-прототипами деталей «стакан».
Для моделирования процесса проектирования детали «стакан» на основе заготовки-прототипа с использованием КОМПАС-Макро и установления взаимосвязей используется теория графов [8, 9].
Граф представляет собой совокупность вершин (Q1, Q2, …) и дуг (ребер) (e1, e2, …), которые соединяют вершины. Вершины графа определяют конечные дискретные множества, а дуги отражают взаимосвязи между этими множествами. К основным характеристикам графа и его элементам можно отнести следующие понятия. Две вершины (Q1, Q2), образующие ребро, называют его концами. Ребро соединяет вершины Q1 и Q2. Две вершины называются смежными, если они соединены одной дугой. Если вершина соединена с ребром его концом, то они называются инцидентными. На рис. 3, а вершины Q1 и Q2 смежны. Ребра e1 и e6 смежны, а e5 и e3 не смежны. Вершина Q5 и ребро е5 инцидентны. Число ребер, инцидентных вершине Q, определяется степенью вершины и обозначается deg Q. Так, на рис. 3, а deg Q1 = 2, deg Q4 = 3 [10]. На рис. 3, б представлен пример простого неориентированного графа.
а) б)
Рис. 3. Примеры изображений графов:
а – ориентированный граф; б – полный граф
Fig. 3. Examples of graph images:
a – directed graph; b – complete graph
На основе установления взаимосвязей между конечными дискретными множествами с помощью теории графов возможно моделирование процесса проектирования детали «стакан» с использованием макроса. На рис. 4 представлен граф, отражающий данный процесс, где P1, P2…P6 этапы проектирования детали.
Разработанный граф имеет простой путь, который модулирует процесс проектирования детали с использованием КОМПАС-Макро, позволяющий автоматизировать часть действий конструктора и описывается следующим выражением:
, (1)
где последовательные вершины, разработанного графа.
Рис. 4. Граф, отражающий процесс проектирования детали с использованием разработанного приложения
Fig. 4. Graph reflecting the process of designing a part using the developed application
На основе разработанного графа создана блок-схема, которая описывает процесс проектирования изделия на основе разработанного приложения (рис. 5)
Начало |
Запуск разработанного приложения через КОМПАС-Макро |
Ввод значение геометрических параметров, формирующих деталь |
Создание приложением документа «Деталь» |
Формирование 3D модели |
Создание ассоциативных видов и разрезов |
Соответствие детали техническому заданию |
Сохранение в базе данных значений параметров, формирующих деталь |
да |
нет |
Конец |
Рис. 5. Блок-схема, поясняющая алгоритм работы с разработанным приложением
Fig. 5. Block diagram explaining the algorithm for working with the developed application
Далее представлена часть разработанной программы, которая используется для работы приложения.
from tkinter import *
from tkinter import Tk, StringVar
try:
f = open('cldr_v01.txt', 'r+')
except:
f = open('cldr_v01.txt', 'w+')
f.write("30\n")
f.write("10\n")
f.seek(0, 0)
finally:
lines = f.readlines()
f.close()
def clicked():
window.destroy()
def is_valid_float(newval):
if newval not in '0123456789.':
return False
return True
window = Tk()
window.title("Ввод параметров стакана")
window.geometry('400x250')
# Радиус детали R1
lbl_r1 = Label(window, text="Радиус R1:")
lbl_r1.grid(row=0, column=0)
check = (window.register(is_valid_float), "%S")
var_r1 = StringVar()
var_r1.set(lines[0])
ent_r1 = Entry(window, width=10, validate="key", validatecommand=check, textvariable=var_r1)
ent_r1.grid(row=0, column=1)
# Высота детали H1
lbl_h1 = Label(window, text="Высота H1:")
lbl_h1.grid(row=1, column=0)
check = (window.register(is_valid_float), "%S")
var_h1 = StringVar()
var_h1.set(lines[1])
ent_h1 = Entry(window, width=10, validate="key", validatecommand=check, textvariable=var_h1)
ent_h1.grid(row=1, column=1)
btn_OK = Button(window, width=10, text="ОК", command=clicked)
btn_OK.grid(row=3, column=3, pady=10, padx=10)
window.mainloop()
f = open('cldr_v01.txt', 'w')
………………………
На рис. 6 представлена 3D модель, которая создана с использование разработанного приложения.
Рис.6. 3D модель детали, созданная с использованием разработанной программы
Fig.6. 3D model of the part created using the developed program
Для проверки функционирования данной методики и эффективности практического применения разработанного приложения проведены экспериментальные исследования на примере проектирования деталей фланец в компании ООО «ПромИнтеллект». Инженер компании осуществлял проектирование параметрических 3D моделей деталей фланец с применением данного приложения. Для оценки эффективности работы проведен расчет трудоемкости моделирования параметрической 3D модели с использованием созданной программы и при создании традиционным способом, применяя булевые операции. В результате установлено, что время, затраченное на проектирование данной 3D модели с использование предложенной программы в 2 раза ниже, по сравнению со временем проектирования традиционным способом.
Также в процессе проектирования создана база данных, в которой сохраняются значения переменных при формировании прототипа-заготовки деталей «стакан», и которая в дальнейшем может служить для создания библиотеки.
Заключение
В результате проделанной работы достигнута автоматизация части процесса проектирования однотипных деталей. Данная автоматизация достигается за счет применения программы, которая позволяет формировать параметрические 3D модели на основе заготовки-прототипа, путем ввода переменных. Разработанная программа интегрируется в систему автоматизированного проектирования КОМПАС-3D, совершенствуя механизм параметрического моделирования, исключая работу по созданию тел через булевые операции вручную. Предложенный алгоритм параметрического моделирования реализован с использованием языка программирования Python, который позволяет проектировщику или конструктору автоматизировать процесс проектирования конструкторской документации. Применение предложенной методики по созданию однотипных деталей позволяет повысить эффективность работы конструктора за счет снижения трудоемкость разработки однотипных деталей.
1. Единая система конструкторской документации. Общие правила выполнения чертежей. М.: Стандарты, 1988. – 240 с.
2. Особенности трехмерного моделирования на примере проектирования токарно-фрезерного обрабатывающего центра / Е. Кузнецов, К. Курочкин, и др. // САПР и графика. – 2006. – № 5. – С. 71–76.
3. Параметризация – КОМПАС-3D – Аскон: [Электронный ресурс]. URL: https://help.ascon.ru/KOMPAS/22/ru-RU/dlg_parametric_setup.html. (Дата обращения: 17.07.2024).
4. Губич Л.В. Прохорова А.А. Автоматизация проектирования типовых конструкций на базе средств параметризации CAD-систем // Информатика. – 2007. – №4. – С.67–76.
5. Буторов В.В. Автоматизация параметрического моделирования в машиностроительном производстве // Актуальные проблемы авиации и космонавтики. Технические науки. – 2012. – С. 140-141.
6. Гумунюк П.В. Шурпо А.Н. Использование технологии автоматного программирования при разработке приложения для программирования с помощью инструментальных средств // Автоматизация и моделирование в проектировании и управлении. – № 3. – 2023. – С. 4-12.
7. Биткина, Е.Е. Стадии проектирования изделия в системе T-FLEX // Материалы международной научно-исследовательской конференции, посвященной 70-летию создания факультета ТС в АПК (МЕХ ФАК). – Омск, 2020. – С. 662-665.
8. Дунаев П.Ф., Леликов О.П. Конструирование узлов и деталей машин: учебное пособие. – 5-е изд., перераб. и доп. – М.: Высшая школа, 1998. – 447 с.
9. Кристофидес Н. Теория графов. Алгоритмический подход. – М., 1978. – 432 с.
10. Роджерс Д. Алгоритмические основы машинной графики / перевод с англ. – М.: Мир, 1989. – 512 с.
11. Шмуленкова Е.Е. Система автоматизированной разработки чертежей металлорежущих инструментов с использованием методов параметрического трехмерного моделирования дис. ... канд. техн. наук: 05.13.12: защищена 16.03.2012: утв. 15.07.2013 / Елена Евгеньевна Шмуленкова. – Омск., 2012. – 141 с.