![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1044455/image.png)
add_blockで追加をするとブロックが重なる
23 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MATLABにて、simulinkにadd_blockで同じブロックを追加すると、同じ場所に配置されてしまい、重なってしまいます。ポジションを指定する方法は見つけたのですが、MakeNameUniqueオプションのように自動で位置を調整してくれる方法はありませんでしょうか。
0 commentaires
Réponse acceptée
交感神経優位なあかべぇ
le 24 Juin 2022
自動で位置調整してくれる方法はないはずです。
地道にブロックのPositionを計算するしか手段はないと思います。
例として、下記のIn1ブロックを選択して、下記コードを実行すると、In2ブロックが、In1ブロック直下にコピーされます。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1044455/image.png)
pos = get_param(gcbh, 'Position');
pos([2,4]) = pos([2,4]) + 30;
add_block(gcb, gcb, 'MakeNameUnique', 'on', 'Position', pos);
3 commentaires
交感神経優位なあかべぇ
le 24 Juin 2022
ブロックを選択して、get_param(gcbh, 'Position')を実行すると、そのブロックのPosition値である4要素を持った配列が返ってきます。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1044645/image.png)
この4つの値は、キャンパスの左上の縦横 0 位置を基準にそれぞれ、左、上、右、下の位置を示しています。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1044650/image.png)
つまり、先ほどの例は、ブロックの上と下の位置を示す、配列の要素2と4の値を、それぞれ+30を加算させることで、In1ブロックから、下方向に30移動させた位置のPosition値を作成したということになります。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1044655/image.png)
交感神経優位なあかべぇ
le 24 Juin 2022
Positionなどのブロックのプロパティは下記ページに色々書いていますので、参考になると思います。
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur プログラムによるモデル編集 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!