Jump to content

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


Recommended Posts

Kelny
13 часов назад, Snake 60 сказал:

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

Возможно глянуть что нибудь на предмет инструмента ВИЗУАЛИЗАЦИЯ СБОРКИ, если по нему что-то есть в АПИ.

Так же вероятно можно глянуть макросы по спецификации, в конце концов вставить спецификацию и получить сводку от туда:

https://cccp3d.ru/topic/6622-спецификация-для-sw-по-гост/

 

  • Нравится 1
Link to post
Share on other sites


nahim20

Помогите решить проблему. При создании спецификации Spec Edit не возможно получить спецификацию если в сборке присутствуют стандартные изделия из библиотеки. Макрос зависает наглухо.

Link to post
Share on other sites
DuS
18.06.2021 в 21:21, tompsongun сказал:

даа, причём самые главные ))

спасибо Вам!

 

извините, исправился:

 

SaveAsCopyReplace 3.2.3.1.zip 203 \u041a\u0431 · 27 скачиваний

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

 

зы всплывут баги отпишусь.

12 часов назад, nahim20 сказал:

Помогите решить проблему. При создании спецификации Spec Edit не возможно получить спецификацию если в сборке присутствуют стандартные изделия из библиотеки. Макрос зависает наглухо.

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

  • Нравится 1
Link to post
Share on other sites
mrNicetone
25.07.2021 в 22:53, Snake 60 сказал:

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

path_conf-num.swp

используя этот подсчёт деталей, можно задаться условием:

если количество больше одного,

тогда в первый раз сохранить,

а потом пропускать деталь?

  • Нравится 1
Link to post
Share on other sites
none

@tompsongun

 Приветствую. С расстройством обнаружил, что новейшая версия макроса перестала помещать детали в корзину при переименовании деталей. Пишет, что либо в сборке несколько деталей открыто, либо нет прав на удаление. Попробовал более старые версии и обнаружил, что последняя версия, которая помещает файлы в корзину без проблем - это версия, где была возможность менять свойства сразу в окне (от чего потом отказались). Прошу проверить этот момент всем, кто может. С перемещением в папку Старое тоже проблема (сначала пишет, что не может удалить, но потом после неизвестных манипуляций, вроде кладет в папку Старое, но удалить не может. Что это такое может быть? У меня SW 2014. Не хочется откатываться назад.

  • Нравится 1
Link to post
Share on other sites
malvi.dp
10 часов назад, none сказал:

Пишет, что либо в сборке несколько деталей открыто, либо нет прав на удаление.

Подтверждаю, то же заметил.

sw2016sp5

  • Нравится 1
Link to post
Share on other sites
tompsongun

@none , @malvi.dp  спасибо!

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

 

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

 

3.2.5.1 SaveAsCopyReplace

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

 

SaveAsCopyReplace 3.2.5.1.zip

 

 

также добавил в сообщении о проблемах "удаления":  Возможно в настройках путь для удаления некорректен.

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

также макрос может не работать, если кодировка в текстовых файлах, в которых он хранит настройки, пути, имена изменилась на иную чем 1251 (вроде она должна быть, подзабыл уже), вот иногда в ini-файле настроек иногда обнаруживаю вдруг ansi или notepad++ дуркует ).

 

в справке по перемещению в "корзину"  (описатель из меня тот ещё.. ):

Дополнительные настройки - Путь, куда перемещать исходные файлы + Папка - если поле Путь пустое, удаление происходит в корзину или если по сети удаляем, то через временную папку temp windows в корзину(вроде, не возможно напрямую в корзину). Если выбран 'Исходный Путь' -  перемещение произойдёт по этому пути + можно дополнительно указать папку (можно вложенные). Можно указать свой путь. К перемещённым файлам добавится системная дата, чертёж на модель ссылаться не будет. Если в поле Путь указано 'Исходный Путь', а в поле Папка пусто - старый файл останется в той же папке где и был, но к его имени прибавится системная дата.
 При перемещении файлов в корзину дата добавляться не будет. Путь и папка запоминаются.

Edited by tompsongun
  • Нравится 1
  • Чемпион 3
Link to post
Share on other sites
malvi.dp
10 часов назад, tompsongun сказал:

3.2.5.1 SaveAsCopyReplace

Спасибо, теперь удаляет и Де и СБ.

Link to post
Share on other sites
none

@tompsongun

