提前道歉,我在这里可能有一些术语错误。我是面向对象编程的新手。
我正在尝试通过 COM API 从 MATLAB 控制 Siemens Solid Edge ST2(一个 CAD/CAM 程序)。从 VB6 或 VB.NET 执行此操作时,通过 objEdges 集合对象对每个循环执行某种操作,很容易识别(比如说)类“objEdge”的所有对象:
Dim objEdges As SolidEdgeGeometry.Edges
objEdges = objCurve3D.GetType().InvokeMember("Edges", _
Reflection.BindingFlags.GetProperty, Nothing, objCurve3D, args)
For Each objEdge In objEdges
objProf.IncludeEdge(objEdge)
Next
我正在尝试从 MATLAB 做同样的事情。我使用 成功加载了 Solid Edge COM 服务器h = actxserver('SolidEdge.Application')
,可以通过 API 执行打开文档、创建几何图形等操作,但我只是不确定这个 Visual Basic“object for-each”的 MATLAB 等价物(因为缺少更好的名字)。
看起来MATLAB Central 论坛上的用户Julian也有同样的问题,但他们没有给他答案。请注意,这与 this不是同一个问题,后者正在查看标准数组上的 for-each 循环,而不是 COM 对象。
非常感谢人们可以提供的任何帮助。