问题描述
我一直在寻找一些有关Windows PowerShell中使用python脚本处理Catia V5的帮助.我需要帮助来构建一个脚本,该脚本告诉Catia运行已经记录的宏.
I was looking for some help with handling Catia V5 with a python script from the windows PowerShell. I need help building a script that tells Catia to run a macro which I already recorded.
此外,对于找到关闭或不让消息框出现的命令的一些帮助将不胜感激.
Also, some help to find a command that closes or doesn't let message boxes appear would be greatly appreciated.
推荐答案
如果我正确理解,您正在尝试运行已记录的CATIA宏(.catvba?),并从PowerShell调用的Python中调用它.我假设您的PowerShell调用Python可以正常工作.
If I understand correctly, you're trying to run a recorded CATIA macro (.catvba?) and call it from Python which is called by PowerShell. I'll assume your PowerShell calling Python is working as intended.
这是弥合Python和CATIA VBA之间差距的一种方法:
Here's one way to bridge the gap between Python and CATIA VBA:
-
将CATIA宏绑定到自定义工具栏图标,将鼠标悬停在该图标上时,您会注意到该宏的名称将出现在CATIA的右下角,例如"c:您的宏名称".
Bind your CATIA macro to a custom toolbar icon, you'll notice when you hover your mouse over the icon that the name of the macro will appear in the bottom right corner of CATIA, e.g. "c:Your_macro_name".
一旦您处于此阶段,就可以使用以下命令从Python调用宏:
Once you are at this stage you can call the macro from Python with:
import win32com.client
catapp = win32com.client.Dispatch('CATIA.Application')
catapp.StartCommand('Your_macro_name')
(代码归功于自动化CATIA带有Python的V5 )
这应该调用您的CATIA宏(在其工具栏名称下).
This should call your CATIA macro (under its toolbar name).
此外,要取消CATIA中出现的某些消息,请尝试使用以下命令启动VBA代码:
Also, to suppress some of the messages that come up in CATIA, try starting your VBA code with:
CATIA.RefreshDisplay = False
CATIA.DisplayFileAlerts = False
希望这会有所帮助!
这篇关于使用python脚本运行Catia宏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!