Еще больная точка обнаружена: не может удалить файл детали при переименовании только если одновременно: 1. открыт сборочный чертеж сборки со специей swplus; 2. в окне моделирования активирована НЕосновная конфигурация (у меня их было две: 00 и 01, активна была 01). Причем деталь, которую хотим переименовать, конфигураций не имела. Старая версия макроса любая тоже не может удалить при этих условиях. Макрос, который не переписывает свойства (другого автора) в этой ситуации работает. Получается это явление связано именно с обновлением свойств. Предполагаю, что это может быть неизлечимо. Процесс, который занимает файл детали - Solidworks Launcher. Прошу воспроизвести эту ситуацию, кто может. Спасибо.

Edited by none
Link to post
Share on other sites

Когда то видел здесь простенький макрос по вставке изображений на активный лист чертежа (нужно в штамп вставить картинку подписи) есть у кого нибудь? Спасибо

Edited by eest
Link to post
Share on other sites
malvi.dp
34 минуты назад, eest сказал:

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

Держи

VstavkaPodpis.rar

  • Нравится 2
Link to post
Share on other sites
4 часа назад, malvi.dp сказал:

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

Edited by eest
Вопрос решен - пропустил слеш
Link to post
Share on other sites
malvi.dp
12 часов назад, eest сказал:

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

 

Я бы макрос вообще не трогал. Попробуйте сделать наоборот - подставить вашу картинку в папку с макросом и обозвать так же как и приложенный пример, а пример, соответственно удалить или переименовать.

Link to post
Share on other sites

Есть ли возможность поправить макрос SpecEditor так, что бы упростить добавление материала в БЧ деталях?
Как показано на рисунку.
Старый добрый ГеОС к сожалению, подходит только что бы скопировать код материала и вставить в нужное место как заметку.Update.jpg

Буду очень благодарен.

Edited by eest
Link to post
Share on other sites
tompsongun

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

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

 

что-то жесть какую-то понаписал ))

 

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

 

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

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

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

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

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

 

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

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

Link to post
Share on other sites
07.08.2021 в 19:42, tompsongun сказал:

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

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

 

что-то жесть какую-то понаписал ))

 

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

 

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

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

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

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

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

 

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

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

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

  • Нравится 2
Link to post
Share on other sites

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

image.png

Спасибо.

Link to post
Share on other sites
Docuk1

 

Надо не Мпроп редактировать, а SpecEditor в двух местах.

Чтоб в рамках был, то нужно править шаблоны чертежа и ставить пробел: $PRPSHEET:"Обозначение"<ПРОБЕЛ>$PRPSHEET:"Сборка1_ФБ"

image.pngimage.png

 

Edited by Docuk1
Link to post
Share on other sites
dommast

Добрый день.
У меня есть "Макрос №", который объединяет 3 отдельных макроса и запускается по горячей клавише.
Сейчас происходит следующее.
Я выделяю в дереве конструирования 1 деталь (или 1 сборку ), запускаю "Макрос №" с 3-мя макросами:
1 макрос открывает выделенную деталь или сборку в дереве конструирования.
2 макрос присваивает свойства "Обозначение" и "Наименование" от $PRP:"SW-File Name".
3 макрос закрывает выделенную деталь или сборку.
В итоге я получаю два новых свойства "Обозначение" и "Наименование".
Все великолепно работает с 2016 года, но приходится выполнять это действие только по отдельности.
Я не знаю API и никак не удается найти какое-то решение, чтобы применить "Макрос №" сразу к нескольким выделенным деталям или сборкам в дереве конструирования.
Т.е. выделить в дереве конструирования нужные для меня детали или сборки и применить  "Макрос №" пакетно.
Может кто сталкивался как решить?
Спасибо.
SW 2020Sp5. Win10.

Link to post
Share on other sites
Snake 60

@dommast Можно воспользоваться приложением от Xarial (Артем Татуревич) которое называется Batch+ https://cadplus.xarial.com/batch/ и является часть программного пакета CAD+ https://cadplus.xarial.com/ Есть бесплатная версия Community Edition

Либо начать изучать хотя бы VBA, что бы реализовать свою идею. Если использовать SelectionManager при выборе компонентов в сборке, то необходимость использования 1 и 3 макроса отпадает. Из описания я не совсем понимаю как работает Ваш второй макрос. Если я правильно понял макрос берет значение имени файла, допустим, оно состоит из НАИМЕНОВАНИЕ_разделитель_ОБОЗНАЧЕНИЕ, обрабатывает его и прописывает каждую часть в свое свойство, так ли это?

Link to post
Share on other sites
Maik812
12 часов назад, dommast сказал:

