xlTBUtils コマンドは、レイアウト、再配線機能、選択したブロックやラインを戻す機能など、いくつかの機能を提供します。
構文
xlTBUtils(function, args)
e.g.
xlTBUtils('Layout',struct('verbose',1,'autoroute',0))
xlTBUtils('Layout',optionStruct)
xlTBUtils('Redrawlines',struct('autoroute',0))
xlTBUtils('RedrawLines',optionStruct)
[lines,blks]=xlTBUtils('GetSelected',handle,'all')
説明
xlTBUtils(function [,args])
引数には、実行する関数の名前を指定します。必要に応じて、関数呼び出しにほかの引数も指定できます。関数引数では、大文字と小文字は区別されません。指定可能な値は次のとおりです。
関数 | 説明 |
---|---|
'Layout'
|
モデル上でレイアウト アルゴリズムを実行し、モデル上のラインの配置および再配線を実行します。レイアウトは、次のオプションの構造を使用してカスタマイズできます。 |
'RedrawLines'
|
モデル上で配線アルゴリズムを実行し、モデル上のラインの再配線を実行します。RedrawLines は、下に説明するオプションの構造を使用してカスタマイズできます。 |
'GetSelected'
|
システム上で選択されているブロックおよびラインの MATLAB Simulink ハンドルを返します。 |
'xlTBUtils('Layout',optionStruct)
Simulink モデルの配置と配線を自動的に実行します。optionStruct は MATLAB 構造体のデータ型で、レイアウトのパラメーターを含みます。引数 optionStruct は省略できます。
レイアウトでは、回路が左から右へ配置されると想定されます。配置後に、レイアウトで Simulink が使用され、ワイヤ接続が自動配線されます。Simulink により、ブロック ラベルを含め、画面に表示されているものを避けて配線されます。ignore_labels を設定すると、Simulink はラベルを無視して配線を実行できるようになり、その後ラベルをより適切な位置に手動で移動できます。フィールド名の大文字と小文字は区別されません。
フィールド名 | 説明 [デフォルト値] |
---|---|
x_pitch , y_pitch
|
ブロック間のギャップ (ピッチ) を指定します (ピクセル数)。x_pitch はブロック間の水平方向の間隔を、y_pitch は垂直方向の間隔を指定します。[30] |
x_start , y_start
|
左 (x_start) と上 (y_start) のマージン余白 (ピクセル数) を指定します。モデルの左と上の余白を指定します。[10] |
autoroute
|
Simulink ラインの自動配線を有効にします。(1 | 0) [1] |
ignore_labels
|
ラインを自動配線する際に、Simulink でテキスト ラベルを避けて自動配線します。ignore_labels を 1 に設定すると、配線中のテキスト ラベルのサイズを最小限に抑えることができます。 |
sys
|
レイアウトするシステムの名前を指定します。[gcs] |
verbose
|
1 に設定すると、レイアウト中に待機バーが表示されます。 |
xlTBUtils('RedrawLines',optionStruct)
RedrawLines コマンドを実行すると、Simulink モデルのすべてのラインが再描画されます。選択されたラインがある場合は、選択されたラインのみが再描画され、そうでない場合はすべてのラインが再描画されます。分岐が選択されている場合は、主幹とその他の分岐も含め、ライン全体が再描画されます。
フィールド名 | 説明 [デフォルト値] |
---|---|
autoroute
|
Simulink ラインの自動配線を有効にします。(1 | 0) [1] |
sys
|
レイアウトするシステムの名前を指定します。[gcs] |
xlTBUtils('GetSelected',handle,arg)
GetSelected コマンドは、システムで選択されているブロックおよびラインのハンドルを返します。引数のハンドルは、ブロックやラインが選択されている Simulink モデルを返します。また、引数のハンドルの代わりにモデル名を指定することもできます。引数 arg
には、次の表で説明されている文字列のいずれかを指定します。
GetSelected | 説明 [デフォルト値] |
---|---|
'all'
|
選択されたラインとブロックの両方を取得します。 |
'lines'
|
選択されたラインのみを取得します。 |
'blocks'
|
選択されたブロックのみを取得します。 |
GetSelected
コマンドは、行情報を含む構造体の配列 (lines) とブロック ハンドルの配列 (blks) の 2 つの項目を持つ配列を返します。'lines' 引数を使用した場合は blks は空の配列となり、'blocks' 引数を使用した場合は lines は空の配列となります。
例
- 例 1a: レイアウトの実行
-
a.verbose = 1; a.autoroute= 0; xlTBUtils('Layout',a);
この例は、verbose をオンにし、autoroute をオフにしてレイアウト ツールを起動します。
- 例 1b: レイアウトの実行
-
xlTBUtils('Layout',struct('verbose',1,'autoroute',0));
この例も、verbose をオンにし、autoroute をオフにしてレイアウト ツールを起動します。
- 例 2: 線の再描画
-
xlTBUtils('Redrawlines',struct('autoroute',0));
この例は、autoroute をオフにして、現在のシステムのラインを再描画します。
- 例 3: 選択されているラインとブロックの取得
-
xlTBUtils('GetSelected',handle,'all') lines = 1x3 struct array with fields: Handle Name Parent SrcBlock SrcPort DstBlock DstPort Points Branch blks = 1.0e+003 * 3.0320 3.0480
この例は、現在のシステムで選択されているすべてのラインとブロックを取得します。3 つのラインと 2 つのブロックが選択されています。最初のライン ハンドルには、次のコマンドでアクセスできます。
lines(1).Handle ans = 3.0740e+003
最初のブロック ハンドルには、次のコマンドでアクセスできます。
blks(1)
ans =
3.0320e+003
注記
Layout および RedrawLines で実行された操作は、やり直しスタックには入りません。元のモデルに戻すことができるようにするには、操作を実行する前にモデルのコピーを保存しておく必要があります。
This product contains certain software code or other information ("AT&T Software") proprietary to AT&T Corp. ("AT&T"). The AT&T Software is provided to you "AS IS". YOU ASSUME TOTAL RESPONSIBILITY AND RISK FOR USE OF THE AT&T SOFTWARE. AT&T DOES NOT MAKE, AND EXPRESSLY DISCLAIMS, ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND WHATSOEVER, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, WARRANTIES OF TITLE OR NON-INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS, ANY WARRANTIES ARISING BY USAGE OF TRADE, COURSE OF DEALING OR COURSE OF PERFORMANCE, OR ANY WARRANTY THAT THE AT&T SOFTWARE IS "ERROR FREE" OR WILL MEET YOUR REQUIREMENTS.
Unless you accept a license to use the AT&T Software, you shall not reverse compile, disassemble or otherwise reverse engineer this product to ascertain the source code for any AT&T Software.
© AT&T Corp. All rights reserved.AT&T is a registered trademark of AT&T Corp.