図形の接続機能を利用するソリューションを設計する場合は、Visio® に組み込まれたコネクタ ツールを使用するか、独自のコネクタを設計するかを決める必要があります。
[コネクタ ツール]、[図形の接続] コマンド、または 動的コネクタ シェイプを使うことで、配置可能な図形間に "迂回可能コネクタ" を作成できます。迂回可能コネクタは 1 次元図形です。この図形は、図面ページ上の他の図形を横断せずに迂回します。配置可能な図形は 2 次元図形で、迂回可能コネクタと連動します。Visio では、図面内の図形が配置可能な図形か迂回可能な図形かによって、図形の追加、削除、サイズ変更、位置変更などの変更に対する動作が決定します。このような変更を行うと、配置可能な図形であれば位置が自動的に調節され、迂回可能な図形であれば経路が自動的に変更されます。
迂回可能コネクタを使用すると、互いに接続された複雑な図の修正にも時間はかかりません。ただし、動作の予想がしやすいコネクタ、つまり自動的に経路変更がなされないコネクタが必要になることもあります。たとえば、常に角度を 90 度に保つ必要のある接続線の場合や、弧またはスプライン曲線で図形を接続しなければならない場合は、迂回しない独自の 1 次元コネクタを作成することができます。
このセクションの内容...
1 次元の線から迂回可能コネクタを作成するには、[その他] セクションの [ObjType] セルに 2 を設定します。[ObjType] セルの有効な値を次の表に示します。
図形の ObjType セルの値
値 | 意味 |
---|---|
0 | 図面内容に基づいて、配置可能な図形か迂回可能な図形かが判断される。 |
1 | 配置可能。 |
2 | 迂回可能。 |
4 | 配置、迂回とも不可。 |
新しい 2 次元図形を作成すると、[ObjType] セルの値はデフォルトで [No Formula] になっています。これは、値 0 と等価です。この場合、図形が配置可能かどうかはその内容に基づいて判断されます。たとえば、単純な四角形を作成すると、[ObjType] セルの値はデフォルトで 0 になります。この四角形を [図形の接続] コマンドまたは [コネクタ ツール] で他の図形に接続すると、四角形は配置可能であるとみなされ、[ObjType] セルが 1 (配置可能) に設定されます。また、シェイプシート (ShapeSheet®) ウィンドウを使えば、配置可能な 1 次元図形を作成することもできます。この図形は、自動的にレイアウトされる図面でコネクタ以外の 1 次元図形を使用するときに役立ちます。2 次元図形を迂回可能に設定しても、その図形の基本動作には影響しません。
迂回可能コネクタと連動しない図形を作成したい場合は、[ObjType] セルに 4 を設定します。このように設定しても、コネクタを図形の接続ポイントに接着することはできますが、図面に迂回可能コネクタが含まれていたとしても、配置可能な図形以外は無視されます。つまり、その図形が存在しないときと同じように経路線が描かれます。
迂回可能コネクタの経路を制御するには、[図形のレイアウト] セクションの [ShapeRouteStyle] セルの値を調節してコネクタの基本動作を設定します。デフォルトの設定では、セルの値は [No Formula] になっています。これは 0 と等価です。この状態では、コネクタはページに設定されているとおりに動作します。
[ツール] メニューから [図形のレイアウト] を選択すると、方向の異なるいくつかのコネクタ スタイルを組み合わせ、選択した図形またはページに対して複数の基本動作を指定できます。また、シェイプシートのセルを設定する方法でも図形またはページの基本動作を指定できます。
[ShapeRouteStyle] セルと [RouteStyle] セルの他の設定方法については、Visio 製品付属のオンラインヘルプ「開発者用リファレンス」 ([ヘルプ] メニューから [開発者用リファレンス] を選択) でこれらのセルを検索してください。
迂回可能コネクタと配置可能な図形を含む図のテンプレートを作成する場合は、図形の経路を変更したり図形を配置したりする際に使用されるデフォルト値を設定することができます。デフォルト値を設定するには、[ツール] メニューから [図形のレイアウト] で、ページごとに値を指定します。ページ上の図形を編集すると、図形に適用されているページの設定を上書きできます。ただし、配置可能な図形を作成したり追加した場合、その図形にはページの設定が使われます。
迂回可能コネクタと配置可能な図形を含む図の作成方法の詳細については、Visio製品付属のオンラインヘルプで「自動レイアウト」を検索してください。
基本動作をプログラムで制御できるコネクタを使いたい場合は、経路が自動的に調整されないコネクタを作成します。数式を使って、コネクタの始点から終点までの動きを制御することができます。
以下の図に示すコネクタは、2 個所で直角に曲がります。このようなコネクタは、組織図などの階層図を作成するときに便利です。1 次元図形を制御する場合、コネクタには以下に示すようなユーザー定義式を設定することができます。コネクタ ステンシルには他の 1 次元コネクタも用意されています。[ファイル] メニューから [ステンシル] をポイントして、[Visio エキストラ]の [コネクタ] を選択してください。
[角度付きコネクタ] の曲がり方
中央の 2 個所で折れ曲がっている角度付きコネクタには、ユーザー定義の数式が必要な頂点が 2 つあります。始点の次の頂点の座標を計算するときは、X 座標が始点と同じになるようにしてください。コネクタを下から描画する場合は、Y 座標は始点から 5 mm の位置になります。上から描画するときは、次のように計算してください。
= Height - 5 mm
その次の頂点の X 座標は、図形の終点を指定する最後の [LineTo] 行の X 座標と同じで、常に [Width] または 0 になります。Y 座標は 1 つ前の頂点の Y 座標と同じです。
角度付きコネクタを作成するには
Width = GUARD(ABS(EndX - BeginX))
Height = GUARD(ABS(EndY - BeginY))
Angle = GUARD(0 deg.)
各行は図形の頂点に対応します。
行 | X 座標 | Y 座標 |
---|---|---|
Start |
= IF(BeginX <= EndX,0,Width)
|
= IF(BeginY <= EndY,0,Height)
|
LineTo |
= Geometry1.X1
|
= IF(BeginY <= EndY, User.yOffset, Height - User.yOffset)
|
LineTo |
= Geometry1.X4
|
= Geometry1.Y2
|
LineTo |
= IF(BeginX <= EndX,Width,0)
|
= IF(BeginY <= EndY,Height,0)
|
[LockVtxEdit] セルを設定すると、図形の頂点が編集できなくなり、図形座標の数式が保護されます。[LockHeight] セルを設定すると高さの数式が保護されます。上下のハンドルは不要になり、削除されます。
[角度付きコネクタ]の折れ曲がるポジションを変更するには、User.yOffset とコントロール ハンドルをリンクし、ハンドルの X 座標を固定して Y 軸方向にしか移動できないようにします。
ウィザードを使うと、上から下、左から右などさまざまな動作の組み込みコネクタを作成することができます。ウィザードを開始するには、[ツール] メニューから [マクロ] をポイントします。次に、[Visio エキストラ] をポイントして [スマートシェイプ ウィザード] をクリックします。
スマートシェイプ ウィザードは、通常のインストールでは自動的にはインストールされません。[ツール] メニューから [マクロ] の [Visio エキストラ] にウィザードが含まれていない場合は、Visio の CD-ROM からインストールしてください。ウィザードをインストールするには、Visio のセットアップ プログラムを起動し、インストール オプションでスマートシェイプ ウィザードを選択してください。
1 次元の図形の中には、2 点間を引き伸ばして他の図形の接続に使えるものがあります。たとえば、次の図に示すパイプとバルブの図形などがこれに相当します。このような図形は、複数の図形座標コンポーネントを含む単一の 1 次元図形として作成されます。各コンポーネントがサイズ調整されたときの動作は、それぞれ異なります。1 次元図形で幅を変更するには、端点を調節します。パイプとバルブの図で終点をドラッグすると、線のコンポーネントの長さだけが変わります。上か下のハンドルをドラッグすると、バルブのコンポーネントだけがサイズ変更されます。このとき、バルブの縦横比は変わりません。
デフォルトの数式が設定されている場合と高さを基準にした数式が設定されている場合のパイプとバルブの図形の比較
バルブの図形を任意に変更できるようにするには、高さを基準にした数式を使用し、バルブ コンポーネントの高さに対する幅の数値を定義してください。このコネクタを単一の図形として作成するには、バルブの片側に 2 本の線分を描き、[図形] メニューから [合成操作] をポイントし [型抜き/合成] を選択します。
図形のサイズを調節してもバルブの縦横比が変わらないようにするには、以下のようにバルブの中心と高さについて頂点の X 座標を定義します。X 座標を定義すると、幅と高さを示すボックスの中央にバルブを配置したまま維持できます。この方法では、[図形座標] セクションの X のセルに数式を設定する必要があります。
複数の図形座標コンポーネントを持つ 1 次元図形の高さを基準にした数式
[図形座標] の行が上記の図と表に一致するような図形を作成するには
図形のバルブ部分を制御するには、合成した図形のシェイプシート ウィンドウを開き、以下に示す数式を [図形座標1] セクションに入力します。
パイプとバルブの図形で [図形座標1] セクションに入力するユーザー定義の数式
行 | X 座標 | Y 座標 |
---|---|---|
MoveTo |
= Width * 0.5 - Height * 1
|
= Height * 1
|
LineTo |
= Geometry1.X1
|
= Height * 0
|
LineTo |
= Width * 0.5 + Height * 1
|
= Height * 1
|
LineTo |
= Geometry1.X3
|
= Height * 0
|
LineTo |
= Geometry1.X1
|
= Geometry1.Y1
|
パイプの左側の線分とバルブとの交点 (上記の図の頂点 6) を制御するには、以下の数式を入力します。
Geometry2.X2 = Geometry1.X1
パイプの右側の線分とバルブとの交点 (上記の図の頂点 7) を制御するには、以下の数式を入力します。
Geometry3.X1 = Geometry1.X3
Visio では、1 次元図形の左側にある頂点が始点、右側にある頂点が終点になります。図形を上から下に描画して 1 次元に変換すると、端点が予想外の位置にくることがあります。これを避けるため、それぞれの図形を左から右に描画するようにしてください。
また、型抜きや合成をする前にユーザー定義式を設定しないようにします。[型抜き/合成] によって式が削除されてしまうからです。