Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Solidworks API ExportToDWG2_Python_Vba_Api_Com_Solidworks - Fatal编程技术网

Python Solidworks API ExportToDWG2

Python Solidworks API ExportToDWG2,python,vba,api,com,solidworks,Python,Vba,Api,Com,Solidworks,我正在尝试将我们的一位工程师编写的脚本从VBA转换为Python。它会更改Solidworks图形中的某些值,然后导出某些dwg文件。这是一个更大项目的一部分,我们将在其中生成许多文件。除了能够导出为DWG文件外,其他一切都正常工作 当ExportToDWG2函数在VBA中运行时,它会很好地生成文件 Dim varAlignment As Variant Dim dataAlignment(11) As Double Dim varViews As Variant Dim dataViews(0

我正在尝试将我们的一位工程师编写的脚本从VBA转换为Python。它会更改Solidworks图形中的某些值,然后导出某些dwg文件。这是一个更大项目的一部分,我们将在其中生成许多文件。除了能够导出为DWG文件外,其他一切都正常工作

当ExportToDWG2函数在VBA中运行时,它会很好地生成文件

Dim varAlignment As Variant
Dim dataAlignment(11) As Double
Dim varViews As Variant
Dim dataViews(0) As String

dataAlignment(0) = 0#
dataAlignment(1) = 0#
dataAlignment(2) = 0#
dataAlignment(3) = 1#
dataAlignment(4) = 0#
dataAlignment(5) = 0#
dataAlignment(6) = 0#
dataAlignment(7) = 0#
dataAlignment(8) = 0#
dataAlignment(9) = 0#
dataAlignment(10) = 0#
dataAlignment(11) = 1#
varAlignment = dataAlignment
dataViews(0) = "*Top"
varViews = dataViews
sModelName = swModel.GetPathName
sPathName = "c:\projects\1234.dxf"
swModel.ExportToDWG2 sPathName, sModelName, swExportToDWG_ExportAnnotationViews, True, varAlignment, False, False, 0, varViews
ExportToDWG2函数在Python中运行时返回False,但不会导致参数类型错误

# Save the DFX
da = [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0]
data_align = win32.VARIANT(pythoncom.VT_VARIANT, da)
varViews = win32.VARIANT(pythoncom.VT_VARIANT, ["*Top"])
sPathName = "c:\projects\1234.dxf"
swExportToDWG_ExportAnnotationViews = 3
stat = swModel.ExportToDWG2(
    sPathName, swModel.GetPathName,
    swExportToDWG_ExportAnnotationViews, True,
    data_align, False, False, 0, varViews
)

print(sPathName, stat)

如何让ExportToDWG2像在VBA中一样在Python中工作,或者如何调试可能发生的事情?

名称
GetPathName
表明它可能是一个方法(可调用),而不是一个普通属性。在VBA中,似乎调用不带参数的方法时不需要后跟括号,因此VBA代码在这方面是不明确的。但是,它听起来很像一个方法名,所以我会尝试在Python代码中使用
swModel.GetPathName()
调用它。名称
GetPathName
表明它可能是一个方法(可调用),而不是一个普通属性。在VBA中,似乎调用不带参数的方法时不需要后跟括号,因此VBA代码在这方面是不明确的。但是,它听起来很像一个方法名,所以我会尝试在Python代码中使用
swModel.GetPathName()
调用它。