运行 来自 python 的 SolidWorks 宏

Running a SolidWorks Macro from python

我已经开始了一个项目,我必须 link SolidWorks 和 python。基本上我在 Python 上写了一个 txt 文件,其中包含控制点的坐标,然后由 SolidWorks 读取。我在 SolidWorks 上写了一个宏来保存新修改的 STL 文件。我很想 运行 来自 python 的宏,这样我就可以将新文件导入回 python。谁能帮忙? 干杯

这是我的代码及其作用:

import numpy as np 
import os
def GenerateCoordinates(low,high,size):
    X=np.random.randint(low,high,size)
    Y=np.random.randint(low,high,size)
    #Z=np.random.randint(low,high,size)
    return X,Y
X=GenerateCoordinates(0,6,7)[0]
Y=GenerateCoordinates(0,4,7)[1]
k=0
sketch_number=1 #Generate coordinates
g=open('Cdd.txt','w')
for i in range(1,len(X)):
    g.write('CoordinatesX'+str(i)+'='+str(X[i])+'\n')
    g.write('"D'+str(k)+'@Sketch'+str(sketch_number)+'"'+'=CoordinatesX'+str(i)+'\n')
    k+=1
    g.write('CoordinatesY'+str(i)+'='+str(Y[i])+'\n')
    g.write('"D'+str(k)+'@Sketch'+str(sketch_number)+'"'+'=CoordinatesY'+str(i)+'\n')
    k+=1
    #g.write('CoordinatesZ'+str(k)+'='+str(Z[i])+'\n')
    #g.write('D'+str(k)+'@Sketch'+str(sketch_number)+'=CoordinatesZ'+str(k)+'\n')
g.close() #writes coordinates in a txt file then saves the txt file

os.popen('"C:/Users/Public/Desktop/Program Files/SOLIDWORKS Corp/SOLIDWORKS/.exe"') #I want to call the macro that rebuilds the solidworks part with the modified coordinates.

更新以防有人遇到同样的问题:\m 不应包含在括号中。因此,对于我的示例,它将是: os.popen('"C:/Users/Public/Desktop/Program Files/SOLIDWORKS Corp/SOLIDWORKS/.exe" \m "宏路径"').然而,不幸的是,这只是打开宏而没有 运行 它。