Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXX Международной научно-практической конференции «Наука вчера, сегодня, завтра» (Россия, г. Новосибирск, 13 января 2016 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Гришечкина М.Г., Морозов Д.И. ПРОБЛЕМЫ ПОДГОТОВКИ СРЕДЫ SOLIDWORKS К АВТОМАТИЗИРОВАННОМУ МОДЕЛИРОВАНИЮ // Наука вчера, сегодня, завтра: сб. ст. по матер. XXX междунар. науч.-практ. конф. № 1(23). – Новосибирск: СибАК, 2016.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

 

ПРОБЛЕМЫ ПОДГОТОВКИ СРЕДЫ SOLIDWORKS К АВТОМАТИЗИРОВАННОМУ МОДЕЛИРОВАНИЮ

Гришечкина Мария Григорьевна

студент Политехнического института Сибирского Федерального Университета,

РФ, г. Красноярск

E-mailMashka700@mail.ru

Морозов Денис Иванович

преподаватель Политехнического института Сибирского Федерального Университета,

РФ, г. Красноярск

E-maildanner@hotmail.ru

 

TRAINING ENVIRONMENT PROBLEMS TO SOLIDWORKS AUTOMATED MODELING

Maria Grishechkina

student of the Polytechnic Institute of the Siberian Federal University,

Russia, Krasnoyarsk

Denis Morozov

lecturer of the Polytechnic Institute of the Siberian Federal University,

Russia, Krasnoyarsk

 

АННОТАЦИЯ

В данной статье рассматривается подготовка CAD-среды Solidworks к автоматизированному моделированию. Описаны проблемы, которые негативно влияют на стабильность работы алгоритма построения модели посредством API-функций и которые требуют изменения настроек среды до начала работы.

ABSTRACT

The article explains how to arrange CAD – Solidworks environment for automated modeling. It describes the problems that create the gap in the stability of the algorithm for constructing models through the API – functions and those that require environment settings changing before you start working.

 

Ключевые слова: Solidworks; ActiveX; COM; API; программирование.

Keywords: Solidworks; ActiveX; COM; API; developing.

 

Прежде, чем начать моделирование с помощью API функций Solidworks [1] необходимо изменить ряд настроек среды, которые будучи выставленными по умолчанию делают автоматизацию этого процесса невозможным. Первая настройка, о которой идёт речь и которая по умолчанию включена «Инструменты – Параметры – Общие – Ввести значение размера». Она позволяет сразу после постановки размера любого элемента эскиза (отрезок, окружность и т. п.) сразу вести числовое значение этого размера, для чего появляется диалоговое окно с соответствующим запросом (рисунок 1). Это удобная опция останавливает процесс автоматизированного построения эскиза и ожидает реакцию пользователя на запрос (ввести размер или отменить ввод размера). Очевидно, что данная настройка должна быть выключена на время работы алгоритма.

 

Рисунок 1. Запрос на ввод диаметра окружности, построенной в эскизе

 

Изменить эту настройку можно с помощью метода SetUserPreferenceToggle, у которого первый параметр должен быть равен SWInputDimValOnCreate (значение выбирается из списка констант swUserPreferenceToggle_e), а второй значению false – отключить эту настройку. В зависимости от интерфейса, у которого вызывается этот метод ISldWorks или IModleDoc2 настройка изменится для всех документов или только для текущего документа.

 

Рисунок 2. Построение двух отрезков: а) при больших размерах и б) при размерах меньших, чем сетка авто-привязки

 

Ещё одной опцией, включенной по умолчанию, является «Инструменты – Параметры – Эскиз – Взаимосвязи/Привязки – Автоматические взаимосвязи». Смысл её в том, чтобы добавлять взаимосвязи в тех местах, где они предположительно должны быть, например, если концы двух отрезков расположены очень близко друг-другу (рисунок 2б), то вполне разумно предположить, что оба отрезка являются частями одного замкнутого контура и эти точки можно объединить в одну (в терминах Solidworks это соответствует добавлению взаимосвязи «Слить»). Из-за такого поведения уменьшается стабильность работы алгоритма для разных типоразмеров деталей: у больших деталей постановка таких авто-привязок проходит без эксцессов, но при уменьшении размеров детали могут неожиданно появиться взаимосвязи, которые разрушают контур эскиза. Вызовом метода SetInferenceMode у интерфейса IModelDoc2 с параметром false можно отключить автоматическое добавление взаимосвязей [2].

Следует с осторожностью менять настройки среды Solidworks в процессе работы с интерфейсами Solidworks, поскольку подавляющее большинство конструкторов привыкли к настройкам по умолчанию и их может сбить с толку отключение любой из вышеописанных опций, особенно авто-привязок, без которых работа в эскизе становится очень некомфортной. Разработчик расширения для этой САПР должен позаботиться о том, чтобы вернуть настройки в исходное состояние в самом конце работы алгоритма. Причём следует учесть, что исходные настройки не всегда совпадают с настройками по умолчанию. Получить текущее значение переключателя «Ввести значение размера» можно с помощью метода SetUserPreferenceToggle у интерфейса IModelDoc2, который возвращает значение логического типа данных, а значение переключателя «Автоматические взаимосвязи» с помощью метода GetInferenceMode у интерфейса IModelDoc2, который так же возвращает true или false. Наиболее целесообразным представляется восстановить настройки в блоке finally оператора обработки исключительных ситуаций try. Это, впрочем, не является панацеей, поскольку в случае прекращения работы программы Solidworks из-за какой-то возникшей ошибки указатели на интерфейсы IModelDoc2 и ISolidworks будут потеряны до выполнения блока finally [3].

Ещё одной интересной особенностью при работе со средой Solidworks является тот факт, что автоматизированное моделирование занимает разное количество времени в зависимости от состояния окна приложения. Если окно Solidworks развернуто на весь экран, то построение даже несложной детали может занять несколько секунд, которые потребуются пакету на отрисовку процесса построения. Но стоит это окно свернуть и деталь построится почти моментально. Изменить видимость окна можно с помощью метода SetVisible интерфейса ISolidworks, важно здесь не забыть во всё том же блоке finally сделать окно снова видимым [2], поскольку никаким иным способом, кроме программного сделать это будет уже невозможно. Ещё одно соображение в пользу сокрытия окна на время автоматизированного построения эскиза детали это возможность пользователю мышкой вмешаться в процесс, на который он смотрит, например, сбросить нужное выделение или подвинуть какой-то элемент эскиза, что само-собой недопустимо.

 

Список литературы:

  1. Морозов Д.И. Автоматизированное построение трехмерной параметрической модели для проектирования передачи внутреннего зацепления механизма измельчителя / Д.И. Морозов, Н.А. Колбасина, В.А. Титов // Проблемы машиностроения и автоматизации. – 2010. – № 3. – С. 87.
  2. Справка по SOLIDWORKS // Solidworks Web Help URL: http://help.solidworks.com/HelpProducts.aspx (Дата обращения: 06.01.2016).
  3. Дейл Роджерсон Основы COM. – 2 изд. – США: Forbidden Reality, 1996.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.