自動車業界では、MATLAB/Simulinkをベースとしたモデルベース開発が有望視されています。言うと、適用方法によってはそれなりに工数削減や品質向上が出来ると言う事が実証されてきたからです。一方ではモデルベース開発によって逆に工数が増加してしまうケースもあり、まだまだ課題が山積みです。これは、ユーザー様にとっては課題が山積みと言えますが、私にとっては仕事のネタが山積みとも言えます。このブログでは、そういったモデルベース開発に関わっていく中で思った事について書いていきます。更新日は月曜日+気が向いた日です。ブロック配置ツール、この子に酷いバグがあったのを修正しました。右クリック時に、毎回ライブラリをスキャンしていたのを修正。1度だけスキャンされるようにした。公開ツールを1つのページにまとめました。12:39はじめまして、いつも参考にさせて頂いています。R2012b以降ではcallbackInfo.mouseClickPositionは廃止されてしまっているようです。今手元にR2013aのデモ版しかないのですが、sl_customization.mにブレークポイントを設定してcallbackInfoの構造を確認したところ、mouseClickPositionがないためエラーが発生します。会社のR2012bでも同様だった気がするのですが確認できていません。R2013aではuiObjectはワークスペース変数のビューに表示されないのですが、ブレーク中のコマンドプロンプトで確認するとちゃんと存在しています。‘PointerLocation’)を使用すればよいことが分かりました。http://www.mathworks.com/matlabcentral/fileexchange/30248-add-simulink-blocks-from-a-given-model-file-with-context-menu/content/sl_customization.mただしPointerLocationはスクリーン座標上の値のため、これをモデルウィンドウ上の座標に変換する処理を追加する必要があります。吉武様のスクリプト(sl_customization.m)を変更してR2013a対応したもののdiffを下記に記載します。お役に立つか分かりませんが、ご参考にして頂ければ幸いです。上から(最大)10のブロックを認識します。そこで、sortedIndexでblockOnLibraryを取り出すことで、上から順にブロックを取り出すことができる。02:05コメントありがとうございます。いただいたパッチをまるまる当てて、R2010b、R2012b、R2013aどれでも動作する事を確認しました。ズーム対応もバッチリ動作していて、素晴らしいです。マウス位置に関するロジックとは別に、コールバックの構造もスッキリさせていただいていますね。あれは、汚いなー、なんとかならないかなー、と思っていた部分なので、とてもありがたいです。schemaFcnsに引数を指定できるとは・・・!これは、そのまま最新版として公開させていただきます。ありがとうございました。PlacerをR2012b以降に対応させるパッチをいただきましたので、それを丸パクリしました。「R2012b以降」さま、どうもありがとうございました。コメントを投稿して頂くには、JavascriptとCookieを有効にしていただく必要がございます。