АВТОМАТИЗИРОВАННЫЙ РАСЧЁТНЫЙ МОДУЛЬ «РЕДУКТОР» ДЛЯ САПР КОМПАС-3D - Студенческий научный форум

V Международная студенческая научная конференция Студенческий научный форум - 2013

АВТОМАТИЗИРОВАННЫЙ РАСЧЁТНЫЙ МОДУЛЬ «РЕДУКТОР» ДЛЯ САПР КОМПАС-3D

Моисеев В.В. 1, Желепов А.С. 1, Загайчук И.А. 1
1Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Ульяновский государственный технический университет»
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Многие современные системы автоматизированного проектирования (САПР), применяемые, в том числе, в сфере твердотельного моделирования изделий машиностроительного профиля, могут быть также использованы для построения специализированного программного обеспечения, решающего задачу проектирования конкретного класса изделий, в частности, одно- и многоступенчатых редукторов [1-3]. Основную сложность разработки таких приложений представляет задача их объединения с имеющимся трехмерным геометрическим ядром САПР.

Так, при разработке приложения АРМ «Редуктор» к САПР Компас-3D на базе геометрического ядра должны решаться следующие задачи:

1) выполнение расчета требуемых переменных в параметрической 3D-модели прототипа редуктора и их изменение в соответствии с алгоритмами геометрического и прочностного расчетов для новых производственных условий;

2) получение в результате расчетов новой модификации 3D-сборки редуктора;

3) получение комплекта рабочих чертежей деталей перестроенного редуктора.

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

  • подключение к системе САПР Компас-3D;

  • загрузку в систему параметрической модели сборки прототипа редуктора;

  • запрос параметров новых производственных условий;

  • получение текущих значений переменных деталей, составляющих сборку;

  • пересчет значений переменных сборки и деталей на основе прочностного и геометрического расчета передач редуктора;

  • изменение значений переменных, перестроение и сохранение 3D-модели редуктора и составляющих сборку деталей;

  • разработка рабочих чертежей деталей перестроенного редуктора.

Для того, чтобы задать изменение размеров модели сборки с целью получения ее новой модификации, во-первых, необходимо параметризировать значения некоторых ее переменных [1-3], во-вторых, использовать программный интерфейс расчетного модуля для осуществления ряда вышеперечисленных действий над сборкой.

Основную сложность представляет не столько реализация расчетов, сколько организация взаимодействия расчетного модуля с САПР, управление которой осуществляется при помощи API-интерфейса. Он предоставляет программисту набор процедур и функций для управления процессами моделирования [3], но не дает прямого доступа к свойствам и методам объектов внутри САПР [4], что делает код программы громоздким и сложным для понимания.

Разработка расчетного модуля АРМ «Редуктор», реализующего выше указанные функции, осуществлялась поэтапно на языке программирования высокого уровня C# на платформе .NET 4.0. Взаимодействие автоматизированного расчетного модуля с САПР Компас-3D реализовывалось посредством программных API-интерфейсов [1-2]. Они представляют собой библиотеки, которые включают в себя методы моделирования и математические функции ядра САПР. В САПР Компас-3D на данный момент существуют API-интерфейсы двух версий: API5 и API7. Следует заметить, что данные API-интерфейсы по реализации незначительно отличаются друг от друга. Однако, для разработки полноценных подключаемых программных модулей разрабатываемого приложения достаточно методов и свойств API5.

На первом этапе разработки программного обеспечения были установлены связи между будущим программным модулем и системой САПР. Данная связь устанавливается посредством подключения соответствующих пространств имен, определенных в библиотеках API-интерфейса:

using Kompas6API5;

using Kompas6Constants;

using KAPITypes;

В этих библиотеках описаны функции и методы обработки модели математическим ядром САПР. Данные библиотеки представляют собой классы, что позволяет использовать при написании программного кода объекты, методы и прочие преимущества объектно-ориентированного программирования. В листинге 1 представлено объявление экземпляров объектов, которые используются в программе.

public KompasObject _kompas;

private ksDocument3D ksDoc3D;

private ksPartCollection ksParts;

