Solidworks 宏实现不适用于 Python

Dar*_*der 2 vba solidworks win32com python-3.x

我有一个宏(见下文),它将使用 xyz 点从.txt文件加载到 Solidworks 中。需要明确的是,这给出了所需的输出。

Dim swApp As Object
Dim Part As Object

Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
Part.InsertCurveFile("Generic Filepath\Points.txt")

End Sub
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此实现从 Python 运行相同的宏:

import win32com.client

sldw = win32com.client.Dispatch('SldWorks.Application')
sldw.NewDocument("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\lang\english\Tutorial\part.prdot", 0, 0, 0)  

Part = sldw.ActiveDoc
Part.InsertCurveFile("Generic Filepath\Points.txt")  

#Cleanup the com reference. 
del sldw
Run Code Online (Sandbox Code Playgroud)

我知道我可以从 Python 运行 Solidworks 宏,因为我有一些测试可以工作。当我运行宏时,Python 不会输出任何类型的错误消息,也不会在 Solidworks 中生成任何内容。

在编辑器行中逐行运行 Python 代码Part.InsertCurveFile("Generic Filepath\Points.txt")返回False.

打开 Solidworks 并打开零件文档,进行以下工作:

import win32com.client
import pythoncom
pythoncom.CoInitialize ()

sldw = win32com.client.GetObject (Class='SldWorks.Application')
Part = sldw.ActiveDoc
Part.InsertCurveFileBegin()
Part.InsertCurveFilePoint(0, 0, 0)
Part.InsertCurveFilePoint(0, 1, 1)
Part.InsertCurveFilePoint(1, 1, 1)
Part.InsertCurveFileEnd()
Run Code Online (Sandbox Code Playgroud)

我如何使 Python 实现工作?

小智 5

看起来\(反斜杠)有问题。将其替换/为原始字符串或将其声明为原始字符串(在其前面带有 和 r)r"Generic Filepath\Points.txt"