ポート要素はブロック定義図や内部ブロック図で多く利用されますが、小さな要素のため位置調整に手間がかかります。また、パラメトリック図での制約プロパティ要素やアクティビティ図のアクションピン要素についても同様です。
これらの要素の位置調整を支援するための自動調整機能があります。
#
|
操作方法
|
1
|
対象のブロック定義図・内部ブロック図・パラメトリック図・アクティビティ図を開きます。
|
2
|
ダイアグラムの背景で右クリックし、「アドイン・拡張 | SysML | レイアウトの自動調整」を実行します。
|
3
|
次のようなダイアログが表示されますので、実行する処理を指定します。対象の図の種類により、選択肢が多少異なります。
- ポートを等間隔に配置
ポート(アクティビティ図ではアクションピン・パラメトリック図ではパートプロパティ、以下同様)の位置を調整するかどうかを指定します。要素の各辺に複数のポートがある場合、ポートを等間隔に配置します。1つのポートのみの場合、辺の中央に配置します。ポートにつながる接続の位置も調整します。 - 入力ポートを左辺・出力ポートを右辺に配置
ポートを等間隔に配置する設定が有効の場合に、この項目にチェックを入れると、ポートの向きがinの場合は要素の左辺に、outの場合には右辺に移動し整列します。それ以外の向きの場合には元の辺から移動しません。 - 要素の整列
アクティビティ図の場合に、以下のルールを適用します。
- 縦および横で、近くにある要素(アクション要素・フォーク/ジョイン要素・開始要素・終了要素・デシジョン要素・マージ要素)を中央揃えします。
- アクティビティパーティションがある場合、パーティションの中央に近い要素をパーティションの中央に配置します。
- フレーム上のポートを対向位置に移動
要素が持つポートが、フレーム上に配置されているポートとつながっている場合に、要素が持つポートの正面になるようにフレーム上のポートを移動するかどうかを指定します。フレーム上に配置されているポートが複数のポートとつながる場合、そのうちの1つの正面になるように移動します。 - 頂点の位置を初期化
この項目にチェックが入っていない場合には、対象の接続が頂点を持つ場合には、頂点の数は変更せず、頂点の位置もできる限り維持するようにレイアウトします。チェックを入れた場合には、現在の接続の位置や頂点は考慮せず、対象の要素の位置関係で接続をレイアウトし直します。

上記の設定のON/OFFに関わらず、ポートとコネクタ(パラメトリック図では束縛コネクタ・アクティビティ図ではコントロールフロートオブジェクトフロー)の接点(端点)が中心になるように調整を行います。
|
4
|
「実行」ボタンを押すと、指定内容に応じて位置調整を行います。
|
次の図は、内部ブロック図の場合の実行の前後の例です。ポート間の間隔およびポートとコネクタの接点の位置が変わっています。
実行前:

実行後:

ポートと等間隔に配置する機能の動作の対象・対象外となる条件は次の通りです。
- ポートを持つ親要素は、ブロック定義図ではブロック要素あるいはインターフェースブロック要素・内部ブロック図ではプロパティ要素・パラメトリック図では制約プロパティ要素が対象です。それぞれの要素が直接の付属要素として持つポート要素あるいはパートプロパティ要素が位置調整の対象となります。
- ポートを持つ親要素である要素自身の位置は変更しません。
なお、ダイアグラム内で要素を選択した状態で実行した場合には、選択されている要素のみがレイアウトの対象となります。