Jump to content

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


Recommended Posts

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

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

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

 

image.png

Edited by PSW
Link to post
Share on other sites


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

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

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

 

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

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

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

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

Link to post
Share on other sites
Snake 60

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

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

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

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

Edited by Snake 60
Link to post
Share on other sites
brigval
10 часов назад, PSW сказал:

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

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

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

 

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

Link to post
Share on other sites
Kelny
23 часа назад, PSW сказал:

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

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

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

Edited by Kelny
Link to post
Share on other sites
Snake 60
3 часа назад, brigval сказал:

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

Оператор SendKeys

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

Link to post
Share on other sites
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 сказал:

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

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

Link to post
Share on other sites
brigval
17 минут назад, PSW сказал:

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

в:sad:

 

 

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

 

 

Цитата

 

Синтаксис

SendKeys string, [ wait ]

 

 

 

 

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

 

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

 

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

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

Link to post
Share on other sites
16 часов назад, brigval сказал:

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

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

 

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

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

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

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

Link to post
Share on other sites
brigval
47 минут назад, PSW сказал:

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

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

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

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

Link to post
Share on other sites
  • 2 weeks later...
streamdown

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Leon
      В вашем случае, раз вы использовали старые макросы, лучше всего оставить настройки как на скриншоте плюс отметить галочками слева те свойства, которые вы хотите оставить со старыми именами. Но еще лучше все таки обратится в поддержку, т.к. здесь это обсуждать неправильно, здесь тема по макросам.
    • wafa61
      открываю прогу фанук ладддер 8.9 вылезает: the evaluation time limit is set. Подскажите. как снять лимит на использование?
    • zerganalizer
      Я на них любовался год назад - и ковидку ухватил как итог. Вам оно надо??? Таких совпадений слишком немало, и есть реальная причина. "Спутник" при попадании в раковые клетки создаёт в них химерные мутации, из-за чего кое-где в Европе признан опасным. Словом, рак он провоцирует, как и некоторые другие вакцины, но врачи не хотят это озвучивать. А чаще такие совпадения с инсультом вплоть (по комменту чела) более половины его знакомых умерли вскоре от инсульта, а один с раком слёг.   Именно что "лучше предохраняться, чем делать аборт".   Бряхня... зарубежные исследователи давно всё исследовали и отчёт англоязычный я видел. Кратко - 70% вакцинированных имеет иммунитет на 2 недели, после чего титр спадает до уровня возможности повторного заражения. Остальные 30% либо нет антител СОВСЕМ, либо максимум на 3 месяца. И Гинцбург обязан был знакомиться с такими исследованиями, если сам не проводил.
    • Sergey172
      Добрый день, форумчане! Прошу помощи в построении. Дано: деталь под композитное производсво. Изготавливается укладкой материала в матрицу. Необходимо найти линию для построения поверхности разъема. Я построил сплайн, спроектировав точки перегибов эскизов на плоскость. Но между эскизами линия может отходить от точки перегиба поверхности, что не позволит отфрезеровать деталь без изысков и приведет к закусыванию детали в форме. Вопросы: 1. Есть ли какой-либо инструмент для построения линии по перегибу плоскости? 2. Есть ли инструмент для оценки перпендикулярности поверхности детали к секущей плоскости, дающий полную уверенность в результате оценки?   Ссылка на скриншот детали: https://ru.failiem.lv/u/wkqq59g37
    • Гранник
    • Василий_К
      Спасибо, так и предполагал, но проставив галки наугад, счастье не случилось))). Буду разбираться.
    • Sergey172
      Таблиц параметров в моделях нет. Проперти билдер не использую. Всем спасибо за советы. Пойду пробовать.
    • Sergei
      Гениально, просто нет слов. А если вживить в мозг чип, то можно одним движением мысли....организовать стописят и огурец. 
    • fzbm
      Где то в интернете я находил движение точки по поверхности сферы в параметрических уравнениях (по X, Y, Z) Z - по высоте (по нормали) *DEFINE_CURVE_FUNCTION 65*cos((time)/63.69)*cos(3.14*time) 65*cos((time)/63.69)*sin(3.14*time) 65*sin((time)/63.69) 
    • Soprin
      Это же шпиндель, какие линейки )
×
×
  • Create New...