Может кто сталкивался как решить?

Пакетно делаю по шаблону или без всех выделенных файлов.

 

Скрытый текст

111.gif

 

Скрытый текст

Изменить в атрибутах.gif

 

Edited by Maik812
Link to post
Share on other sites
dommast
11 часов назад, Snake 60 сказал:

@dommast Можно воспользоваться приложением от Xarial (Артем Татуревич) которое называется Batch+ https://cadplus.xarial.com/batch/ и является часть программного пакета CAD+ https://cadplus.xarial.com/ Есть бесплатная версия Community Edition

Либо начать изучать хотя бы VBA, что бы реализовать свою идею. Если использовать SelectionManager при выборе компонентов в сборке, то необходимость использования 1 и 3 макроса отпадает. Из описания я не совсем понимаю как работает Ваш второй макрос. Если я правильно понял макрос берет значение имени файла, допустим, оно состоит из НАИМЕНОВАНИЕ_разделитель_ОБОЗНАЧЕНИЕ, обрабатывает его и прописывает каждую часть в свое свойство, так ли это?

Snake 60 , Спасибо за отклик на мой вопрос.
Буквально незадолго до этого я смотрел Batch+ и  видео, приложенное к нему.
К сожалению, мой английский не позволил понять что и как.
Вы абсолтно правильно поняли по назначению второго макроса. Он именно это и делает.
А 1 и 3 макрос я добавил, чтобы основной макрос "Обозначение_Наименование" срабатывал в дереве конструирования всей сборки.
Посмотрел в справке SelectionManager Property (IModelDoc), но как его связать с моим макросом  "Обозначение_Наименование" не имею понятия.
Все познания в VBA у меня сводятся к 1 семестру обучения в институте в 1979 г.
В любом случае большое спасибо. Я думаю, что где на просторах инета всплывет подобная ситуация. Будем искать.

9 часов назад, Maik812 сказал:

Пакетно делаю по шаблону или без всех выделенных файлов.

 

  Показать содержимое

111.gif

 

  Показать содержимое

Изменить в атрибутах.gif

 

Спасибо за ваш ответ. Но по этим скринам я абсолютно не понял что нужно делать .

Link to post
Share on other sites
Maik812
11 минут назад, dommast сказал:

Но по этим скринам я абсолютно не понял что нужно делать

Выбираю файлы ТС и использую его для редактирования или вынесении значений в пользовательских полях таких как Обозначение , Наименование и тд..переименование деталей тоже удобно (но свои особенности со ссылками на имя).

Link to post
Share on other sites
dommast
14 минут назад, Maik812 сказал:

Выбираю файлы ТС и использую его для редактирования или вынесении значений в пользовательских полях таких как Обозначение , Наименование и тд..переименование деталей тоже удобно (но свои особенности со ссылками на имя).

Не берусь судить, но лишнее окно ТС немного громоздко сверху  окна SW.

Все же смотрю в сторону макроса,  который позволит все манипуляции сделать прямо в SW.

Спасибо за ваше внимание к моему вопросу.

Link to post
Share on other sites
21 час назад, dommast сказал:

Добрый день.
У меня есть "Макрос №", который объединяет 3 отдельных макроса и запускается по горячей клавише.
Сейчас происходит следующее.
Я выделяю в дереве конструирования 1 деталь (или 1 сборку ), запускаю "Макрос №" с 3-мя макросами:
1 макрос открывает выделенную деталь или сборку в дереве конструирования.
2 макрос присваивает свойства "Обозначение" и "Наименование" от $PRP:"SW-File Name".
3 макрос закрывает выделенную деталь или сборку.
В итоге я получаю два новых свойства "Обозначение" и "Наименование".
Все великолепно работает с 2016 года, но приходится выполнять это действие только по отдельности.
Я не знаю API и никак не удается найти какое-то решение, чтобы применить "Макрос №" сразу к нескольким выделенным деталям или сборкам в дереве конструирования.
Т.е. выделить в дереве конструирования нужные для меня детали или сборки и применить  "Макрос №" пакетно.
Может кто сталкивался как решить?
Спасибо.
SW 2020Sp5. Win10.

Вполне полезный был бы макрос. Иногда бывает нужно прогнать неизвестную сборку на предмет все ли в порядке со свойствами Наименований и Обозначений. Или если брать сборку чужую в работу в нейтральном формате (если заказчик работает в более новой версии солида, например), где только имена файлов сохраняются.

