• Объявления

    • admin

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

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

ОколоCADовое

  • записей
    30
  • комментариев
    105
  • просмотров
    9 078

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

aitras

3 342 просмотра

При создании 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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Насчет делителей это безусловно интересно. Вот только окромя подбора из одной партии есть еще грабли. Ежели посмотреть ТУ, то прочие скажем так тонкие параметры типа стабильности, ткR, дрейфа и т.д. завязаны всегда на точность резистора. И они будут соответствовать параметрам исходно примененного. Посему надобно иметь ввиду иногда. Оносительно применения точных резюков, нередко применяли их исключительно по экономическим соображениям. Точный резистор много дешевле времени регулировщика. Относительно отношения в матрице резисторов - святая правда. Гораздо легче получить точное отношение , чем выгонять последовательно всю матрицу в абсолютное значение  с немалым браком. Реально получались помнится слои с разбросом в 50 проц, при этом на ближлежащих участках литографией легко получались пары в 0,1 проц. Это при том, что на лазере подгонка в среднем давала не лучше 1 проц. Не говоря о том, что литография много дешевле  оператора прожига.
    • Ставил то, что было. Сверху вниз: 22n 470n 1u
    • Добрый день. Кручу-верчу схему и файл lay и никак не пойму некоторых номиналов.  Как видно в скрине я все определил (скорее всего ошибочно) как 1мк х 300В, но у вас на плате они абсолютно разные. Подскажите, если есть такая возможность, номиналы кондеров  
    • ностальжи. Я с такими штуками тоже работал, только на 60 секунд. До сих пор пачка валяется. Дохнут довольно часто, но правда в выборке из пары сотен.
    • Бог миловал, поэтому как вода лечит такие вещи, сказать не могу. Но с ответственностью могу заявить, что "мёртвая" вода обладает очень сильным антисептическим и обеззараживающим действием и в сочетании с "живой", может вылечивать очень многие вещи, в том числе и загнивающие раны, а возможно и разные стадии гангрены ...    Я с помощью мёртвой и живой воды прекрасно "заживляю" ушибы, царапины и порезы на ногах. Если раньше они не проходили месяцами, то на данный момент всё заканчивается неделей, максимум, двумя.   Так что вопрос о том, почему врачи не применяют живую и мёртвую воду, надо задавать им, а не мне.  Так же можно задать вопрос офтальмологам - почему они не применяют для лечения глаз, давно разработанные упражнения и целые методики по восстановлению зрения. Хотя древние индейцы и йоги успешно ими пользуются по сей день. При попытке внедрить эту технологию "в массы", только японцы ответили честно: "Если мы внедрим этот метод лечения и профилактики,  то вся наша "очковая" промышленность останется без работы"  ... Как-то на щеке вскочили два больших фурункула (в Хабаровске решил выдавить прыщики). Щёку разнесло так, что по приезде домой в Москву поднялась температура и хотел уже идти к хирургу.  Неделю делал примочки мёртвой и живой водой - всё прошло.  Отца уже давно перевели на инсулин, но сахар, всё одно, ниже десяти не опускался. Как только стал пить живую воду, снизился  в течении недели до 5-ти, 6-ти.  У тёщи был опоясывающий лишай, таблетки и мази толком не помогали.  Так же помогла мёртвая вода. У неё же сильно отекали ноги. Регулярные  примочки с помощью бинтов пропитанных активированной водой, устранили эту проблему. Уже пол года не вспоминает об этом.  Я не хочу сказать, что активированная вода, это панацея от всех болезней, но ведь человек ничего не теряет от её применения, так почему же не попробовать, тем более, что никто не запрещает отказываться от приёма выписанных лекарств.  В случае, если вода начинает помогать, то можно снизить дозы, а в некоторых случаях и совсем отказаться от химии.  В любом случае, использование воды значительно сокращает количество принимаемых таблеток, а это главное, ибо чем меньше химии мы потребляем, тем меньше травим свой организм ...  Ещё раз повторю, что бы понять работает эта вода или нет, надо, для начала, самому попробовать её действие и уже потом делать какие-то выводы.
  • Записи блога