Перейти к публикации

Сделай свою работу в Solidworks эффективнее


Рекомендованные сообщения

Макрос сохранения модели с новым именем и чертежом.  код не оптимизирован - надёргал там и тут. можно им заменить "Сохранить как ..."

Копирует сборку или деталь вместе с чертежом с новым именем в указанную папку, чертеж перессылается.
Условие: копируемая модель и чертеж должны иметь одинаковые имена.
Пример:
в сборке создал деталь и понимаешь, что их будет несколько подобного плана.
создаешь чертеж на первую деталь. сохраняешь. все остальные детали делаешь из нее посредством копирования через макрос.

 

макрос рядом с собой создаёт заполненные

path.txt - пути сохранения в кодировке файла ANSI 1251 чтобы не было кракозябр вместо русских букв и в нём хоть одна не пустая строка (это если кто ручками в нём удалить захочет)

SaveAsCopy.ini - запоминает чек боксы, тоже не пустая строка требуется.

 

Если кто-то улучшит - буду рад, главное, чтобы не коммерциализировали )), как мне кажется есть у макроса потенциал на реализацию пакетного переименования с копированием, вот ещё бы замену в сборке реализовать.

 

я использую так: в свою сборку закидываю другую сборку с другого проекта - примерился - ага, норм. открываю эту вставленную сборку и вызываю макрос - сохраняю сборку с новым именем, так же поступаю с входящими в неё деталями. потом произвожу подмену путем "Заменить компонент.." этих моделей на сохранённые с новым именем и спокойно их редактирую. 

медленно и муторно, но понадежнее. может когда-нибудь поднаторею автоматизировать, а то знания-то в VBA менее чем любительские.

 

от автосоздания пути папок пришлось отказаться - не осилил - вернее у меня на машине отрабатывало (кроме создания по сети), а других макрос падал.

 

SaveAsCopy.zip
 

image.png

 

 

Изменено пользователем tompsongun
Ссылка на сообщение
Поделиться на других сайтах


4 hours ago, tompsongun said:

из состава тех утилит пользуюсь custom toolbar (MyToolbar) - годная вещь для создания панели со своим набором макросов - и, пока на отладке пользователями )), бесплатна.

и удобно администрировать. но вот что омрачает - на многие макросы, после их выполнения вываливается ошибка "Failed to run macro: UserInterrupt" обещали пофиксить почти год назад, но пока - увы. и в новой версии тоже самое (запрашивал по почте).

image.png

Прошу прощения, если Вам не ответил. MyToolbar был заменен на Custom Toolbar из CAD+ Toolset. В нем есть галочка 'Unload After Run' для макросов, в которые есть формы - она должна быть убрана. Поправьте меня, но 'User Interrupt' будет толко на макросах с формами?
image.png
Custom Toolbar должен понять формат от MyToolbar (там похожий интерфейс - просто выберете тот же файл) - но лучше сделайте копию, а то у вас достаточно большой тулбар, чтобы не потерять его. Если не сработал - перешлите мне Ваш файл на info@xarial.com - и я сконвертирую, но должно сработать и так.

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, tompsongun сказал:

Копирует сборку или деталь вместе с чертежом с новым именем в указанную папку, чертеж перессылается.
Условие: копируемая модель и чертеж должны иметь одинаковые имена.
Пример:
в сборке создал деталь и понимаешь, что их будет несколько подобного плана.
создаешь чертеж на первую деталь. сохраняешь. все остальные детали делаешь из нее посредством копирования через макрос.

Причина написания макроса как-то не ясна. Как-то всё сложно.

 

А чем не устроил штатный инструмент КОПИРОВАТЬ ПРОЕКТ? Который скопирует сборки, чертежи и компоненты (все входящие в верхнюю сборку копирует в папку или архив), а так же добавить суфикс/префикс к новым файлам.

