• Объявления

    • admin

      Размещайте материалы своей компании БЕСПЛАТНО!   18.04.2018

      Редакционная политика портала позволяет размещать на бесплатной основе различные типы материалов: интересную информацию, наработки, технические решения, аналитические статьи и т.д. Пример такого блога. Взамен мы рекламируем ваш блог в наших группах в соц. сетях, ну и плюс естественная самореклама от пользователей форума и блогов, которые будут читать ваш блог. К примеру охват одного поста только в нашей группе VK составляет более 10 тыс. человек. Т.е. мы предлагаем бартер - вы ведете у нас блог и публикуете какую-то полезную и интересную информацию связанную с вашим производством, а мы рекламируем ваш блог в наших соц. сетях. Блоги можно полностью кастомизировать: поставить изображение шапки, сделать меню или оглавление, также в своем блоге вы будете модератором - сможете удалять комментарии и т.д. Ведение своего блога требует времени и навыков, но рекламный эффект колоссальный, т.к. это живое общение и отклик. Посты не должны быть рекламой, а также должны соответствовать правилам форума. Для тех компаний, которые будут публиковать интересный контент, права в дальнейшем будут расширяться - сможете публиковать больше ссылок, пресс-релизы, новости компании, анонсы и т.д. Ну а если вы хотите размещать платную рекламу: условия и прайс размещения на сайте и форуме, коммерческая тема на форуме, реклама в группе VK.

ОколоCADовое

  • записей
    29
  • комментарий
    101
  • просмотра
    8 464

[Макросы SolidWorks] Пакетное сохранение конфигураций модели

aitras

3 057 просмотров

При создании 3D-моделей в SolidWorks часто удобно использовать такую вещь как конфигурации. Это разновидности детали или сборки внутри одного файла. Если рассматривать на примере переменного резистора, то конфигурациями удобно делать модели с различными валами:

2017-01-29_11-58-15.png

И если создавать конфигурации в SolidWorks можно при помощи таблиц, то вот сохранение всех конфигураций в раздельные STEP-файлы нужно делать вручную, что крайне неудобно. А если потом заметишь в модели ошибку и недочет, после исправления которого нужно все снова сохранять...

Но в SolidWorks же есть VBA! А значит можно написать макрос, который все это автоматизирует. После некоторого поиска и копания в VBA получился следующий код:

Option Explicit
    Sub main()
    Dim swApp As SldWorks.SldWorks
    Set swApp = Application.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Set swModel = swApp.ActiveDoc
    Dim swConfig As SldWorks.Configuration
    Set swConfig = swModel.GetActiveConfiguration
    Dim fname, current As String
    Dim step As Long
    Dim configs As Variant
    
    step = swApp.SetUserPreferenceIntegerValue(swStepAP, 214) 'Сохранять в формат STEP AP214
    fname = swModel.GetPathName
    fname = Mid(fname, 1, InStr(fname, ".") - 1) 'Записать путь к файлу с именем файла без расширения
    current = swModel.GetActiveConfiguration.name 'Имя текущей конфигурация
    configs = swModel.GetConfigurationNames 'В переменную записывается весь список конфигураций
     
    Dim i As Long
    For i = 0 To UBound(configs) 'Цикл по всем конфигурациям модели
        swModel.ShowConfiguration2 (configs(i))
        Dim name As String
        name = fname + configs(i) + ".STEP"   'Путь к файлу для новой конфигурации
        Call swModel.SaveAs3(name, 0, 0) 'Сохраняем как STEP открытый документ
    Next i 'К следующей конфигурации
    
    MsgBox ("Saved " + CStr(i) + " file(s)!"), vbInformation, "Done"
    swModel.ShowConfiguration2 (current) 'Возвращаем документ к исходной конфигурации
End Sub

Работает все крайне просто, по комментариям, думаю, будет понятно. Также файл макроса прикладываю отдельно. Останется только его запустить.

Простая версия: Скачать

UPD 14/03/17:

Макросу добавлен интерфейс, позволяющий:

1. Выбирать префикс к именам создаваемых файлов и имя подпапки, создаваемой для сохранения:

2017-03-14_18-58-28.png2017-03-14_18-58-49.png

2. Наблюдать процесс сохранения с отображением процентов и списка созданных файлов:

2017-03-14_18-49-54.png

3. Прерывать выполнение макроса:

2017-03-14_19-02-15.png

Скачать

  • Одобряю 2


8 комментариев


Рекомендуемые комментарии

Приветик.
Я вот за SolidWorks пытался сесть уже раз пять для освоения, но душа как то легла к Solid Edge :)

А сейчас похоже придется всетаки SW осваивать и плотно.
 

Не подскажешь - онлайн курсы/вебинары/книжки - куда тыкнуться сначала?
Желательно не разорваный по кускам материал, а програмное обучение. Но можно и кусками инфы накрайняк.

Изменено пользователем Ulis

Поделиться комментарием


Ссылка на комментарий

Добрый день.

Я его осваивал как-то самостоятельно и постепенно с простых моделей. Если и смотрел какие-то видеоуроки для понимания каких-либо инструментов, то совершенно случайные на ютубе. Книг не читал, только встроенную справку. Поэтому подсказать что-то конкретное не смогу.

Поделиться комментарием


Ссылка на комментарий

Добавил макросу интерфейс, который позволяет:

1. Выбирать префикс к именам создаваемых файлов и имя подпапки, создаваемой для сохранения.
2. Наблюдать процесс сохранения с отображением процентов и списка созданных файлов.
3. Прерывать выполнение макроса.

2017-03-14_18-49-54.png

Файл приложил выше.

Поделиться комментарием


Ссылка на комментарий

