構成図自動結線マクロ(その3)コネクタの調整
2021年09月20日
今回もオートシェープの自動結線マクロの話。
結線することはできたけど、鍵コネクタでつなぐと線が重なって見えない。
これだと困るのでコネクタの形状を調整するマクロを作った。
アジャストは
shp.Adjustments.Item(1) = 0~1で指定するらしい。
コネクタの場合、線分のどの位置で折り曲がるかを設定する。
初期値は0.5で、ちょうどまんなかで鍵型になる。
やりたいことは、複数選択したコネクタで曲げる位置をずらす。
初期のアジャスト位置に対して、コネクタ番号×5%でずらす仕様に。
試してみると、50~80%にコネクタが集まるので、全体を手前にずらすことも必要とわかった。
で、番号順にずらす機能と全体をそのままずらす機能を±両方向へ設定可能にした。
Const adjustNum = 5 / 100 'アジャスタの分母 小さい方がずれる
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) ± i * adjustNum
iを1に変更すれば全体がシフトする。
こんな感じ
以下、ソース。
結線することはできたけど、鍵コネクタでつなぐと線が重なって見えない。
これだと困るのでコネクタの形状を調整するマクロを作った。
アジャストは
shp.Adjustments.Item(1) = 0~1で指定するらしい。
コネクタの場合、線分のどの位置で折り曲がるかを設定する。
初期値は0.5で、ちょうどまんなかで鍵型になる。
やりたいことは、複数選択したコネクタで曲げる位置をずらす。
初期のアジャスト位置に対して、コネクタ番号×5%でずらす仕様に。
試してみると、50~80%にコネクタが集まるので、全体を手前にずらすことも必要とわかった。
で、番号順にずらす機能と全体をそのままずらす機能を±両方向へ設定可能にした。
Const adjustNum = 5 / 100 'アジャスタの分母 小さい方がずれる
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) ± i * adjustNum
iを1に変更すれば全体がシフトする。
こんな感じ
以下、ソース。
Sub 負アジャストソート()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, i As Long
For Each shp In Selection.ShapeRange
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) - i * adjustNum
i = i + 1
Next shp
End Sub
Sub 負アジャストバイアス()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, i As Long
For Each shp In Selection.ShapeRange
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) - 1 * adjustNum
i = i + 1
Next shp
End Sub
Sub 正アジャストソート()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, i As Long
For Each shp In Selection.ShapeRange
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) + i * adjustNum
i = i + 1
Next shp
End Sub
Sub 正アジャストバイアス()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, i As Long
For Each shp In Selection.ShapeRange
shp.Adjustments.Item(1) = shp.Adjustments.Item(1) + 1 * adjustNum
i = i + 1
Next shp
End Sub
PR
Comment