Ссылка на справку КОПИРОВАТЬ ПРОЕКТ: http://help.solidworks.com/2010/russian/solidworks/sldshellutils/topics/pack_and_go_overview.htm

 

 

 

 

Изменено пользователем Kelny
Ссылка на сообщение
Поделиться на других сайтах

@artem_cad , да только на макросах с формами. Вы мне отвечали, но просто, что добавили в issue. а что там галочка появилась - мне было неведомо. спасибо за совет.  Спасибо за замечательную разработку - мне очень удобно развертывать макросы, не затрагивая настроек остальных пользователя и потом отлавливать глюки интерфейса солида, когда перестают нажимаються кнопки или пропадают.

попробую и отпишусь по Вашей подсказке.

 

@Kelny , спасибо. про "копировать проект" знаю, пользуюсь (правда он, бывает, иногда чертежи не подхватывает) для больших проектов и то гораздо надежнее просто скопировать и всё попереименовывать вручную - т.е. это проблема не меня одного, но отдела из 8 человек, и не глупых. мне НЕ НУЖНЫ суффиксы и префиксы, которые мне потом надо опять переименовывать - я хочу полностью переименовать модель или изменить только децимальный.

и мне не нужен полностью проект. как я описал выше в существующий проект мне, допустим, нужны детали. эти детали я беру из других проектов и напихиваю в свою сборку. т.к. у нас не используются заимствования, я их переименовываю в своей сборке с сохранением в указанную папку.

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

 

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

 

Специфика макроса, понимаю, не всем сразу ясна - он специфичен и для определённых задач, что ли.  им удобно пользоваться, когда создаёшь наборный проект.

Макрос писал не я - доработал малость. Но, как видно, с подобной специфической задачей столкнулся и автор макроса.  Надо просто попробовать или забить.

 

если этот макрос прямо претит и коробит, попрошу удалить эти сообщения. я подумал, что раз мы пользуемся, может сгодится ещё кому. Прошу простить, если косно выражаюсь и не могу красиво и толково описать зачем этот мутный макрос нужен. надо просто повесить его в замечательный Custom Toolbar и пусть он там будет, придёт время - пригодится. мы его тоже далеко не сразу применили и освоили, а сейчас как стали пользоваться часто, так стал его дорабатывать и выложил здесь.

Ссылка на сообщение
Поделиться на других сайтах

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

Спойлер

image.pngimage.png

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, Kelny сказал:

А чем не устроил штатный инструмент КОПИРОВАТЬ ПРОЕКТ? Который скопирует сборки, чертежи и компоненты (все входящие в верхнюю сборку копирует в папку или архив), а так же добавить суфикс/префикс к новым файлам.

А вот у меня, например, сегодня перестал работать Pack&Go (не пойму правда с какого перепугу, ну да ладно, разберемся) Так вот спас макрос похожей направленности ComponentCopy от коллеги Alek77 (макрос есть постами выше), за что ему огромный риспект в карму :)

Так что, перефразируя классика "Если макросы пишут - значит это кому-то нужно" ;)

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Snake 60 сказал:

Так вот спас макрос похожей направленности ComponentCopy

С сильным запозданием, но как уж получилось. Очень не рекомендую использовать этот макрос на рабочих файлах в связи с выявленным багом, который я не знаю пока как победить. Проявляется так: сохраняешь макросом детали, с переименованием и всеми делами, заменяешь в проекте, все отлично, сохраняешь, закрываешь. Через какое-то время открываешь проект, а там только часть таких деталей (обработанных этим макросом) вернулась к своим прародителям. То есть часть деталей новые, как и должно быть, а часть старые прародители. Сами файлы в полном составе лежат на своих местах. Только сборка чудесным образом подтягивает в себя неизвестно что. С чем связано не понятно. У меня та же самая ситуация периодически возникает и с файлами прогнанными через пакэндго. SW17sp5. Поэтому я предполагаю, что сборки подтягивают в себя файлы не на основе имен файлов, а на основе каких-то внутренних только сборке извесных идентификаторов. И видимо периодически эти идентификаторы остаются одинаковыми с прародительскими деталями, что при обработке макросом, что при обработке пакэндго. Бред конечно и фантастика, но такой баг выявлен неоднократно при большом количестве похожих проектов, когда приходилось возвращать проекты в нормальное состояние ручками, тихо матеря себя, макросы и пакэндго. Еще один важный момент, у меня возврат в проекте иногда происходит не только в сторону прародителей, но и в сторону новых деталей. То есть берем старый проект, из каких-либо его деталей макросим и пакэндгочим новые детали для нового проекта, закрываем старый проект, дальше работаем с новым. Но если открыть старый проект еще раз, чудеса расчудесные, там часть обработанных деталей новые! И опять бубен в руки и танец ручками. И это еще я не буду описывать что происходит, если открыть новый и старый проекты в одной сессии sw.

