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

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


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

24.08.2021 в 23:06, Snake 60 сказал:

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

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

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

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

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

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

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

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

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

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

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

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

ToDo List:

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

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

 

на сборке работает отлично. только у меня к примеру название деталей выглядит так 4027_01 Стержень. макрос в свойства загоняет Обозначение 4027, а наименование 01 Стержень. я так понимаю подчеркивание он видит как разделитель имени. только я не нашел где исправить чтоб Обозначение вбивало 4027_01 и наименование Стержень. ткните носом если не сложно

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


17 часов назад, ПанкТоник сказал:

на сборке работает отлично. только у меня к примеру название деталей выглядит так 4027_01 Стержень. макрос в свойства загоняет Обозначение 4027, а наименование 01 Стержень. я так понимаю подчеркивание он видит как разделитель имени. только я не нашел где исправить чтоб Обозначение вбивало 4027_01 и наименование Стержень. ткните носом если не сложно

Очень удобная штука!

предложу улучшения:

-добавить свой разделитель для Обозначения / Наименования

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

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

-добавить возможность внесения автора документа

 

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

на сборке работает отлично. только у меня к примеру название деталей выглядит так 4027_01 Стержень. макрос в свойства загоняет Обозначение 4027, а наименование 01 Стержень. я так понимаю подчеркивание он видит как разделитель имени. только я не нашел где исправить чтоб Обозначение вбивало 4027_01 и наименование Стержень. ткните носом если не сложно

нашел сам все таки

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

нашел сам все таки

Нашёл, напиши где нашёл и что поправил!

А то не хорошо получается задавать вопрос, а как ответ найден лишь похвалиться, но не ответить на свой же вопрос полениться!!!

Вот кто-то то ещё будет искать ответ на такой же вопрос, найдёт вопрос, а ответа не обнаружит.

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

Нашёл, напиши где нашёл и что поправил!

А то не хорошо получается задавать вопрос, а как ответ найден лишь похвалиться, но не ответить на свой же вопрос полениться!!!

Вот кто-то то ещё будет искать ответ на такой же вопрос, найдёт вопрос, а ответа не обнаружит.

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

Desktop Screenshot 2021.08.31 - 12.50.39.90.png

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

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

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

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDrawing As SldWorks.DrawingDoc
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSketchLine As SldWorks.SketchLine
Dim swModelView As SldWorks.ModelView
Dim status As Boolean
'макрос поворачивает вид модели или чертежа так, чтобы выбранная линия в эскизе расположилась горизонтально
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swSelMgr = swModel.SelectionManager
Set swModelView = swModel.ActiveView

If swModel.GetType = swDocDRAWING Then
Set swDrawing = swModel

    If swSelMgr.GetSelectedObjectCount2(0) < 1 Then
    MsgBox "Выберите линию"
    End If

    While swSelMgr.GetSelectedObjectCount2(0) < 1
    DoEvents
    Wend
    
Set swSketchLine = swSelMgr.GetSelectedObject6(1, -1) 'Debug.Print swSketchLine.Angle

    If swSelMgr.GetSelectedObjectType2(1) <> 12 Then
    MsgBox "Выберите вид"
    End If
    
    While swSelMgr.GetSelectedObjectType2(1) <> 12
    DoEvents
    Wend

    status = swDrawing.DrawingViewRotate(-swSketchLine.Angle)
    
    Else

Set swSketchLine = swSelMgr.GetSelectedObject6(1, -1) 'Debug.Print swSketchLine.Angle
swApp.RunCommand swCommands_NormalTo, ""
swModelView.RollBy -swSketchLine.Angle

End If

swModel.ClearSelection2 (True)
End Sub

 

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

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

Картинки к макросу, до и после поворота

модель-вид поворот.jpg модель-вид повёрнут.jpg

В эскизе и чертеже под спойлером

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

модель-вид с эскизом повёрнут.jpg

 

чертёж-вид поворот.jpg

 

чертёж-вид повёрнут.jpg

 

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

Хочу использовать batch+ для печати с помощью SaveAsPDF от Леона, но запускается самый первый метод SaveAsPDF_run.main, а мне нужен без дат, то есть SaveAsPDF_run.main_wd. Подскажите как "переместить" метод без дат в самое начало?

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

SaveAsCopyReplace 3.2.6

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

