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

Как запустить иконку с панели инструментов при помощи макроса?


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

Задача: после выполнения макрос должен сохранить модель в PDM систему(Нажать кнопку "сохранить в PLM"

При записи макроса делает вид что ничего не произошло а в API help не смог найти подходящей команды.

Вопрос: Какой командой или макросом это можно сделать?(SW2020, VB, Windows10)

 

image.png

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


UnPinned posts
1 час назад, PSW сказал:

Нажать кнопку "сохранить в PLM"

У кнопки есть горячая клавиша? Можно попробовать нажать кнопку через них.

 

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

в API help не смог найти подходящей команды

Тут вероятно надо смотреть API для PLM.

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

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

@PSW Нажмите запись нового макроса, затем нажмите Вашу кнопку, и остановите запись. Посмотрите код записанного макроса, возможно рекордер запишет эту команду, и вы ее узнаете. Далее по ней шерстите API-справку.

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

При записи макроса делает вид что ничего не произошло

Сорри, не увидел сразу :) Тогда Вам в службу поддержки Союз-PLM

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

Задача: после выполнения макрос должен сохранить модель в PDM систему(Нажать кнопку "сохранить в PLM"

При записи макроса делает вид что ничего не произошло а в API help не смог найти подходящей команды.

Вопрос: Какой командой или макросом это можно сделать?(SW2020, VB, Windows10)

 

Макрос должен оканчиваться сообщением: "Нажмите на кнопку "Сохранить в PLM" :biggrin:

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

после выполнения макрос должен сохранить модель в PDM

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

http://help.solidworks.com/2020/english/api/SWHelp_List.html?id=ebcc3330af35468e9e31d4d9eb1b73e0#Pg0

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

Можно здесь поизучать

Оператор SendKeys

Точно, предварительно назначив сочетание горячих клавиш, для этой команды.

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

Точно, предварительно назначив сочетание горячих клавиш, для этой команды.

Я попробовал так сделать, но появилась новая проблема, макрос не дожидается открытия окна и продолжает работать.

выполнение задержки через "Sleep (1000)" приводит к задержке открытия окна:sad:

24.03.2021 в 15:07, brigval сказал:

SendKeys

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

 

24.03.2021 в 11:17, Kelny сказал:

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

http://help.solidworks.com/2020/english/api/SWHelp_List.html?id=ebcc3330af35468e9e31d4d9eb1b73e0#Pg0

Это команды только для родной солидовской PDM или для любой?(спасибо буду пробовать)

 

24.03.2021 в 11:43, Kelny сказал:

Возможно подойдёт это:

Прошу прощения, но я не понял эту статью. Если не сложно можете объяснить как это можно использовать?

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

Я попробовал так сделать, но появилась новая проблема, макрос не дожидается открытия окна и продолжает работать.

в:sad:

 

 

А параметром wait не пробовали варьировать?

 

 

Цитата

 

Синтаксис

SendKeys string, [ wait ]

 

 

 

 

20 минут назад, PSW сказал:

 

выполнение задержки через "Sleep (1000)" приводит к задержке открытия окна:sad:

 

Не знаю, правильно это или нет, но как-то пробовал запускать в цикле DoEvents

Если получится, почему бы и нет...

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

А параметром wait не пробовали варьировать?

Пробовал, нажатие он отрабатывает нормально проблема в том что остальные команды он начинает выполнять не дожидаясь открытия окна.

 

16 часов назад, brigval сказал:

Не знаю, правильно это или нет, но как-то пробовал запускать в цикле DoEvents

Если получится, почему бы и нет...

Попробовал. Происходит тоже самое что и с "Sleep (1000)"  открытие окна начинается после выполнения цикла

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

Попробовал. Происходит тоже самое что и с "Sleep (1000)"  открытие окна начинается после выполнения цикла

Задача из первого топика решена. Макрос нажимает на кнопку.

Может надо Sleep запустить после посылки команды нажатия на кнопку?

Окно открывается, а макрос спит одну секунду. Потом продолжает работу уже при открытом окне. :g:

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

Solidworks - однопоточное приложение. Как бы вы не старались нельзя сделать одновременно 2 действия. Как пример: открыть большую сборку, нажать Rebuild Ctrl+Q и одновременно попытаться нарисовать эскиз. Ничего не получится, пока не завершится цепочка вызовов.

 

Макрос, и любой другой аддон, запускается в потоке самого SW. Т.е. он является дочерним, если можно так выразиться. А значит, что если сделать Sleep - то фактически заснёт поток самого SW.

DoEvents - это "фишка" WinForms. Т.е. это! как бы отпускает форму и при этом внутренние действия, не связанные с окном, продолжают выполняться. В основном употребляется когда есть окно с ProgressBar. В других случаях применения получите непредсказуемые неконтролируемые результаты.

Это я к чему: а что вообще должен делать макрос, кроме "нажатия" на кнопку?

 

25.03.2021 в 14:41, PSW сказал:

не смог привязать к конкретному окну

Это надо копать в поисках Handle окна. Это может помочь с мыслями https://help.solidworks.com/2021/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IFrame~GetHWnd.html

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Ветерок
      Наверное, имена файлов одинаковые :) Если не верхней сборки платы, то имена компонентов.
    • Alexey8107
      Тогда полностью согласен. Правда у нас полные схемы есть и я уже знаю и привык.
    • gudstartup
      так и я это имел ввиду на импорте привыкли к  сквозной нумерации в схемах и в эл. шкафу все соответствует
    • Flint_ru
      Получается, самый простой (и лучший) способ - использование APDL. Вот пример ниже.  
    • gudi
      октябрь 2014.  Залил в доступ  https://drive.google.com/drive/folders/1sS1PBKzu80vcSZ7Xk2BEzR9c0_y-9pD_ \N523_сломан\#523.zip                                                   там 3 файла CNC-PARA.TXT,PMC1_PRM.TXT и еще какой то с параметрами( не знаю как его залить) \N522_С другого станка\fanuc_good_numb7_#522.zip    там все бэкапы \35i From/sram module\35i_data.zip                                файлы с флешки от 35i стойки
    • Alexey8107
      Да, накопитель на 2 палеты. Вот честно, но вот именно нам этот накопитель особых неудобств не предоставляет. Я не говорю что он идеален и не ломается, но из всех проблем там это цепь растягивается, после чего индуктивные датчики начинают работать нестабильно, натяжка или замена цепи решает проблему надолго. А вот шторки со стороны палет действительно порой мозг выносят. Есть проблема со шнеками удаления стружки, если потекли, сушите весла... Еще из слабых мест, это нулевой и аварийные концевики оси Х, расположены так, что чего случись с ними приходится снимать накопитель палет чтобы по человечески сделать... По гидравлике... У нас особо проблем нет, иногда рвутся РВД, особенно на манипулятор, ну бывает клапан заклинит. Не каждый день, ну так скажем в среднем раз в полгода просто для представления. Но такие же проблемы случаются и с теми же LEADWELLами. Правда там всего этого оборудования на порядок если не на два меньше. Может мы совершенно про разные ИС-800 говорим? У нас в шкафах по моим представление никакого хаоса, реле, тепловухи, пускатели все стройными рядами, провода на привода уложены и стянуты вязками, на каждом реле, тепловухе, пускателе, модуле и прочем бирка с обозначением, каждый провод промаркирован по системе. Единственный хаос, он не в шкафу. Маркировка проводов сделана так, что до сих пор понять не могу, такое ощущение что в шкафу одна маркировка, а в, например, в магазине совершенно другая! Т.е. например, 15-К1, 15 это значит что принадлежит магазину, ее НО контакт обозначен в шкафу как 15261(15 магазин, 261 номер провода в шкафу), после разъема на шкафу он превращается в 15274, а залезаешь в магазинную коробку, а там этот же провод уже 15297. Благо хоть схемы есть, а так может мозг вынести. Не, просто слепой десятипальцевый метод печати... Слишком быстро печатаю
    • MCH218
      Подскажите, где в Москве и МО заказать услугу по 3D-сканированию различных деталей машиностроительного характера размеров до 1200х600х400 мм с дальнейшем реверс-инж. с построением 3D-моделей по STL файлам с деревом построения в какой либо из CAD-программ (KOMPAS-3D, SolidWorks, NX, Creo, CATIA, FreeCAD и д.р). Есть тут умельцы?   aya119071(пёс)bk.ru
    • gudstartup
      правда это от старой системы14 года а у вас какого года выпуска станочек?
    • Александр1979
      Используйте бинарный контейнер.
    • Snake 60
      @БестолковыйМодель и чертеж выложите, так будет быстрее помочь. Одно из предположений: не поставили галку ПКМ на списке вырезов - Обновлять автоматически.
×
×
  • Создать...