Короче, с макросом я видимо накосорезил, а с пакэндго накосорезили  разработчики, хотя если принять во внимание, что методы и макросе и в пакэндго одни и те же, то скорее всего это глюк sw. Можете пинать, про кашу в голове писать не нужно, все по полочкам!

 

Зы у меня файлы проходили 100 кратное пакэндго, может проблема кроется именно в этом, очень много однотипных проектов с разными номерами, так как примененные использовать нельзя. 

Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, alek77 сказал:

старый проекты в одной сессии sw

Вот в этих самых сессииях и проблема, скорее всего. Часто висит процесс solid.exe в трее после закрытия солида.

Ссылка на сообщение
Поделиться на других сайтах

@alek77 Не знаю, дружище, у меня всё в порядке. Тут просто нужно понимать один основополагающий принцип, который использует SolidWorks, которому я придерживаюсь очень давно. Если в сборке есть деталь со ссылкой на эту деталь, которая хранится где-либо (но не в папке со сборкой), и, есть точно такая же делать (имеется ввиду по названию файла, не по геометрии), которая лежит в папке с головной сборкой, то при открытии этой головной сборки она подхватит ту деталь, которая лежит с ней в одной папке, и заменит ею ту, на которую была ссылка изначально. Поэтому я взял за правило: один проект - одна папка и в ней все детали/чертежи/сборки. Пока еще ни разу не подводил, плюс к этому можно делать трюк с подменой детали, если нужно.

14 часов назад, alek77 сказал:

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

С этим не согласен, изначально в солиде всё построено на именах файлов, поэтому и не дает создать два разных файла с одним именем и даже две одинаковые конфигурации с одним именем.

 

14 часов назад, alek77 сказал:

хотя если принять во внимание, что методы и макросе и в пакэндго одни и те же

В твоем макросе и в Pack&Go методы разные. У меня солид падал при любом обращении к функции swPackAndGo, а твой макрос отработал норм, так что, думаю не в макросе дело... может правда глюки солида.

Ссылка на сообщение
Поделиться на других сайтах
В 05.11.2020 в 23:10, alek77 сказал:

сохраняешь макросом детали, с переименованием и всеми делами, заменяешь в проекте, все отлично, сохраняешь, закрываешь. Через какое-то время открываешь проект, а там только часть таких деталей (обработанных этим макросом) вернулась к своим прародителям.

Не надо использовать одинаковые имена файлов, Solidworks такое не съест, точнее съесть первое попавшееся с таким же именем.

А хотите что-то в чём есть файлы с одинаковыми именами, то сначала закройте первое, а потом открывайте второе.

 

Но лучше одинаковые имена для Solidworks  не иметь, что бы как раз не получалось, что получается у вас.

Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, Kelny сказал:

Не надо использовать одинаковые имена файлов

Читаем внимательнее, об одинаковых именах файлов речь не идет. Каши в голове нет,  организация хранения файлов и проектов - все по полочкам. Не мальчик, 20 лет женат на солиде. Описанная выше проблема проявилась не более полугода назад, когда пришлось активно использовать пакэндго для кучи почти похожих проектов.

