掲示板一覧   -   トピック一覧
   EA API
     APIでシーケンス図から接続の取得について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
mogass
投稿日時: 2013-9-30 11:45
EA Administrator
投稿: 171

APIでシーケンス図から接続の取得について

サポートに頂きましたご質問と回答の要約です。

○ご質問

APIで、シーケンス図(Diagram)から、要素(Element)を特定しないで
最初(EAのシーケンス図画面で左上に表示される)の接続(connector)を
取得する方法を教えてください。
よろしくお願いします。

○回答

いただきましたご質問に回答させていただきます。

1.ダイアグラムに配置されているダイアグラムオブジェクトで
 相対的に一番左のものを取得

 参考: ダイアグラムオブジェクトのコレクション
   -> Diagram.DiagramObjects
 参考: ダイアグラムオブジェクトの左位置
    -> DiagramObject.Left

2.取得したダイアグラムオブジェクトに割り当てられている要素を取得

 参考: ダイアグラムオブジェクトに割り当てられている要素のID
    -> DiagramObject.ElementID

3.要素の接続のコレクションから、対象のシーケンス図の接続を対象に、
 相対位置が一番上のものを取得

 参考: 対象のシーケンス図の接続
    -> Connector.DiagramID = ダイアグラムのID
 参考: シーケンス図の接続
    -> Connector.Type = "Sequence"
 参考: 接続の上位置(負の値。最大値のものが一番上)
    -> Connector.StartPointY または Connector.EndPointY

以上で取得可能かと思います。

ご参考になりましたら幸いです。
ご不明な点などございましたら遠慮なくご連絡ください。

今後ともよろしくお願いいたします。


●返信

要素を特定しないで接続を直接取得することはできないということですね。
参考になりました。
ありがとうございました。

●回答

ご質問の意図をよく理解せずに回答してしまい、
申し訳ございませんでした。

要素を介さずに接続の情報のみを取得するには、
以下の方法がございます。

・ProjectオブジェクトのEnumLinks()メソッドでパッケージ内にある
接続のIDのリストを取得、取得した接続のIDをもとに
Repository.GetConnectorByID()で接続の情報を順に取得。

・RepositoryオブジェクトのSQLQuery()メソッドを利用して
テーブル(t_connectorテーブル)の情報を直接取得。

※SQLQuery()メソッドを使用した情報の抽出に関しましては、
サポートの範囲外となりまして、ご質問にお答えすることが
できない場合もございます。ご使用の際はこの点ご了承ください。

またご不明な点などございましたらご連絡ください。

今後ともよろしくお願いいたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