python-3.x - Solidworks 宏实现不适用于 Python
问题描述
我有一个宏(见下文),它将使用文件中的 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
我正在尝试使用此实现从 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 中生成任何内容。
在编辑器行中逐行运行 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()
如何使 Python 实现工作?
解决方案
\
(反斜杠)看起来有问题。替换它/
或将字符串声明为原始字符串(前面带有和 r)r"Generic Filepath\Points.txt"
推荐阅读
- flutter - 如何将 material.io Color Tool Palette 生成的方案导入 Flutter/Android Studio?
- jenkins - Jenkins 实例在 Centos 上出现离线
- python-3.x - Python正则表达式在日志文件中查找异常
- laravel - Laravel 5.5 - MethodNotAllowedHttpException
- javascript - axios调用的无限循环,React
- java - 通过 https 给定 IP 地址的 Spring Boot 白名单
- gmail - GMAIL RESTful API 是否支持发送非 ASCII 电子邮件地址?
- c++ - CJson - 在字符串周围插入缺少的引号
- snakemake - snakemake 输出中的 lambda 函数
- javascript - 在严格模式的打字稿项目中使用 jsbi