Link to post
Share on other sites
11.08.2021 в 08:31, Docuk1 сказал:

 

Надо не Мпроп редактировать, а SpecEditor в двух местах.

Чтоб в рамках был, то нужно править шаблоны чертежа и ставить пробел: $PRPSHEET:"Обозначение"<ПРОБЕЛ>$PRPSHEET:"Сборка1_ФБ"

image.pngimage.png

 

Благодарю!

Link to post
Share on other sites
dommast
11.08.2021 в 13:16, dommast сказал:

Добрый день.
У меня есть "Макрос №", который объединяет 3 отдельных макроса и запускается по горячей клавише.
Сейчас происходит следующее.
Я выделяю в дереве конструирования 1 деталь (или 1 сборку ), запускаю "Макрос №" с 3-мя макросами:
1 макрос открывает выделенную деталь или сборку в дереве конструирования.
2 макрос присваивает свойства "Обозначение" и "Наименование" от $PRP:"SW-File Name".
3 макрос закрывает выделенную деталь или сборку.
В итоге я получаю два новых свойства "Обозначение" и "Наименование".
Все великолепно работает с 2016 года, но приходится выполнять это действие только по отдельности.
Я не знаю API и никак не удается найти какое-то решение, чтобы применить "Макрос №" сразу к нескольким выделенным деталям или сборкам в дереве конструирования.
Т.е. выделить в дереве конструирования нужные для меня детали или сборки и применить  "Макрос №" пакетно.
Может кто сталкивался как решить?
Спасибо.
SW 2020Sp5. Win10.

 

Добрый день.
После ответов на мой вопрос  я решил попробовать выполнить задачу по переименованию по другому.
Скрестил некоторый макросХ с макросом "Обозначение_Наименование" и получил следующее:
1. Копирую в отдельную папку необходимые для переименования файлы.
2. Запускаю макросХ  (он просит указать папку для преобразования).
3. После выполнения макроса копирую с заменой обратно в папку с проектом.
Все исправлено и для меня вполне нормально.
Но !!!!
Пришлось сделать 2 практически одинаковых макросаХ (1-для деталей, 2-для сборок) и запускать их один за другим.
Поэтому стал вопрос - как эти 2 макроса соединить в общий.
К тому же в моих макросах есть наверно и ненужные строки);
Для понимающих API я думаю это не сложно сделать.
Прикладываю эти 2 макроса.
Еще раз напоминаю про мои "нулевые" знания по написанию макросов и не судить строго.
Все делалось методом проб и ошибок.
Спасибо.

 

sОбознач_НаименПакетноИзОтдельнПапки — Деталь.swp sОбознач_НаименПакетноИзОтдельнПапки — Сборка.swp

  • Нравится 1
Link to post
Share on other sites
alek77
25.07.2021 в 22:53, Snake 60 сказал:

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

тут есть

  • Чемпион 1
Link to post
Share on other sites
Snake 60

@ALL Коллеги, представляю на ваш суд макрос для пакетного занесения свойств в сборке. Сделан на коленке (поэтому прошу сильно не пинать за БК) на основе макроса Component Info от @alek77 за что ему громадное спасибо! У него очень грамотно реализован подсчет компонентов в сборке, что нам очень пригодилось :)

Для чего нужен макрос? Ну например:

12.08.2021 в 12:07, none сказал:

Иногда бывает нужно прогнать неизвестную сборку на предмет все ли в порядке со свойствами Наименований и Обозначений. Или если брать сборку чужую в работу в нейтральном формате (если заказчик работает в более новой версии солида, например), где только имена файлов сохраняются.

Как выглядит? Вот так:

Скрытый текст

изображение.png

Как с ним работать? Смотрим видос:

Скрытый текст

Как его установить? Курим мануал:

Скрытый текст

Устанавливается как и любой другой VBA макрос. Пример установки можно посмотреть вот здесь:

ВНИМАНИЕ! Метод ОБЯЗАТЕЛЬНО должен быть выбран FromFilenameToProperties2.main - иначе не заработает!

изображение.png

ToDo List:

  1. Оптимизировать быстродействие на больших сборках (в данной версии макрос мучает одну и ту же деталь столько раз, сколько она встречается в сборке)
  2. Добавить вкладку для внесения персональных свойств на вкладку Настройки (пишите если это нужно - если никому не нужно, то не буду заморачиваться)
  3. Добавить вкладку для внесения персональных свойств на вкладку Конфигурация (пишите если это нужно - см.выше)
  4. Добавление других расчетных свойств, таких как: Площадь поверхностей, Объем и т.п. (Опять же, если кому-то это надо...)
  5. Выслушаю ваши предложения и пожелания.

