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

Макрос для пакетного сохранения разверток из всех компонентов из сборки


artem_cad

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

Здравствуйте,

Вот макрос, который, надеюсь будет полезным. Макрос позволяет сохранять развертки в формате DXF или DWG из всех компонентов с листовым металлом в активной сборке. Можно указать опции сохранения а также шаблон для имени, в котором можно использовать значения из свойств списка вырезов, имя файла, элемента, конфигурации. Ниже видео демонстрация и ссылка на скачивание:

 

 

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


UnPinned posts

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

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

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

@Ветерок А Вам не кажется, что вместо того, чтобы сказать спасибо за проделанную работу и предоставленную возможность ей воспользоваться, Ваше высказывание, по крайней мере не этично. После таких комментариев у автора вообще может отпасть любое желание выкладывать в общий доступ какие-либо свои наработки, а их у него множество. Самый полезный ресурс в сети по API Солида - ИМХО. Да, интерфейса не хватает (это дело поправимое), но высказать своё недовольство можно было бы и в другой форме. Не нравится есть несколько выходов: 1) не использовать предложенный вариант 2) найти альтернативу 3) доработать самому.

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

за проделанную работу

недоделанную работу

 

Впрочем, у каждого свои представления о прекрасном. Если "пипл хавает", пускай хавает. Только вот я не такой пипл, который схавает что попало. Мне, ведите ли, подавай хорошее, а не абы что.

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

у каждого свои представления о прекрасном

 

6 часов назад, Ветерок сказал:

Про интерфейс что-нибудь вообще слышали (наверняка ни разу не видели)? Копировать, вставлять, редактировать текст

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

А у Артёма и с интерфейсом есть, можно посмотреть на сайте https://centralinnovation.com/solidworks/extensions/task-v2

там почти на все случаи макросы)

 

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

А как связан Артем и Centralinnovation.com?

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

А как связан Артем и Centralinnovation.com?

Artem.jpg

https://www.engineersrule.com/task-best-macro-batch-processor-solidworks/

А может это просто мои догадки, я не претендую на истину )

 

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

@Snake 60, @Kir95, Спасибо!
@jtok, я работал в Central Innovation больше 7ми лет. Ушел в самом конце 2019
@Ветерок, я всегда ценю конструктивную критику, так как это всегда помогает в развитии. Не уверен, что я могу посчитать Ваш комментарий как конструктивную критику. Постараюсь объяснить почему.

 

Делать интерфейc ради того чтобы просто был интерфейс - абсолютно бессмысленное занятие. Основываясь на своем опыте написания макросов и разговоров с клиентами, подобный макрос будет интегрирован в уже имеющийся процесс, в котором настройки редко когда меняются или не меняются и вовсе. Развертки обычно сохраняются либо в ту же самую папку, где основная сборка, либо в одну общую папку. Так как макрос позволяет включать динамические переменные и использовать абсолютный и относительный путь, т.е. путь будет составляться во время исполнения, в 90% случаев настройки не будут меняться после начальной их установки, поэтому интерфейс будет излишним, как правильно заметил @Kir95. В таком случае, макрос скорее всего повесят на кнопку так или даже так.

 

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

 

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

 

