ポート要素はブロック定義図や内部ブロック図で多く利用されますが、小さな要素のため位置調整に手間がかかります。また、パラメトリック図での制約プロパティ要素やアクティビティ図のアクションピン要素についても同様です。
これらの要素の位置調整を支援するための自動調整機能があります。
#
|
操作方法
|
1
|
対象のブロック定義図・内部ブロック図・パラメトリック図・アクティビティ図
|
2
|
ダイアグラムの背景で右クリックし、「アドイン・拡張 | SysML | レイアウトの自動調整」を実行します。
|
3
|
次のようなダイアログが表示されますので、実行する処理を指定します。対象の図の種類により、選択肢が多少異なります。
- ポートを等間隔に配置する
ポート(パラメトリック図ではパートプロパティ、以下同様)の位置を調整するかどうかを指定します。要素の各辺に複数のポートがある場合、ポートを等間隔に配置します。1つのポートのみの場合、辺の中央に配置します。ポートの位置を移動する関係上、コネクタの位置も変更され、結果的に図が乱れる場合があります。
この項目にチェックが入っていない場合には、対向するポートがある場合に、ポートの位置の微調整を行います。 - 入力ポートを左辺・出力ポートを右辺に配置 (ビルド1621以降で利用可能)
ポートを等間隔に配置する設定が有効の場合に、この項目にチェックを入れると、ポートの向きがinの場合は要素の左辺に、outの場合には右辺に移動し整列します。それ以外の向きの場合には元の辺から移動しません。 - 要素の整列
アクティビティ図の場合に、以下のルールを適用します。
- 縦および横で、近くにある要素(アクション要素・フォーク/ジョイン要素・開始要素・終了要素・デシジョン要素・マージ要素)を中央揃えします。
- アクティビティパーティションがある場合、パーティションの中央に近い要素をパーティションの中央に配置します。
- アクションピンにつながるオブジェクトフローの端点を、アクションピンの中央になるように調整します。
- フレーム上のポートを対向位置に移動
要素が持つポートが、フレーム上に配置されているポートとつながっている場合に、要素が持つポートの正面になるようにフレーム上のポートを移動するかどうかを指定します。フレーム上に配置されているポートが複数のポートとつながる場合、そのうちの1つの正面になるように移動します。
上記の設定のON/OFFに関わらず、ポートとコネクタ(パラメトリック図では束縛コネクタ・アクティビティ図ではコントロールフロートオブジェクトフロー、以下同様)の接点(端点)が中心になるように調整を行います。
|
4
|
「実行」ボタンを押すと、指定内容に応じて位置調整を行います。
ビルド1628以降は、レイアウトした結果を元に戻す機能が利用できます。レイアウト結果に問題がある場合には、「アドイン・拡張 | SysML | レイアウトを元に戻す」を実行してください。ただし、自動レイアウトを再度実行すると、以前のレイアウト結果を元に戻すことはできなくなります。
(ビルド1627までは、レイアウトした結果を元に戻すことはできません。)
|
次の図は、内部ブロック図の場合の実行の前後の例です。ポート間の間隔およびポートとコネクタの接点の位置が変わっています。
実行前:
実行後:
ポートと等間隔に配置する機能の動作の対象・対象外となる条件は次の通りです。
- ポートを持つ親要素は、ブロック定義図ではブロック要素あるいはインターフェースブロック要素・内部ブロック図ではプロパティ要素・パラメトリック図では制約プロパティ要素が対象です。それぞれの要素が直接の付属要素として持つポート要素あるいはパートプロパティ要素が位置調整の対象となります。
- ポートを持つ親要素である要素自身の位置は変更しません。
- ポートにつながるコネクタのみが対象です。他の種類の接続は対象外です。