Я пытаюсь добавить существующий блок в качестве базового класса в другой блок. (SysML 1.4)
После завершения моделирования я хочу выделить блоки на диаграмме и добавить такие атрибуты, как part-nr и supplier. Мне показалось, что это самый простой способ сделать это по наследству.
Я работаю с C # и Interop.EA.dll, чтобы иметь лучшую отладочную информацию, чем со скриптом.
Этот код работает, но он не добавляет базовый класс.
EA.Repository m_Repository = Helpers.EAHelper.ActiveModel;
EA.Collection myCollection = m_Repository.GetCurrentDiagram().SelectedObjects;
foreach(object myObject in myCollection)
{
EA.DiagramObject myDiagramObject = (EA.DiagramObject)myObject;
EA.Element myElement = m_Repository.GetElementByID(myDiagramObject.ElementID);
EA.Element Class2Add = Helpers.EAHelper.BaugruppeClass;
EA.Element newBaseClass = myElement.BaseClasses.AddNew(Class2Add.ElementID.ToString(), Class2Add.Type.ToString());
if (!newBaseClass.Update())
System.Windows.MessageBox.Show("ups");
myElement.BaseClasses.Refresh();
int count = myElement.BaseClasses.Count;
myElement.Update();
}
Есть мысли, что я делаю не так?