Ссылка на сообщение
Поделиться на других сайтах

image.png Сальник ввода-вывода ekf proxima (пирамидка) - конфигурации. сделан в solidworks 2020 !

в заметках модели картинка с размерами, брал "отседова": https://ekfgroup.com/uploads/products/F47952C47FC0A83050A6EF0522EC029A.pdf

!_Cальник ввода-выода EKF (пирамидка).SLDPRT

Ссылка на сообщение
Поделиться на других сайтах

поправил макрос "переименование и сохранение с чертежом", если кому надо:

SaveAsCopy 2.3.3.zip

 

- исправил ошибку завершения макроса в панели Custom Toolbar (CAD+ Toolset)Custom Toolbar (CAD+ Toolset) - спасибо за наводку artem_cad.

- убрал ник из заголовка формы.

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

 

ссылка на первый пост с этим макросом

Изменено пользователем tompsongun
ссылку в спойлер
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, tompsongun сказал:

поправил макрос "переименование и сохранение с чертежом", если кому надо:

SaveAsCopy 2.3.3.zip 24 \u041a\u0431 · 3 скачивания

 

- исправил ошибку завершения макроса в панели Custom Toolbar (CAD+ Toolset)Custom Toolbar (CAD+ Toolset) - спасибо за наводку artem_cad.

- убрал ник из заголовка формы.

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

 

ссылка на первый пост с этим макросом

 А с файлами сборок он что делает? Создает просто новый файл сборки с новым именем но со ссылками на старые детали?

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Вроде, команда Pack&Go делает всё то же самое штатными средствами? Можно сделать копии чего угодно куда угодно с каким угодно набором связанны файлов. В чем фишка макроса?

Ссылка на сообщение
Поделиться на других сайтах

Не, переименовать сразу в нужное имя файла нельзя. Можно префикс и суффикс добавить. Экономия времени в итоге на множестве подобных операций.

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, none сказал:

переименовать сразу в нужное имя файла нельзя

Почему нельзя? Можно. Пальчиками вводи любые имена для любого файла.

4 минуты назад, none сказал:

Можно префикс и суффикс добавить.

Можно также автоматически заменять общие индексы. Например, везде заменить 021 на 022 автоматом.

Ссылка на сообщение
Поделиться на других сайтах
Только что, Ветерок сказал:

Можно также автоматически заменять общие индексы. Например, везде заменить 021 на 022 автоматом.

Да, можно, виноват, невнимателен был. Значит просто выгода от сохранения частоприменимых путей получается,  плюс имя файла чертежа менять не надо руками. Чуть быстрее получается.

Ссылка на сообщение
Поделиться на других сайтах

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

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

@Ветерок , на этой же странице выше обсуждали уже "пак энд гоу" (между моими постами), плюсы и минусы (повторю и Вам, если это прямо режет глаза, неприятно - можно удалить)

 

----------

а сей макрос кто-то может оценит, доработает, переработает - пригодится. как я ранее отвечал кому-то -

Я так сказать на эйфории им делюсь - что-то удалось почти самому (не с нуля же) сделать, хочется поделиться, с надеждой, что кому-то пригодится, а тебя встречают и серпом по одному месту )) 

 

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

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

Так что прошу позволить выкладывать наработки форумчанам. а я, я считаю, что идеальным для всех всё равно не будешь, да и не стремлюсь всем понравиться.

-----------

Мне вот им удобно пользоваться, например сегодня делал новые оправки для испытания пружин. открывал старую, пересохранял с чертежом с новыми именами. перебивал размеры, открывал чертеж, чуть поправил съехавшее - на печать. это удобно для типовых, так сказать, вещей (конфигурированные оправки  с одним чертежом в котором 49 листов на разные конфиги оправок - и такое есть).

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

Изменено пользователем tompsongun
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   1 пользователь

    • sasha_zao


  • Сообщения

×
×
  • Создать...