我试图从CATIA模型中读取初始参数值,并将其传递给python。
相关的python:
import subprocess
if __name__ == '__main__':
catia_path = '"C:\\Program Files\\Dassault Systemes\\B26\\win_b64\\code\\bin\\catstart.exe"'
batch = False
fname = 'new_macro.catvbs'
p = subprocess.Popen(
catia_path + ' -object "' + ('-batch' if batch else '') + ' -macro '
+ fname + '"',
stdout=subprocess.PIPE, shell=False)
out, err = p.communicate()
print(out, err)
catvbs宏:
Language="VBSCRIPT"
Sub CATMain()
Set assembly = CATIA.Documents.Open("MY_ASSEMBLY_NAME.CATProduct")
Set fso = CreateObject ("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream (1)
Set stderr = fso.GetStandardStream (2)
Set mypart = CATIA.Documents.Item("MY_PART_NAME.CATPart").Part
stdout.WriteLine "v1 = " + Cstr(mypart.Parameters.Item("MY_PARAMETER_NAME").Value)
CATIA.quit
End Sub
我尝试了这个类似问题的所有解决方案:vbscript输出到控制台
所有WScript解决方案都无效。
我希望输出字符串“v1=1.56”或类似。我得到的是out,err=b'',None。
非常感谢。