我试图从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。
非常感谢。