从JavaScript Enterprise Architect添加属性注释

3
我有一些代码,想要创建“属性备注”。
 var metric as EA.Element;
 metric = thePackage.Elements.AddNew("", "Text");

我应该用什么代替 Text 来添加我想要的内容?

我尝试过:

 metric = thePackage.Elements.AddNew(text, "Property Note");

或者
 metric = thePackage.Elements.AddNew(text, "PropertyNote");

编辑:

 metric = thePackage.Elements.AddNew(text, "Note");

无法工作:

我期望的是在红框中的

enter image description here 而不是上面的元素

答案:

 metric = thePackage.Elements.AddNew("", "Text"); // the Note Property
 metric.SubType = 18; // This will actually make a simple Text behave as Note Property

你需要一个注释元素还是元素的注释属性? - Mart10
1
@Mart10 我想要从代码中添加 这个 - tryingHard
这有点棘手。我会在今天晚些时候想出一个答案。 - qwerty_so
@ThomasKilian 期待着它的到来 :) - tryingHard
1个回答

2

如约而至,这里是创建图表注释的代码。抱歉使用了Perl语言,但是你很可能可以将其翻译成Javascript。

my $p = $rep->GetPackageByGUID("{157B01A5-8F9A-4458-8C7F-E48F5DA77B0A}"); # sample package
my $dnote = $p->Elements->AddNew("", "Text"); # the Note Property
$dnote->{SubType} = 18; # This will actually make a simple Text behave as Note Property
$dnote->Update(); # save in package elements
my $dia = $p->Diagrams->GetAt(0); # sample diagram
my $do = $dia->DiagramObjects->AddNew("l=10;r=110;t=-20;b=-80", ""); # place Note Property in diagram (coordinates are about top left)
$do->{ElementID} = $dnote->ElementID; # link with the Note Property
$do->Update(); # place in diagram
$rep->ReloadDiagram($dia->DiagramID); # make ir appear instantly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接