事前にお詫び申し上げます。用語の一部が間違っている可能性があります。オブジェクト指向プログラミング初心者です。
COM API 経由で MATLAB から Siemens Solid Edge ST2 (CAD/CAM プログラム) を制御しようとしています。VB6 または VB.NET からこれを行う場合、objEdges コレクション オブジェクトを介して for each ループを実行することにより、クラス "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の「オブジェクトfor-each」に相当するMATLABがわかりません(より良い名前)。
こちらの MATLAB Central フォーラムのユーザーJulianが同じ問題を抱えているようですが、彼に対する回答はありません。これは、COM オブジェクトではなく、標準配列の for-each ループを見ているthisと同じ質問ではないことに注意してください。
人々が提供できるあらゆる助けに感謝します。