上記ですが、サポートに問い合わせをして解決いたしました。
状況から、指定している作業平面等のパラメータが誤っている状況と思われます。
以下サンプルコードの様に、取得した作業平面等をアセンブリコンテキストでの作業平面(Proxy)にした形で状況が改善するかをご確認いただけますでしょうか。
Public Sub MateConstraintOfWorkPlanes()
Dim oAsmCompDef As AssemblyComponentDefinition
oAsmCompDef = ThisApplication.ActiveDocument.ComponentDefinition
‘ 1番目と2番目のオカレンスを取得
Dim oOcc1 As ComponentOccurrence
oOcc1 = oAsmCompDef.Occurrences.Item(1)
Dim oOcc2 As ComponentOccurrence
oOcc2 = oAsmCompDef.Occurrences.Item(2)
‘ それぞれのオカレンスのXY平面を取得。
‘ 取得した作業平面は、パートのコンテキストとして取得される
Dim oPartPlane1 As WorkPlane
oPartPlane1 = oOcc1.Definition.WorkPlanes.Item(3)
Dim oPartPlane2 As WorkPlane
oPartPlane2 = oOcc2.Definition.WorkPlanes.Item(3)
‘アセンブリのコンテキストでの作業平面が必要なため、作業平面にプロキシとして作成する必要がある。
‘プロキシは、アセンブリコンテキストでの作業平面を表す
Dim oAsmPlane1 As WorkPlaneProxy
Call oOcc1.CreateGeometryProxy(oPartPlane1, oAsmPlane1)
Dim oAsmPlane2 As WorkPlaneProxy
Call oOcc2.CreateGeometryProxy(oPartPlane2, oAsmPlane2)
‘作業平面プロキシを用いて拘束を作成
Call oAsmCompDef.Constraints.AddMateConstraint(oAsmPlane1, oAsmPlane2, 0)
End Sub