Simulinkブロックをすばやく配置したいなにて、「Simulinkブロックをすばやく配置するツールを作ってみようかな」と書きました。それに対し通りすがりのSL初心者様から、右クリックメニューを拡張してブロックをすばやく配置するためのスクリプトをコメント欄にいただきました。(すばらしい!)

おかげさまで、とりあえずの形まで出来ましたので公開してみます。

名前は、「 Block Placer 」とでもしましょうか。

使い方は、モデル上で右クリック→数字キー

このBlock Placerは、Simulinkの右クリックメニューに「ブロックを配置する」を追加するためのツールです。Simulinkモデル上で右クリックすると、次のようなコンテキストメニューが表示されるようになります。

そこで、数字キーの0~9を押します。すると、該当するブロックがモデルに配置されます。

Displayブロックが配置された

このツールのポイントは、数字キーが使えるという点です。慣れれば、「右クリック」→「テンキーを押す」→「ブロックが配置される」の作業がわずか0.1秒で可能に!(スムーズワークス社しらべ)

最初のうちこそ、「1って何のブロックだっけ?」って迷うでしょうから、いちいちメニューを見ないといけません。

しかし、慣れてくればカチッポチッ(右クリックの音+テンキーの音)でいけます。いちいちメニューを見やしません。ほんと一瞬です。私はこういう感じのツールが大好きです。

 お好きなブロック10種類をどうぞ!

Block Placerに同梱されているモデル smoothworks_block_placer_library.mdl には、10個のブロックが置いてあります。ここに置かれたブロックは、 Block Placer によって(右クリック+数字キーで)ユーザーのモデルに配置されます。

smoothworks_block_placer_library.mdl は、ユーザーが自由に変更して構わないため、お好きなブロック10種類までをBlock Placerで配置できるようにする事ができます。

これらを好きなブロックに置き換えていただければ、 Block Placerはそれを自動認識します。(試していませんが、Target Linkブロックでもイケると思います。)

なお、右クリック時に表示されるメニューには、smoothworks_block_placer_library.mdlにあるブロックの名前がBlock Placerによって認識され、そのまま表示されます。ですから、このモデルに配置するブロックには、分かりやすい名前をつけてください。

これで、お好きなブロック10個を思う存分、カチッポチッしてください。

なお、10個も必要ないよ!という方も見えると思います。その場合、smoothworks_block_placer_library.mdlに配置するブロック数は5個でも1個でも構いません。配置した数だけ「○○を配置する」メニューが表示されます。(ただし上限は10個まで)

インストール方法

2013年3月10日追記:このバージョンにはバグがあります。修正版は、こちらからダウンロードしてください。

ダウンロード:Block Placer ver1.00

Block Placerは、3つのファイルで構成されています。ZIPファイル中のフォルダー block_placerをPC上のどこかに配置した上で、そこにMATLAB Pathを通していただければインストール完了です。

パスを設定した直後は、MATLABコマンドプロンプトにて、

sl_refresh_customizations

と入力してください。

このコマンドは、Simulinkメニュー等のカスタマイズ設定をリフレッシュするためのものです。Block Placerを新たにMATLABパスに加えたため、必要となりました。

MATLAB起動時に Block PlacerのあるフォルダがMATLABパスに設定されているようであれば、いちいち実行する必要はありません。

参考:Windows7でMATLABパス設定する方法

動作環境・ライセンス

R2010b SP1での動作を確認しています。それ以外のバージョンでも動く可能性はありますが、確認はしていません。

R2010bより古いバージョンで動かす場合、smoothworks_block_placer_library だけは新しく作り直す必要があるかも分かりません。お使いのバージョンのMATLAB/Simulinkにて新規にモデルを作成し、そこにブロックを10個おき、smoothworks_block_placer_library という名前で保存するだけで良いと思います。

なお、本ツールは無償でお使いいただいて構いませんが、何かあっても責任は取れませんのであしからず・・・