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

Создание макросом виртуальной детали "СП" и запись в нее свойств


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

Всем добрый день.

Сейчас я создаю в сборке виртуальную деталь и переименовываю ее в "СП"

В сборке запускаю макрос, который сохраняет свойства сборки в Эксель файле.

Далее я открываю деталь СП и запускаю макрос, который записывает свойства из Эксель в эту деталь.

 

Помогите преобразовать оба макроса в один, который создаст виртуальную деталь, переименует ее в "СП" и запишет в нее свойства сборки.

Если деталь "СП" уже есть, то просто запишет в нее свойства.

Шаблон детали и макросы прилагаю.

Солид 2019

Макрос для записи свойств сборки в деталь СП.txt ДетальСП2019.prtdot Сборка.SLDASM

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


UnPinned posts

@VOleg Олег, еще такой вопрос, как я понял, в виртуальной детали свойство "РазделВ    Текст    99" надо защитить от перезаписи таким же свойством из сборки? Так ли это? Если это не нужно делать, то макрос уже готов.

 

 

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

@VOleg Олег, еще такой вопрос, как я понял, в виртуальной детали свойство "РазделВ    Текст    99" надо защитить от перезаписи таким же свойством из сборки? Так ли это? Если это не нужно делать, то макрос уже готов.

 

 

Да, в виртуальной детали РазделВ=99 и копировать из сборки это свойство не надо. 

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

@VOleg  Готово, проверяйте!

InsertVirtualPart.rar

После установки макроса обязательно проверьте Tools -> References

Должно быть вот так:

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

 

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

@VOleg  Готово, проверяйте!

InsertVirtualPart.rar 64 \u041a\u0431 · 1 скачивание

После установки макроса обязательно проверьте Tools -> References

Должно быть вот так:

 

 

ЭТО СУПЕР!!! ОГРОМНОЕ СПАСИБО!!! Работает!!!

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

ЭТО СУПЕР!!! ОГРОМНОЕ СПАСИБО!!! Работает!!!

Рад был помочь :)

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

Рад был помочь :)

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

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

Найдется минутка посмотреть?  Спасибо.

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

Олег, скиньте проблемную сборку в личку, посмотрю на досуге.

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

Всем добрый день.

Вот этой командой в массив Comps записываются все компоненты сборки

Comps = swAssy.GetComponents(False)

Вопрос: а как сделать, чтобы записывались только детали этой сборки, а подсборки пропускались?

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

Comps = swAssy.GetComponents(False)

False замените на True, и тогда будут браться только компоненты верхнего уровня

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

False замените на True, и тогда будут браться только компоненты верхнего уровня

Спасибо огромное!!! Получилось.

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

Еще вопрос о переключении на сборку, в которой работаю, после закрытия временных файлов.

Вставил вот такую команду

    Set swModel = swApp.ActivateDoc3(AssemblyTitle, True, 2, errors) '0

назначения частей этой команды мне не понятны.
 

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

Set swModel = swApp.ActivateDoc3(AssemblyTitle, True, 2, errors) '0

Ну, с этим всегда можно разобраться. Покажу на примере:

swApp.ActivateDoc3(AssemblyTitle, True, 2, errors) '0

Заходим в справку по API солида, 

image.png

выбираем

image.png

вбиваем ActivateDoc3 в поиске

image.png

в найденной информации нас интересует обведенная штука:

image.png

а ниже есть описания параметров:

image.png

где описан каждый из 4 параметров этой команды

 

Еще ниже есть как правило несколько макросов примеров с использованием этой команды

image.png

в которых можно подсмотреть как это работает

 

Еще удобнее пользоваться справкой онлайн в хроме,

https://help.solidworks.com/2017/English/api/

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

image.png

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

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

 

image.png

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

Ну, с этим всегда можно разобраться. Покажу на примере:

 

Спасибо. Очень хороший урок. Просто прелесть. Буду изучать.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      нет это уж вы замените то же ваща цитата... я писал это чтобы вы осознали скорость процессов и во сколько раз примерно надо их замедлять длядиагностики вприглядку. или может вы предложите отдельный диагностический режим в ладдере прописать. для вас это ерунда так себе задачка на день и таймеры туда свои секундные вставите а лучше минутные
    • Guhl
      Короче, аргументов у вас нет. Только порядок размерности вас смущает. Специально для вас: "Х сек" в предыдущем сообщении замените на "Х мсек". Надеюсь так вам понятнее. Видите ли, у инженеров не принято делать безосновательных заявлений, поэтому я вас спросил про аргументацию. Но вместо аргументов только "нет", "нет и еще раз нет", ну и шутка юмора в конце концов из-за буквы Х. Кстати, "Х" - это не ХА, а ИКС
    • gudstartup
      с х сек вы х получите цикл смены а вот мсек другое дело  
    • Guhl
      Вы очень любите делать выводы, но не всегда верные.   Для чего по вашему нужны таймеры в цикле смены, если не для контроля механизма и датчиков? Про 1 сек это был пример. Пусть будет "Х сек".
    • gudstartup
      вы опять упорствуете может вам ладдер поможет понять с какой скоростью меняется gray code на входах плк. у на смена происходит за 1 сек весь цикл это вы проконтролируете time over atc  а никак не датчики положения руки ваш аргумент опять не из той оперы это вы тоже случайно описались?
    • Guhl
      Обоснуйте Мой аргумент такой: таймеры нужны для контроля датчиков и механизма, то есть, если, например, рука совершает поворот за 1сек, то таймер логично настроить на 2сек На 1,02 сек его настраивать будет неверно, и даже на 1,2 сек настраивать нелогично, из-за механики и даже может быть допуска частоты сети Пароль могут ставить не для защиты интеллектуальной собственности, а от "шаловливых рук". И я не утверждал, что там именно такой пароль, а лишь упомянул, что такие пароли встречаются 
    • gudstartup
      нет и еще раз нет ну конечно дму везде одинаковые пароли ставит не смешите  да еще и из одной буквы.... это гениально @Guhl вы в курсе сколько длится цикл смены и насколько надо уменьшить скорость для того чтобы вы что то смогли увидеть вашим небыстрым глазом к тому же есть режим трассировки сигналов а автор еще не нашел сигнала разжима цанги
    • Guhl
      Да Нет Тип чпу не влияет на содержание пароля
    • gudstartup
      нет зачем автору пароли у него ладдер открывается и так и не путайте mitsubishi и фанук вот для этого и настроены таймеры и очень жестко настроены милисекунды
    • Pervux
×
×
  • Создать...