add_blockで追加をするとブロックが重なる

17 visualizaciones (últimos 30 días)
YN
YN el 24 de Jun. de 2022
MATLABにて、simulinkにadd_blockで同じブロックを追加すると、同じ場所に配置されてしまい、重なってしまいます。ポジションを指定する方法は見つけたのですが、MakeNameUniqueオプションのように自動で位置を調整してくれる方法はありませんでしょうか。

Respuesta aceptada

交感神経優位なあかべぇ
交感神経優位なあかべぇ el 24 de Jun. de 2022
自動で位置調整してくれる方法はないはずです。
地道にブロックのPositionを計算するしか手段はないと思います。
例として、下記のIn1ブロックを選択して、下記コードを実行すると、In2ブロックが、In1ブロック直下にコピーされます。
pos = get_param(gcbh, 'Position');
pos([2,4]) = pos([2,4]) + 30;
add_block(gcb, gcb, 'MakeNameUnique', 'on', 'Position', pos);
  3 comentarios
交感神経優位なあかべぇ
交感神経優位なあかべぇ el 24 de Jun. de 2022
ブロックを選択して、get_param(gcbh, 'Position')を実行すると、そのブロックのPosition値である4要素を持った配列が返ってきます。
この4つの値は、キャンパスの左上の縦横 0 位置を基準にそれぞれ、左、上、右、下の位置を示しています。
つまり、先ほどの例は、ブロックの上と下の位置を示す、配列の要素2と4の値を、それぞれ+30を加算させることで、In1ブロックから、下方向に30移動させた位置のPosition値を作成したということになります。
交感神経優位なあかべぇ
交感神経優位なあかべぇ el 24 de Jun. de 2022
Positionなどのブロックのプロパティは下記ページに色々書いていますので、参考になると思います。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre プログラムによるモデル編集 en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!