Спасибо, Михаил, за подсказку. Дело в том, что вероятно это не то, что мне требуется. Чтобы было понятно: я хоть мало-помалу уже давно копаюсь в API инвентора, прокси объекты никогда не использовал. Сейчас почитал о них усердно. Как я понял, прокси объекты являются как бы указателями на оригинальные объекты, плоскость сборки построенная на основе такого объекта зависима от положения вхождения. Ну то есть я сдвигаю деталь и сдвигается плоскость, завязанная на ее грань. А мне хотелось получить условно "независимую" плоскость в самой сборке. Ну то есть я ее хочу просто взять и создать ее где-то в пространстве. Коли строить плоскость в сборке на основе геометрии вхождения, куда проще использовать метод WorkPlanes.AddByPlaneAndOffset аналог которого я и искал. Ну да, появится лишняя плоскость в детали, ну в конце концов ей можно задать свойство "Construction" = true.
(Если вдруг кому код понадобится):
Inventor.AssemblyDocument oDoc = (Inventor.AssemblyDocument)oApp.ActiveDocument;
Inventor.AssemblyComponentDefinition oCD = oDoc.ComponentDefinition;
Inventor.TransientGeometry oTG = oApp.TransientGeometry;
Inventor.WorkPlane oWorkPlane = oCD.WorkPlanes.AddFixed(oTG.CreatePoint(1, 5, 3),
oTG.CreateUnitVector(1, 0, 0), oTG.CreateUnitVector(4, 2, 7));
Inventor.ComponentOccurrence oOcc = oCD.Occurrences[1];
Inventor.PartComponentDefinition oCD_part = (Inventor.PartComponentDefinition)oCD.Occurrences[1].Definition;
Inventor.WorkPlane oWorkPlane_part = oCD_part.WorkPlanes.AddByPlaneAndOffset(oCD.WorkPlanes[3], 123, true);
object oPartFaceProxy;
oOcc.CreateGeometryProxy(oWorkPlane_part, out oPartFaceProxy);
oCD.Constraints.AddMateConstraint(oWorkPlane, oPartFaceProxy, 0);
Я все в толк взять не могу, если в пользовательском интерфейсе есть возможность задавать плоскость путем смещения, каким образом эта информация хранится в модели, если средствами API такого повторить как бы нельзя?