private ksPart curPart;

private ksVariableCollection curVars;

Листинг 1. Объявление экземпляров объектов

В классе KompasObject описаны основные математические методы расчета и построения моделей в системе Компас-3D. Основные функции-члены класса KompasObject приведены в табл. 1.

Таблица 1

Основные методы класса KompasObject

Метод

Описание

ActiveDocument2D

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

ActiveDocument3D

Дает возможность получить указатель на активный трехмерный документ

Document2D

Позволяет получить указатель на интерфейс графического документа (чертежа или сборки)

Document3D

Дает возможность получить указатель на интерфейс трехмерного документа(детали или сборки)

GetDynamicArray

Возвращает указатель на интерфейс динамического массива

GetMathematic2D

Возвращает указатель на интерфейс для работы с математическими функциями в графическом документе

GetParamStruct

Один из самых важных методов. Позволяет получить интерфейс структуры параметров объекта определенного типа

ksSaveFile

Выдает диалог сохранения файла

SpcActiveDocument

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

Следующим этапом разработки модуля является непосредственное написание программного кода реализующего функции:

  • загрузки параметрической 3D-модели сборки редуктора в программный модуль;

  • получение переменных значений сборки через графическое ядро САПР;

  • расчет и установку новых параметров для получения модификации 3D-модели редуктора, соответствующей новым производственным условиям;

  • построение новой модели в САПР.

При запуске АРМ «Редуктор» автоматически проверяет наличие установленной версии САПР Компас-3D, по окончании проверки устанавливается связь с системой (см. листинг 2)

private void LoadKompas()

{

const string programmId = "KOMPAS.Application.5";

var t = Type.GetTypeFromProgID(programmId);

try

{

_kompas = (KompasObject)Marshal.GetActiveObject(programmId);

_kompas.Visible = true;

_kompas.ActivateControllerAPI();

}

catch

{

try

{

_kompas = (KompasObject)Activator.CreateInstance(t);

_kompas.Visible = true;

_kompas.ActivateControllerAPI();

}

catch

{

...

}

}

}

Листинг 2. Реализация метода установки соединения с САПР Компас-3D

Открытие файла со сборкой редуктора реализовано посредством метода OpenAssembly(); изменение параметров сборки реализовано посредством методов:

  •  
    • StartEdit(string) – метод, отвечающий за активирование режима редактирования сборки, в качестве параметра метод принимает название сборки;

    • ChangeVar(string, string, double) – метод, изменяющий значение определенной переменной сборки;

    • FinishEdit() – метод, отключающий режим редактирования и обновляющий редактируемый документ;

    • MakeReducer() – метод выполняет перестроение сборки по рассчитанным параметрам.

Полная диаграмма классов реализованного приложения представлена на рис. 1.

Рис. 1. Список классов приложения

Тестирование разработанного приложения показало, что расчетно-математический модуль обеспечивает построение параметрической сборки редуктора и разных его модификаций в зависимости от заданных пользователем эксплуатационных параметров (рис. 2, а-б). На основании перестроенной модели автоматизировано формируется ее чертеж (рис. 2, в).

При этом модуль полностью совместим с различными версиями САПР Компас-3D. Это означает, что разработанная программа является универсальной и будет работать со всеми актуальными и последующими версиями выбранной САПР Компас-3D.

а) б)

в)

Рис. 2. АРМ «Редуктор»: а) диалоговое окно ввода новых параметров; б) – перестроенная 3D-модель редуктора; в) – сборочный чертеж редуктора

Библиографический список

1. Ганин, Н. Б. Автоматизированное проектирование в системе Компас-3D V12. –ДМК-Пресс, 2010. – 368с.

2. Ганин, Н. Б. Трехмерное проектирование в Компас-3D. – ДМК-Пресс, 2012. – 784 с.

3. Кидрук, М. Компас-3D V10 на 100%. – Питер, 2009. – 560 с.

4. Кудрявцева, Е. М. Компас-3D V10. Максимально полное руководство. – Изд.: ДМК-Пресс, 2008. – 1184 с.

Просмотров работы: 4954