win32com传递参数作为参考

时间:2015-04-21 08:30:51

标签: python win32com

我正在努力让win32com.client与Solidworks 2014合作。

这是我的最低范例:

import win32com.client
model_path = 'MW_011_500.SLDDRW'
ret_val1 = 0
ret_val2 = 0
sw_app = win32com.client.Dispatch('SLDWORKS.Application')
sw_app.OpenDoc6(model_path, 1, 1, "", ret_val1, ret_val2)

我试图在python的帮助下自动化Solidwork。我设法让comclient运行,服务器正在回答打开文档的命令。但我得到这个错误:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
     sw_app.OpenDoc6(model_path, 1, 1, "", ret_val1, ret_val2)
  File "<COMObject SLDWORKS.Application>", line 2, in OpenDoc6
pywintypes.com_error: (-2147352571, 'Typkonflikt.', None, 5)**

我使用的API函数在此处记录: http://help.solidworks.com/2012/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~opendoc6.html

我收到的错误,告诉我,我使用的参数类型错误。在电话的最佳位置。

但有没有办法使用win32com参考参数?如果是这样,怎么样?或者它可以工作吗?我还没有找到任何解决方案。

1 个答案:

答案 0 :(得分:0)

老问题,但也许您仍然感兴趣 - 使用OpenDoc传递路径和文件类型(http://help.solidworks.com/2018/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~opendoc.html)或OpenDoc7(SW 2018及更高版本)并仅传递您需要的内容一个开放的文档规范。

否则你需要通过引用传递变量,这在我的研究中并不允许。