Я всегда с удовольствием принимаю запросы на изменения макроса или на новые макросы. Более того я добавил кнопку на codestack.net, где каждый может запросить любой макрос или его модификцию (конкретно этот макрос для сохранения разверток был запрошен пользователем: https://github.com/xarial/codestack/issues/5)

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

я работал в Central Innovation больше 7ми лет. Ушел в самом конце 2019

Пользовал с удовольствием TASK# версии 1. Она была бесплатна.

TASK# версии 2 уже не могу себе позволить, и с ее выходом 1ю версию закрыли.

Как бы так заставить работать TASK #1?

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

 

Делать интерфейc ради того чтобы просто был интерфейс

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

По моему это должно быть очевидно любому разработчику. Любому нормальному разработчику.

Ссылка на сообщение
Поделиться на других сайтах
11 minutes ago, Ветерок said:

Любому нормальному разработчику.

Вау! Ентот критег ужо и в SW API полез.

Spoiler

Km4p_B5iURE.jpg

Надобен popcorn.

TanLastGemsbuck-size_restricted.gif

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

Делать интерфейс чтобы было удобно пользоваться.

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

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

 

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

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

@artem_cad , автор - ты красавчик! В 3х минутах я не просто посмотрел, как кто-то демонстрирует, какой он молодец, и какие крутые макросы умеет писать (как некоторые делают), а понял, как быстро настроить под себя удобный функционал. На счёт того, что настройки делаются раз и на всегда и удобно все выгружать по одной кнопке, а не 100500 раз тыкать "ок" - 100% попадание!

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

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


@R2D2_, спасибо большое!


Я получил много отзывов и сделал некоторые изменения в макросе (новая версия доступна по той же ссылке):

  • Улучшена производительность на больших сборках
  • Добавлена возможность продолжения макроса с последнего обработанного файла, в случае, если SOLIDWORKS "упал". Такое возможно для очень больших сборок, когда ресурсов машины не достаточно
  • Починен баг, когда макрос не выполняется если фиксированная грань в развертке является кромкой
  • Макрос теперь не экспортирует дубликаты тел
  • Добавлена возможность использовать имя основной сборки для именования разверток DXF
  • Добавлена поддержка сохранения в сетевую папку
Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

Покопался немного в коде макроса и сделал под себя функцию вытягивания свойств из активной конфигурации детали, а не из свойств списка вырезов. Спасибо Артёму за наводку и за оригинальное исполнение. Возможно кому-то еще пригодиться такой функционал. В планах сделать интерфейс настройки и прикрутить транслитерацию, т.к. Обозначение у нас на кирилице (попадает в чертеж), а надо на латинице (для станка). Как я заношу свойства в деталь, которые потом попадают в название DXF-файла я расскажу чуть позже в другой теме... а пока качайте, проверяйте в работе...

Batch_export_sheet_metal_flat_patterns_to_DXF_from_assembly_TA+DO.zip

 

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

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

ДАВНЫМ ДАВНО БЫЛО СДЕЛАНО..  кириллица в латиницу и заменить  и обратно еще тип или стандарт можно было..

Прям в обозначениях и наименованиях в свойствах файла. Про имя  файла вообще просто и всегда было..

Изменено пользователем Maik812
Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
Володькарукиизж...
В 26.10.2020 в 00:24, Snake 60 сказал:

Покопался немного в коде макроса и сделал под себя функцию вытягивания свойств из активной конфигурации детали, а не из свойств списка вырезов. Спасибо Артёму за наводку и за оригинальное исполнение. Возможно кому-то еще пригодиться такой функционал. В планах сделать интерфейс настройки и прикрутить транслитерацию, т.к. Обозначение у нас на кирилице (попадает в чертеж), а надо на латинице (для станка). Как я заношу свойства в деталь, которые потом попадают в название DXF-файла я расскажу чуть позже в другой теме... а пока качайте, проверяйте в работе...

Batch_export_sheet_metal_flat_patterns_to_DXF_from_assembly_TA+DO.zip 99 \u043a\u0411 · 9 загрузок

 

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

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

В сборке с листовым металлом выдает ошибку "не найдены элементы списка вырезов". В чем может быть причина

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

Когда вы только что создали листовую деталь Список вырезов выглядит вот так:

Спойлер

2020-11-06_21-31-19.jpg

Вам необходима кликнуть по нему правой кнопкой мыши и поставить галку на строке Обновлять автоматически

Спойлер

2020-11-06_21-32-23.jpg

Должно будет получиться вот так:

Спойлер

2020-11-06_21-33-45.jpg

После этого попробуйте запустить макрос заново.

 

PS Артём, было бы не плохо добавить функцию автоматического проставления этой галки ;)

 

Ссылка на сообщение
Поделиться на других сайтах
9 hours ago, Snake 60 said:

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

Когда вы только что создали листовую деталь Список вырезов выглядит вот так:

  Reveal hidden contents

2020-11-06_21-31-19.jpg

Вам необходима кликнуть по нему правой кнопкой мыши и поставить галку на строке Обновлять автоматически

  Reveal hidden contents

2020-11-06_21-32-23.jpg

Должно будет получиться вот так:

  Reveal hidden contents

2020-11-06_21-33-45.jpg

После этого попробуйте запустить макрос заново.

 

PS Артём, было бы не плохо добавить функцию автоматического проставления этой галки ;)

 

Да, макрос уже такую штуку делает (код отмечен внизу), ну вернее, не ставит галку, а просто перестраивает список вырезов.

9 hours ago, Володькарукиизж... said:

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

Если можно, было бы неплохо получить эту сборку, или хотя бы дерево конструирования. Еще убедитесь, что сборка не легковестная (хотя макрос при запуске должен попросить разрешить все компоненты, но если Вы нажали Нет, тогда такая ошибка возможна)
image.png
 

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

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

Когда вы только что создали листовую деталь Список вырезов выглядит вот так:

  Показать контент

2020-11-06_21-31-19.jpg

Вам необходима кликнуть по нему правой кнопкой мыши и поставить галку на строке Обновлять автоматически

  Показать контент

2020-11-06_21-32-23.jpg

Должно будет получиться вот так:

  Показать контент

2020-11-06_21-33-45.jpg

После этого попробуйте запустить макрос заново.

 

PS Артём, было бы не плохо добавить функцию автоматического проставления этой галки ;)

 

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

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

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

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

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

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

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

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

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

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

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

    Нет пользователей, просматривающих эту страницу.




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