gpt4 book ai didi

c# - 添加额外的基类 block

转载 作者:行者123 更新时间:2023-11-30 23:02:40 27 4
gpt4 key购买 nike

我正在尝试将现有 block 作为基类添加到另一个 block 。 (SysML 1.4)

一旦建模完成,我想在图中选择 block 并添加属性,如零件编号和供应商。对我来说,这似乎是通过继承来做到这一点的最简单方法。

我正在使用 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();
}

有没有想过我做错了什么?

最佳答案

您不能使用 BaseClasses 集合来添加基类。

相反,您应该使用 Connectors 集合来添加类型为Generalization 的连接器,并将目标 ID 设置为基类的 ID。

关于c# - 添加额外的基类 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50353733/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com