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

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


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 пользователей

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




  • Сообщения

    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
    • david1920
      На 0I-TC mate менял плату управления приводами На 18i-TB менял для диагностики платы процессоров (один был от Spinner другой простой) процы были одинаковые Всё работает
    • brigval
      Браком 1.04В версии 1.04Добавлено: Автоуменьшение высоты шрифта многострочного наименования в ОН чертежа.Добавлено: Переименование поверхностей, баз, размеров в порядке их следования на чертеже.Добавлено: Переименование изображений по ГОСТ: сначала виды, затем разрезы, сечения, выносные элементы.Добавлено: Выравнивание неассоциативных видов.Добавлено: Ручной ввод шага и угла наклона штриховки.Добавлено: Перемещаются в макроэлемент компоненты, исключаемые из спецификации.Добавлено: Выбор количества значащих цифр в значении площади поверхности детали для вставки в ТТ.Добавлено: Возможность не авторазмещать ТТ перед конвертацией чертежа в PDF.Добавлено: Добавлены кнопки «Выделить все включенные в расчет» и Выделить все исключенные из расчета».Добавлено: Версия КОМПАС-3D Home показывается в программе со словом Home.Добавлено: Улучшен алгоритм считывания и вставки ТТ чертежа.Добавлено: При конвертации чертежа в PDF удаляется старый файл с таким же обозначением в начале имени, как обозначение в начале имени нового файла.Добавлено: Улучшено считывание номеров позиций из 3D-модели сборки.Исправлено: Иногда скрытые и потом показанные объекты чертежа отображались не серым цветом.Исправлено: Иногда после ручного заполнения графы «Масса» ОН чертежа в окне программы масса могла отображаться не правильно.Исправлено: В некоторых случаях из ОН чертежа могла не считываться литера.Исправлено: В некоторых окнах программы неправильно показывался заголовок окна программы.Исправлено: Другие замеченные мелкие ошибки и неточности кода.Скачать
    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
×
×
  • Создать...