Добрый день, работаю с листовым металлом. Ваш макрос очень бы пригодился, если бы пакетно сохранял конфигурации в формате dxf. Есть пару нюансов, которые не могу обойти. Перед сохранением нужно развернуть модель и при сохранении выскакивает еще одно окно в котором дополнительно нужно жать кнопку сохранить. Буду очень признателен если поможете.

PD.SLDPRT

Поделиться комментарием


Ссылка на комментарий

в dxf - идеальный вариант, но можно и в формате IGES, просто этот формат ест программа на лазере), если получится - с меня пиво)!!

Изменено пользователем de.dmitry

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Комментарии блога

    • Помедитировал над чётными гармониками в спектре уся -гипотеза состоит в том, что несимметрия возникает из-за коллекторной модуляции плеч: драйвер нижнего плеча работает при полном напряжении и без модуляции, а драйвер верхнего плеча - при половинном напряжении и глубокой коллекторной модуляции. Вставил каскоды. Модуляция ушла - чётные гармоники ушли от слова совсем. Остались только нечётные, переключательные по происхождению (уменьшаются при увеличении начального тока в двухтактном выходном АВ-каскаде). Общий уровень гармоник снизился на 15...20 дБ.   Оно, конечно, замечательно - но вот с фазой стало намного труднее: первый полюс поднялся высоко-высоко - ушёл 30 30 дБ. Тоже какбэ замечательно - но при этом фазу скорректировать правильно пока не удаётся: на 0 дБ фаза уходит за 200 градусов, да и на рабочем усилении 20 дБ за тоже достаточно далеко за буйками (за 180 градусов убегает гарантированно). В пику этому, одноэтажный вариант (без каскода) корректируется славно - на усилении +20 дБ фаза не более 120 градусов (!).   Так, что каскод пока не в кассу - всё равно его преимущества не получается реализовать: придётся закорректировать вусмерть и съехать на полюс 1 кГц. Что резко ухудшит верха...   ХИНТ: в целом - усь наиболее симметричный из всех, которые знаю...
    • Добрый день.
      Решил сгруппировать найденную по сети информацию на данную автоматику в одно место, чтобы облегчить себе жизнь.
      По возможно буду добавлять информацию.......   Каскад-колов-Thermona1.pdf Порядок проведения работ при вводе в эксплуатацию котлов с автоматикой HDIMS01-TH01.pdf Руководство по обслуживанию котлов THERM DUO 50.pdf
    • Добрый вечер.
      Во всех своих постах я демонстрировал Турбированый вариант обвязки платы.
      Теперь хочу Вам "показать", как с данной платы сделать Атмосферный вариант. Хотя все это есть и в инструкции на котел. 
      Достаточно поставить термостат "таблетку" на нужную температуру, Нормально замкнутую, и подключить ее к разъему Х16 выводы 65/63 и у Вас плата станет для атмосферного котла.
      На столе, при запуске платы, я просто установил перемычку на данные выводы разъема. Реле вентилятора при этом будет включаться, через него идет на проц одна обратная связь и потенциал сети идет на контакты реле газового клапана. Работа реле К4 обязательна. Так будет проще обвязывать плату и тестировать ее, так как исключается один пункт с выдержкой времени имитации датчика прессостата. 
    • Добрый день.
      Попалась ко мне плата практически новая, не разу не юзаная от Декабря 15 года. Я с начало не понял, почему данная плата не на котле, оказывается при сборке на заводе робот не "установил" перемычку на разъеме Х7 выводы 26/27, они отвечают за комнатный термостат. У робота видимо закончилась проволока, до отверстия он довел проволоку, но вот в отверстие не завел. Поставил перемычку, установил в котел и плата начала работать, подарок судьбы. Побольше таких ремонтов.  Так выпала возможность, то решил описать как работает модуляция на данной плате. Добавил фото и видео работы.
      Модуляция. Режим ее работы. Принцип работы описан платы на столе. На котле возможно плата будет вести себя чутка иначе.
      Перемычка JP1 установлена на природный газ. Настройки платы по умолчанию. Забигаю вперед, если установит перемычку на пропан, то поведение модулятора не изменилось.
      В качестве модуляционной катушки у меня была лампочка накаливания на 24В мощностью 4,8W. Разъем Х9 выводы 58 (+) и 57 (-)
      Обвязываем плату.
      Запускаем плату, подаем питание 220В. Происходит самотест платы, приблизительно 5 сек., появляется надпись oFF, если переключатель режимов был на 0. При этом ни на один имполнительный механиз не поступает напряжение. Плата находится в режиме ожидания.
      Группа безопсности термостатов замкнута.
      С помощью выбора режимов, переключаем на летный режим. На дисплее загорается текущая температура в градусах и значек солнышко. В это время не одно реле не щелкнуло, на модуляцию катушки поступает 0В.
      С помощью переключателя режимов выбираю отопление. Включается реле насоса. На дисплее появляется значек батареи. Имитирую реле протока. Включается реле вентилятора. Параллельно с этим на модуляционную катушку начинает поступать напряжение 2,5В. Параллельно лампочки "модуляции" подключен мультиметр, выбран режим 200В постояного напряжения.
      Имитирую прессостат. В это время включается трансформатор розжига и реле газового клапана. На модуляционную катушку, в течении 1 секунды, плавно наростает напряжение с 2,5В до 16В. 
      После имитации наличия пламени, на дисплее появляется значек пламя и напряжение на модуляционной катушке в течении 1 сек., плавно опускается до 1,9В. После этого автоматика включает режим модуляции, очень плавно, с шагом 0,3В, начинает расти напряжение на катушке с 1,9В до 23В.
      Если в работе потеряется пламы, то автоматика полностью выключит реле газового клапана и модулятора, на обоих будет 0В. Модуляция_катушки_платы_DIMS01-TH01.mp4
  • Записи блога