我有一个宏(请参见下文),该宏将使用.txt
文件中的xyz点在曲线中加载到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
我正在尝试使用以下实现从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
我知道我可以通过Python运行Solidworks宏,因为我已经进行了一些测试。当我运行宏时,Python不会输出任何类型的错误消息,也不会在Solidworks中生成任何信息。
在编辑器行Part.InsertCurveFile("Generic Filepath\Points.txt")
中逐行运行Python代码会返回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()
如何使Python实现有效?
答案 0 :(得分:4)
看来\
(反斜杠)有问题。
将其替换为/
或将字符串声明为raw(在其前面带有and r)r"Generic Filepath\Points.txt"