2016-01-16 7 views
1

Я искал некоторую помощь с обработкой Catia V5 с помощью скрипта python из окон PowerShell. Мне нужна помощь в создании сценария, который сообщает Catia о запуске макроса, который я уже записал. Я не очень опытный пользователь python и поэтому не имею представления о том, как это сделать. Любая помощь приветствуется! БлагодаряЗапустите макрос Catia с скриптом python

Edit:

Кроме того, некоторые помогают найти команду, которая закрывает или не позволить коробки с сообщениями больш были бы оценены

(Мои извинения, я новичок на сайте и дону не знаю, что такое обычные вещи)

+0

Пожалуйста, покажите нам, что вы попробовали. – smartrahat

+0

Ну, я попытался с помощью метода импорта win32com.client о = win32com.client.Dispatch («Object.Name») Однако это не сработало. Но, как через час после того, как я много подумал, я понял, что записанный макрос не был самим файлом, а как элемент внутри CATPart, поэтому, после небольшого изучения, я увидел, что могу сохранить макросы как CATScript. Я сделал, а затем открыл его с помощью os.startfile («путь \ к \ Macro») И, кажется, работает ... Однако я открыт для лучшего решения ... –

ответ

0

Если я правильно понял, вы пытаетесь запустить записанный макрос CATIA (.catvba?) и вызывать его из Python, который вызывается PowerShell. Я предполагаю, что ваш PowerShell, вызывающий Python, работает по назначению.

Вот один из способов преодолеть разрыв между Python и CATIA VBA:

  1. Bind вашего CATIA макрос на иконку пользовательской панели инструментов, вы заметите, когда вы наведите курсор мыши на значок, что имя макрос появится в нижнем правом углу CATIA, например "C: Your_macro_name".

  2. После того, как вы на этом этапе вы можете вызвать макрос из Python с:

    import win32com.client 
    catapp = win32com.client.Dispatch('CATIA.Application') 
    satapp.StartCommand('Your_macro_name') 
    

(код кредитом Automate CATIA V5 with Python)

Это должно вызвать ваш CATIA макрос (под панелью имя).

Кроме того, чтобы подавить некоторые из сообщений, которые приходят в CATIA, попробуйте запустить свой код VBA с:

CATIA.RefreshDisplay = False 
CATIA.DisplayFileAlerts = False 

Надеется, что это помогает!

+0

Так гораздо лучше, чем я сделал!! Это работает как шарм. Мне удалось найти временное решение, сохранив макрос как .CATScript, а затем вызвав его (это сработало, потому что по умолчанию эти файлы устанавливаются с помощью Catia), но ваше решение работает лучше, спасибо! –

+0

Я рад, что все получилось! и спасибо, что сообщили мне о методе .CATScript! – freecoffee

Смежные вопросы