А где же файлы? Да вот они:

Скрытый текст

 

  • Нравится 6
  • Чемпион 2
Link to post
Share on other sites
15 часов назад, Snake 60 сказал:

@ALL Коллеги, представляю на ваш суд макрос для пакетного занесения свойств в сборке. Сделан на коленке (поэтому прошу сильно не пинать за БК) на основе макроса Component Info от @alek77 за что ему громадное спасибо! У него очень грамотно реализован подсчет компонентов в сборке, что нам очень пригодилось :)

Для чего нужен макрос? Ну например:

Как выглядит? Вот так:

  Показать содержимое

изображение.png

Как с ним работать? Смотрим видос:

  Показать содержимое

Как его установить? Курим мануал:

  Показать содержимое

Устанавливается как и любой другой VBA макрос. Пример установки можно посмотреть вот здесь:

ВНИМАНИЕ! Метод ОБЯЗАТЕЛЬНО должен быть выбран FromFilenameToProperties2.main - иначе не заработает!

изображение.png

ToDo List:

  1. Оптимизировать быстродействие на больших сборках (в данной версии макрос мучает одну и ту же деталь столько раз, сколько она встречается в сборке)
  2. Добавить вкладку для внесения персональных свойств на вкладку Настройки (пишите если это нужно - если никому не нужно, то не буду заморачиваться)
  3. Добавить вкладку для внесения персональных свойств на вкладку Конфигурация (пишите если это нужно - см.выше)
  4. Добавление других расчетных свойств, таких как: Площадь поверхностей, Объем и т.п. (Опять же, если кому-то это надо...)
  5. Выслушаю ваши предложения и пожелания.

А где же файлы? Да вот они:

 

К сожалению могу тестировать только на св2014. Отдельное внесение свойств для деталей работает отлично. пакетное -нет. Метод выбрал как сказано в инструкции.

 

20210825_143811.jpg

20210825_143620.jpg

Link to post
Share on other sites
Snake 60
2 часа назад, none сказал:

К сожалению могу тестировать только на св2014

Поставлю SW2014й на виртуалке, попробую исправить.

Link to post
Share on other sites
malvi.dp
03.08.2021 в 21:33, tompsongun сказал:

3.2.5.1 SaveAsCopyReplace

@tompsongun, столкнулся с такой проблемой - при копировании в исходную модель (и ДЕ и СБ) вносятся данные из клона.

Т.е. из детали 1111_ААА (исходная) делаем 2222_БББ (клон).

В итоге: в св-вах исходной детали 1111_ААА имеем св-ва клона, т.е. Обозначение - 2222 Наименование - БББ.

Кто пользуется макросом, проверьте, может только у меня так? 

sw2016sp5

Edited by malvi.dp
  • Нравится 1
Link to post
Share on other sites
1 час назад, malvi.dp сказал:

@tompsongun, столкнулся с такой проблемой - при копировании в исходную модель (и ДЕ и СБ) вносятся данные из клона.

Т.е. из детали 1111_ААА (исходная) делаем 2222_БББ (клон).

В итоге: в св-вах исходной детали 1111_ААА имеем св-ва клона, т.е. Обозначение - 2222 Наименование - БББ.

Кто пользуется макросом, проверьте, может только у меня так? 

sw2016sp5

Да, у меня также. Макрос последней версии.

Потихоньку вылижем макрос. Обычный процесс.

  • Нравится 1
Link to post
Share on other sites
tompsongun

@malvi.dp , @none  спасибо!

 

поправил вроде как, пожалуйста, попробуйте

SaveAsCopyReplace 3.2.5.2

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