- проверка нового имени и пути на допустимые символы (не допустимы в виндовс < > : ? / \ * | " ) ,

- проверка длины полного пути (вместе с именем файла и расширением) до 256 символов,

- теперь и символ | в пути заменяются на \, (до этого / превращался в \ )

- удалил лишние переменные (надеюсь нужные не затронул).

 

SaveAsCopyReplace 3.2.6.zip

 

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

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

Спасибо за прекрасный макрос!

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

Мне кажется будет очень удобно.

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

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

Не сделали еще?

Я не к тому что тороплю, а просто может сделали уже, и просто не отписали об этом...

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

Не сделали еще?

Я не к тому что тороплю, а просто может сделали уже

в меню Инструменты - Макрос - Редактировать открой этот макрос и закомментируй строки с добавлением материала (одинарные кавычки в начале строк поставь), как на картинке внизу

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

материал закомментировать в макросе.jpg

 

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

SaveAsCopyReplace 3.2.6.1

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

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

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

в доп. настройках

поле "путь, куда перемещать исх.файлы при "удалении""  + поле  "+доп. папка"

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

пусто/пробел + ИмяПапки(\...) = см. выше

Исходный Путь + пусто/пробел = старые файлы приобретут суффикс с системным временем (ссылаться не будут на свои суффиксные имена) и останутся там где и были

Исходный Путь + ИмяПапки(\...) = старые файлы приобретут суффикс с системным временем (ссылаться не будут на свои суффиксные имена) и переместятся в ИмяПапки(\...) в папке проекта

ИмяПапки(\...) + ИмяПапки(\...) / пусто-пробел = куда укажите, туда и произойдёт перемещение 

 

 

SaveAsCopyReplace 3.2.6.1.zip

 

@malvi.dp , идея хорошая, спасибо! но вот, вряд ли я смогу в ближайшее, даже тут после редактирования списка в блокноте, обновить список combobox - мне надо его перезагрузить для актуальности отображения.

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

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

Уже задавал вопрос в соседней ветке пока там молчат, спрошу здесь.

Не могу понять как это сделать, есть такие свойства

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

image.png

Как сделать так чтобы в доп_свойтсво1 (или любое другое свойство) ссылаясь через $PRP: отображало цифру (хочу чтобы вместо D1@Эскиз1 было значение этой переменой).

Или как второй вариант, что поправить в макросе

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

image.png

Что бы бралось числовое значение (опять же вместо D1@Эскиз1 было значение переменой)

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

image.png

 

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

Как сделать так чтобы в доп_свойтсво1 (или любое другое свойство) ссылаясь через $PRP: отображало цифру (хочу чтобы вместо D1@Эскиз1 было значение этой переменой)

не хватает кавычек

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

@DmitriySD А не проще толщину листа указать через стандартное свойство листового металла?

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

 

Ссылка на сообщение
Поделиться на других сайтах
14.09.2021 в 15:12, DuS сказал:

не хватает кавычек

Это я понимаю, нужно сделать автоматизацию постановки этих кавычек

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

 

14.09.2021 в 18:53, Snake 60 сказал:

@DmitriySD А не проще толщину листа указать через стандартное свойство листового металла?

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

 

 

Так тоже можно, но это ручками.

Смотрите макрос ГеОС формирует имя свойства <SORT_Толщина листа> со значением D1@Эскиз1(по какой то причине это значение ГеОС берет без ""), мне нужно чтобы без моего участия и без открытия окна свойств файла создавалось новое имя свойства (например <свойство 1> и ему присваивалось значение в кавычках "D1@Эскиз1". Может кто знает как можно это сделать.

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

 Или что нужно добавить в коде макроса, что бы он беря значение  SORT_ТОЛЩИНА ЛИСТА равное D1@Эскиз1

 

'поиск второго свойства ТОЛЩИНА
    If UCase(vNames(i)) = "SORT_ТОЛЩИНА ЛИСТА" Then
     
     strName(1) = vNames(i)
     CustProp2Name = strName(1)
     
     strValue(1) = strTemp2
     CustProp2Value = strValue(1)

 

Это значение преобразовывал в "D1@Эскиз1"

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

image.png

Здесь на выходе должно быть СН20.003.01.02.005-01_8_08Х18Н10Т_.dxf.

то есть СН20.003.01.02.005-01_"D1@Эскиз1"_08Х18Н10Т_.dxf, а не так СН20.003.01.02.005-01_D1@Эскиз1_08Х18Н10Т_.dxf

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

image.png

 

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

@DmitriySD Замени строку:

CustProp2Value = strValue(1)

на вот эту:

CustProp2Value = """" & strValue(1) & """"

 

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

День добрый.

Бета вариант второй версии макроса SetLabels.

Что делает:

  • переименовывает виды, базы, обозначенные поверхности.
  • может пропускать виды, расположенные вне поля чертежа
  • может пропускать специально обозначенные виды
  • может отрисовывать список видов на цветном фоне

Что не делает:

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

Для того, что бы макрос "признал" заметку обозначением поверхности - при запущенном макросе выбираем заметку и жмем кнопку " ДОБАВИТЬ ПОВЕРХНОСТЬ". Таким же образом можно исключаем заметку из поверхностей.

Цвета можно настроить в XML файле.

 

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

SetLabels_beta2.zip

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

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

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

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

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

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

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

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

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

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

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




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