【发布时间】:2017-12-23 05:17:28
【问题描述】:
我刚刚开始使用 win32com.client 模块尝试编写一个 Python 程序,该程序使用 COM 接口来控制 MicroStation,这与我过去从 Excel 控制 MicroStation 的方式很相似。
我遇到的问题是创建在 COM 库中定义的类型的对象,即 com_record,在我的例子中是 Point3d。 Point3d 基本上是 3 个双 X,Y,Z 的 C 结构。
struct Point3d {
double X;
double Y;
double Z;
}
在 Excel 中引用 MicrostationDGN 库后,我可以访问 Point3d 数据类型,并且可以使用 Dim newpoint As Point3d 轻松定义新变量
如何在 Python 中做同样的事情?
谢谢,
PS。我尝试创建一个 C 结构,但这给了我一个错误
from ctypes import Structure, c_double
class Point3d(Structure):
_fields_ = [('X', c_double),
('Y', c_double)]
startPoint = Point3d()
startPoint.X = 1
startPoint.Y = 1
TypeError: Only com_record objects can be used as records
【问题讨论】:
-
我在这里找到了一些信息python.6.x6.nabble.com/…,但我仍然不知道如何制作我需要的 com_record 对象。