исправил обновление обозначения в конфигах, когда не выбрано обозначение + имя конфига;  (оставалось исходное обозначение в конфигурации (( )

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

 

SaveAsCopyReplace 3.2.5.2.zip

 

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

  • Нравится 2
  • Чемпион 3
Link to post
Share on other sites
malvi.dp
14 минут назад, tompsongun сказал:

поправил вроде как, пожалуйста, попробуйте

Спасибо за оперативность!

Сейчас порядок, св-ва соответствуют.

Link to post
Share on other sites
and1822
24.08.2021 в 23:06, Snake 60 сказал:

@ALL Коллеги, представляю на ваш суд макрос для пакетного занесения свойств в сборке. Сделан на коленке (поэтому прошу сильно не пинать за БК) на основе макроса Component Info от @alek77 за что ему громадное спасибо! У него очень грамотно реализован подсчет компонентов в сборке, что нам очень пригодилось :)

Для чего нужен макрос? Ну например:

Как выглядит? Вот так:

  Скрыть содержимое

изображение.png

Как с ним работать? Смотрим видос:

  Скрыть содержимое

Как его установить? Курим мануал:

  Скрыть содержимое

Устанавливается как и любой другой VBA макрос. Пример установки можно посмотреть вот здесь:

ВНИМАНИЕ! Метод ОБЯЗАТЕЛЬНО должен быть выбран FromFilenameToProperties2.main - иначе не заработает!

изображение.png

ToDo List:

  1. Оптимизировать быстродействие на больших сборках (в данной версии макрос мучает одну и ту же деталь столько раз, сколько она встречается в сборке)
  2. Добавить вкладку для внесения персональных свойств на вкладку Настройки (пишите если это нужно - если никому не нужно, то не буду заморачиваться)
  3. Добавить вкладку для внесения персональных свойств на вкладку Конфигурация (пишите если это нужно - см.выше)
  4. Добавление других расчетных свойств, таких как: Площадь поверхностей, Объем и т.п. (Опять же, если кому-то это надо...)
  5. Выслушаю ваши предложения и пожелания.

А где же файлы? Да вот они:

 

Обозначение и наименование обновляет, но трет материал в детали!!! Материал присваиваю череез ГеОС. Заметил уже когда прогнал большую сборку... теперь везде материал переприсваивать(((

Link to post
Share on other sites
and1822

Я так понял что макрос берет материал из детали(что присвоено в модели) и вкидывает его в свойства. Можно замену этого свойства отключить?

Link to post
Share on other sites
Snake 60
2 часа назад, and1822 сказал:

Обозначение и наименование обновляет, но трет материал в детали!!! Материал присваиваю череез ГеОС. Заметил уже когда прогнал большую сборку... теперь везде материал переприсваивать(((

Сорри за неудобство, не подумал об этом ((

1 час назад, and1822 сказал:

Я так понял что макрос берет материал из детали(что присвоено в модели) и вкидывает его в свойства. Можно замену этого свойства отключить?

Так и есть, исправлю. Сделаю проверку, если этого свойства нет - то добавить.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Xugack
      Посмотрел модель, много деталь (фаски, скругления, вырезы...), еще болты, подшипники. Чтобы все это описать сеткой нужно прилично места. В целом расчетная модель это не модель реального изделия, нужны упрощения, разбитие на узлы и т.д. Подход - все красиво замоделить, а потом давай считать редко когда дает результат. Места на диске наверное хватит, а 16 оперативы, не сказал бы что это много для таких задач, тем более если считать модель как есть
    • 140466
      Ну это очевидное объяснение , но как-то даже для нота перебор. У меня 16 гигов оперативки. Довольно сносно. 30 гигов на диске. Сколько ж ему надо, если этого мало? 
    • Xugack
      Может у вас просто ПК не тянет расчет. Места на диске не хватает, или оперативки
    • 140466
      Объясните мне тупому, что я делаю не так?  Нужно посчитать на прочность не шибко сложную сборку (https://drive.google.com/file/d/1-zYd7bTwjAmUhW_0yLA3NmiQfzqoqoTb/view?usp=sharing) С трудом и матюгами сделать сетку удалось. Однако посчитать на прочность никак не получается. Вроде как что-то надо сделать с отверстия под болты (пока пытаюсь сделать mat bonded и обойтись без болтов, но отверстия под них оставил). Очевидно, что такая сборка должна считаться, но мне выдаёт, что закончилась физическая память. 
    • 12val12
      https://drive.google.com/file/d/1bSIqExNcY4YJwXe1raH1XqbokU7JEM1U/view?usp=sharing
    • karachun
    • 12val12
      https://drive.google.com/file/d/1bSIqExNcY4YJwXe1raH1XqbokU7JEM1U/view?usp=sharing в архиве  1.6 мб   вроде уже открыл
    • 12val12
      @karachun https://drive.google.com/file/d/1Di1l_vpka5U15pTDgHOl8s7PXJ2283n_/view?usp=sharing   файл больше 21мб
    • Ветерок
      котики https://vk.com/golf_stream_spb?w=wall3958979_2090%2Fall
    • karachun
      @12val12 Скиньте файл. Мало ли что вы там накрутили.
×
×
  • Create New...