掲示板一覧 - トピック一覧 EA API APIでSysML内部ブロック図の情報フローを取得できない |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | トピック |
---|---|
umesan | 投稿日時: 2019-4-4 14:32 |
EA Administrator 投稿: 1502 |
APIでSysML内部ブロック図の情報フローを取得できないサポート宛にいただきましたご指摘の要約です。
○ご指摘 ●問題 APIで、内部ブロック図の「情報フローの実現」で実現した情報フローを取得できない ●再現方法 1. 「情報フローの実現」を含む内部ブロック図を作る。 任意の内部ブロック図で、任意のコネクタを右クリック→「追加設定」→「情報フローの実現」を押す。 情報アイテムを指定する(適当なブロックやバリュー型を作って指定)。 2. ダイアグラムグループのスクリプトに下記のようなコードを書く。 '現在のダイアグラム上で選択された接続を取得 dim currentDiagram as EA.Diagram set currentDiagram = Repository.GetCurrentDiagram() set selectedConnector = currentDiagram.SelectedConnector '接続に運ばれている情報の数を確認 Session.Prompt selectedConnector.ConveyedItems.Count, promptOK 3. 1の図上でコネクタを選択し、2を実行する。 期待値:1が表示される 実際:0が表示される ●補足 クラス図で描いた情報フローでは、上記APIが期待通り機能しました(ConveyedItems.Count=1)。 〇回答 この度はお手数をおかけしており申し訳ございません。 まず、情報フローの接続そのものと、「情報フローの実現」で作成した接続は、同じ接続ではありません。以下URLのヘルプでは、わかりにくいかもしれませんが、「情報フローの実現」で作成した接続は、ダイアグラム上は、一つの接続として表現されておりますが、モデルとしては、運ばれている要素を持った「情報フロー」と「関連」の接続の2つの接続であります。(ヘルプにもありますように、情報フローが複数の場合もあります。) ◇情報フローの実現 https://www.sparxsystems.jp/help/14.0/informationitemsrealized.html そして、現在のEAのAPIで、Diagram の SelectedConnector で取得できるのは、このうちの、「関連」の接続となります。(ですので、運ばれている要素がありません。) 誠に申し訳ございませんが、「関連」の接続と「情報フロー」の接続を結び付けている情報は存在しているのですが、下記URLの掲示板で書かせていただいておりますように、現在のEAではAPIで取得できません。 ◇SysMLのアイテムフローの仕様について https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=6486 ◇APIでSysMLのアイテムフローを追加する方法を知りたい https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=6543 お手数をおかけいたしますが、現時点では、SelectedConnector のソース要素とターゲット要素が同一の、種類がInformationFlowのConnector を取得することで、回避いただけますようお願いいたします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |