« ポリゴンの境界にインクライン。 | トップページ | パッていしおん。 »

2014年2月18日 (火)

ソートします。

スケマティックビューでマウスドラッグして矩形選択しますよね。


Recsel

こういう風に。 四角を描いて選択します。


すると、選択したオブジェクトは、名前がちゃんと連番になっているにも関わらず、選択順は連番の順になってないんですよね。




なんでですか。アフォですか。昔から思ってました。


どういう時困るかと言うと、親子付けするときとかですね。このように矩形選択で選択したために選択の順番が名前順になってない時、誰かの子供にしたりすると、名前順ではないその順番で親子付けされてしまいます。 そうなると、スケマティックビューでノードを整列し直したとき、そのおかしい順番で並んでしまうんですよね。 なので I キーを押して並びを直してやらないと見づらい。 これがめんどくさい。

あとはリネームとかですよね。マルチモードの PPG を出して名前を入力してイッキに連番名にする時とか、もちろん選択順でリネームされますからね。




まあ最近の若僧はスケマティックを使わずエクスプローラばかり使うらしいから問題ないみたいだけど、あなた、人生の半分損してますよ。スケマティックは人生の半分です。 ええそうです。

っていうか最近の若僧は XSI を使わないよね。 うん、あなたの人生、ほぼ幸せのはずです。 今どき XSI と一緒にいると人生を棒に振ります。俺は知ってて一緒にいます。俺の人生そんなもんです。




ともかくですね、スケマティックで矩形選択したときでも、ちゃんと名前順にソートされた状態の選択にして欲しいんですよ。嘔吐デスク様。アフォですか。

と長年思っていたけどさっき条件反射的にスクリプト書きました。超シンプルスクリプト。 なんとなくちゃんと動いているように見えるが、きっと不都合な場面も多いだろうな。まあいいや。


JScript
---------------------------------------------------

var aItems = new Array();
for ( var i=0; i<Selection.count; i++ )	{
	aItems.push( Selection(i).Fullname );
}
aItems.sort();
SelectObj( aItems );
Logmessage( "ソートして選択し直しますた。 : " + Selection.GetAsText() );

---------------------------------------------------

こんだけなんですけどね。


このスクリプトをダウンロードする(右クリックで保存とか)



何か選択して実行すると、その選択中のオブジェクトの名前を、内部的にソートします。そしてソート後の結果を使って改めて選択し直します。結果、名前順の選択が実現しているはずです。 このスクリプトがするのはここまでです。 後は、この状態で親子付けとかすれば、ちゃんと名前順で親子付けされます。 もちろんリネームも選択順でされます。 そんだけです。

ソートは、他に方法を知らないもんだから、JScript の Array に対する sort メソッドをよく挙動も知らないまま白痴的に使ってますが、これだと不十分だったりする場面も出てくるんでしょうね。 でも他に知らないの。 何かいいアイデアあったら教えて下さいね。







2014年にもなってまだ XSI のスクリプト書いてブログに載せたりしてる俺って・・・・ ゑへへ。俺の人生そんなもんです。よろしくお願い致します。


ごきげんよう

.

|

« ポリゴンの境界にインクライン。 | トップページ | パッていしおん。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217974/59154493

この記事へのトラックバック一覧です: ソートします。:

« ポリゴンの境界にインクライン。 | トップページ | パッていしおん。 »