![Интерфейс программного обеспечения DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01586fa3985b141a78f4_01-logo.jpg)
В чем заключается преимущество DriveWorks Pro перед другими программными комплексами автоматизации семейства SOLIDWORKS? Какими инструментами достигается высокий уровень автоматизации и на что способен SOLIDWORKS вместе с DriveWorks?
Прежде чем начать проект автоматизации необходимо продумать базовую цепочку процесса автоматизации: «Какие вводные данные?», «Как произвести расчет необходимых параметров?», «Каков результат?».
![вопросы, которые нужно задать перед автоматизацией SOLIDWORKS и DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc016acf3f58425465c11d_02-driveworks.jpg)
Это основные 3 вопроса, которые справедливы практически на всем жизненном цикле проекта автоматизации. При более глубоком погружении в проект неизбежно будут возникать локальные вопросы на определенных этапах.
Разберем пример:
![Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01743d1c5d2e03cc1b15_03-driveworks.jpg)
Есть металлическая пластина с определенной геометрией и параметрами. В результате автоматизации возникает вопрос: сделать дубль данного файла 3D модели с измененными параметрами и при необходимости проводить динамическую/статическую замену модели или заранее создать множество конфигураций базовой модели и на основе правил переключатся между ними. При этом теряется большой объем данных модели для возможного изменения параметров в конкретной конфигураций.
Задача решается, если таких моделей немного, но представим, что таких моделей может быть намного больше и мы не знаем заранее о параметрах новой конфигурации.
Такая задача достаточно реальная и ее решение даст большую свободу для дальнейшего понимания процесса автоматизации.
DriveWorksPro предлагает следующие инструменты для решения: «Дополнительные задачи генерации», «Макросы», «Таблицы» или «Таблицы расчетов».
![Автоматический расчет и создание конфигураций SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc017d10001f1cf2935a9d_04-driveworks.jpg)
Логика процесса, следующая: решением для создания неограниченного количества разнообразных конфигураций, как и в SOLIDWORKS, является таблица. Таблица данных – основной элемент процесса автоматизации. Она может формироваться вручную или на основе правил автоматически при помощи макросов. Для передачи данных таблиц в модель SOLIDWORKS и создания на ее основе конфигураций есть инструмент «Дополнительные задачи генерации».
«Дополнительные задачи генерации» - позволяют запускать дополнительные задачи автоматизации для деталей, сборок и чертежей. К функциям «задач генерации» также относится и циклы. «Циклы» - позволяют последовательно задачам проходить через компоненты или чертежи, при этом каждая итерация дает уникальные результаты. Это позволяет DriveWorks выполнять генеративное моделирование.
![Области: контекста задачи, область последовательности генерации, область набора инструментов. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc018bee276f6f7e9029f3_05-driveworks.jpg)
«Макросы» – еще один неотъемлемый элемент автоматизации. Макросы в DriveWorks отличаются от макросов в SOLIDWORKS тем, что описывают логику происходящего внутри проекта. Про макросы можно и нужно говорить, и это будет в следующих публикациях. . Макрос будет создавать данную таблицу конфигураций.
![Построение макросов. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01924b43be7627565810_06-driveworks.jpg)
Рассмотрим практическую сторону вопроса.
Вот пример проекта, который продемонстрирует весь вышеизложенный процесс на практике:
![Таблица конфигураций. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc019b46c2a789e3b00508_07-driveworks.jpg)
Видим пользовательскую форму, на которой есть 2 таблицы. В них есть 3 заранее установленные строки. Данные таблицы транслируются из соответствующего раздела «Таблицы» проекта.
Введем различные значения в 4 поле и нажмем на кнопку «Создать конфигурацию».
![Создание конфигурации. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01a3cb8a6febfee96165_08-driveworks.jpg)
В таблице «Новая таблица конфигураций» появилась 4-ястрока с ранее заданными параметрами.
Таким образом можно создать любое количество строк в данной таблице.
Перейдем к инструменту «Дополнительные задачи генерации»:
![Инструменты создания конфигураций. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01ab46c2a7f2d6b00515_09-driveworks.jpg)
В наборе инструментов нужно найти инструмент «Новая конфигурация» и в настройках данного инструмента нужно указать как минимум «Наименование конфигурации». Для того, чтобы процесс создания конфигураций проходил автоматически, т.е. любое количество раз, необходимо запустить выполнение данного инструмента в цикле. Для правильной работы циклов необходимо задать их количество. В DriveWorksесть функции, результат которых дает число строк, что как раз и подходит для процесса автоматизации.
Данным процессом нам удалось автоматизировать процесс создания конфигураций, теперь нужно передать значения размеров из таблицы в модель. Для этого перейдем к настройкам правил построения модели.
![Значения и Правила. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01b7b2a408aaf422c528_010-driveworks.jpg)
Для того, чтобы вставить из определенной ячейки таблицы значение в правило модели в DriveWorks есть специальная функция: TableGetValue. Нужно указать: таблицу, индекс столбца и индекс строки. В данном проекте количество столбцов статично, изменяется только количество строк. Для того, чтобы правильно определить текущий цикл создания модели, в DriveWorks есть специальная функция отслеживания текущего цикла: DWCurrentReleasetLoopIndex. По умолчанию, для данной функции, значение будет «0». Для определения строки и будет использоваться данная функция.
![Индекс строки, индекс столбца, таблица. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc01c3ac8aa561b8ff99de_011-driveworks.jpg)
Вернемся к запущенному проекту. Для отладки проекта в DriveWorks существует специальный режим «Test mode», благодаря которому можно поэтапно отследить весь процесс прохождения автоматизации. Перейдем в данный режим.
![Параметры в циклах. Автоматизация проектирования SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc02210cfe0e265990e27b_012-driveworks.jpg)
Мы видим все расчетные параметры. Здесь можно отследить правильность полученных данных. Запустим создание модели и проверим, создается ли новая конфигурация или нет.
![Пластина 3D. SOLIDWORKS совместно с DriveWorks](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc022bf7807881adb797f7_013-driveworks.jpg)
В режиме отладки видно все этапы создания модели. Можем отследить циклы и значения, которые передаются в модель в определенном цикле. Видим, что 2 цикла прошли без ошибок и значения все переданы корректно. Запустим проект до конца.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0233f59c4977eb23507a_014-driveworks.jpg)
Можно увидеть, что все 4 цикла прошли успешно и все значения переданы корректно.
Стоит сравнить результаты с первоначальной таблицей конфигураций:
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc023b7d793283a0fbf73f_015-driveworks.jpg)
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0247a4d9b3304f2526a4_016-driveworks.jpg)
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc024ff78078535bb798a5_017-driveworks.jpg)
Все сходится.
На этом примере в подробностях виден данный процесс. Весь этот процесс можно произвести полностью автоматически. Программа может сама определить количество новых конфигураций и нужно ли их создавать.
Этот процесс можно применить также к файлам сборки и не ограничиваться только созданием конфигураций. Инструменты «Дополнительных задач генерации» значительно расширяют возможности автоматизации процесса проектирования.
Рассмотрим пример работы инструмента «Дополнительной задачи генерации» со сборкой.
В этом примере посмотрим, как происходит передача данных на прямую, без предварительного расчета. Рассмотрим задачу: есть основание для шкафчика, боковые стенки, верхнее/нижнее основание и задняя стенка. Автоматизация будет заключатся в том, что в данном шкафчике может не быть заранее определенно количество полок или их не будет вообще.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0257c56e1649d0eef5d3_018-driveworks.jpg)
Как было сказано ранее будем эту задачу решать при помощи инструментов «Дополнительных задач генерации». В этот раз на прямую из пользовательской формы будем брать значение количества циклов, а также применим новые функции данного инструмента. Посмотрим на окно настройки «Дополнительных задач генерации».
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc025e6224934d7c103d8a_019-driveworks.jpg)
Сразу видим, что циклы применяются только к сборочной единице. Видим какие функции используются для настройки проекта:
- «Вставить компонент»
- «Сопряжение совпадение»
- «Сопряжение совпадение!
- «Сопряжение расстояние»
- «Масштабирование по окну»
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0265243be878f4136164_020-driveworks.jpg)
Рассмотрим особенности и настройки каждой функции.
1. «Вставить компонент» - вставляет компонент в сборку (детали/сборки).
В настройках данной функции нужно указать конфигурацию компонента, который будет вставлен, полный путь к файлу для вставки.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc026dd5fc151f453276cb_021-driveworks.jpg)
Стоит отметить, что для того, чтобы программа правильно определила полный путь к файлу можно использовать функцию: «FsGetFullPathGroupContent». Данная функция разрешает путь к файлу относительно папки содержимого группы.
2 . Пункт 2 и 3 «Сопряжение совпадение» - создает сопряжение совпадение между указанными плоскостями компонентов сборки.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0273677849c2d1e3b6f9_022-driveworks.jpg)
При построении правила для имен плоскостей оно должно ссылаться на сгенерированное имя файла, а не на мастер файл. Правило должно быть построено в виде: [Имя плоскости] @ [Сгенерированное название модели]-[номер экземпляра].
Если плоскость находится в сборке верхнего уровня, требуется только имя плоскости.
Правило должно включать номер экземпляра, даже если в сборке есть только один экземпляр компонента.
Плоскости сопряжения могут иметь несколько уровней глубины. Например, правило:
[Имя плоскости] @ [Сгенерировано название модели] - [номер экземпляра] @ [Сгенерировано суб суб имя сборки] - [номер экземпляра] @ [Сгенерировано суб имя сборки] - [номер экземпляра]
будет действительно.
3. «Сопряжение расстояние» -задача создания сопряжения расстояния создаст сопряжение расстояния в сборке между опорными плоскостями в каждом компоненте.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0279d3c19171b712093d_023-driveworks.jpg)
Помимо указания опорных плоскостей нужно указать величину расстояния.
Рассмотрим пользовательскую форму.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc027fcfb4168207c5ee53_024-driveworks.jpg)
На данной форме можно выбрать необходимое количество полок, настроить высоту шкафа и высоту установки полок.
В данном проекте количество полок будет означать количество циклов. В циклах будут проводиться действия по добавлению компонентов (полок) в проект и добавления сопряжений к ним. Запустим проект в режиме отладки и посмотрим в каком порядке, и какие действия будет совершать программа.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc0287d3c1914381120963_025-driveworks.jpg)
По завершению первого цикла видно, что все задачи выполнены корректно, без ошибок.
Посмотрим на созданные сопряжения.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc02908704721361c34e82_026-driveworks.jpg)
Мы видим, что новое сопряжение ссылается на указанные базовые плоскости. Второй цикл проходит точно также.
![](https://uploads-ssl.webflow.com/577f3315340bfadb0a80534f/61dc029c84b94986258311b6_027-driveworks.jpg)
Конечный результат можно увидеть на скриншоте выше.
Вывод:
1. При помощи расширенных функций программного обеспечения DriveWorks Pro можно автоматизировать и более детально настроить свой проект.
2.Познакомились с назначением инструмента «Дополнительные инструменты генерации».
3. Увидели какой путь проходит значение из пользовательской формы в 3D модель.
4. Познакомились с циклами задач в DriveWorks.
Главное, при помощи циклов можно решить большинство задач автоматизации и упростить работу над первоначальной настройкой 3D модели. Не обязательно иметь полностью «собранную» модель перед тем, как начать процесс написания правил автоматизации данной модели.