即ワイからさん。
ついカッとなって書いたのですが、どうだろう。汎用的に使えないかな。
JScript
---------------------------------------------------------------------
---------------------------------------------------------------------
このスクリプトのダウンロード(右クリックで保存とか)
以前からワイからさんという、ワイヤカラーをイッキに設定するツールがあったんですが、これを使ってもやっぱり面倒くさいと感じることがあるんですよね。 何でもいいから今この場でパパっと色をつけたい、とかそういうときは、いちいち PPG 出すまでもない。 標準機能にあるパレットからピックするやつは、複数のオブジェクトにイッキにできないし、俺はピックセッションが必ずしも好きではないんですね。
なので、選択しているオブジェクトに即時にワイヤカラーを付けるスクリプトを書きました。
あらかじめ8色仕込んであって、何色が付くかは実行時にモディファイヤキーのどれを押していたかどうかによって変わります。
付けた色が気に食わない場合もあるので、ワイヤカラー設定の実行後に選択を解除するようにしてあります。 つまり、選択ハイライト無しの状態 = たった今与えたワイヤカラーが確認できる状態 になるということです。
また脊髄反射的に書いて即アップしてます。ロクにテストしてません。
.
// 即ワイからさん // ブツを選び(複数可)実行 // 実行時に押していたキーによって色が変わる(8色) var rtn = GetKeyboardState( ); ModKey = rtn(1); switch( ModKey ) { case 0:Index = 0; break; // none = red case 1:Index = 1; break; // shift = green case 2:Index = 2; break; // ctrl = blue case 3:Index = 3; break; // ctrl + shift = purple case 4:Index = 4; break; // alt = orange case 5:Index = 5; break; // alt + shift = cyan case 6:Index = 6; break; // ctrl + alt = Pink case 7:Index = 7; break; // ctrl + alt + shift= Yellow } var aR = Array( 0.878, 0.125, 0, 0.376, 0.878, 0.125, 0.878, 0.878 ); var aG = Array( 0, 0.878, 0.125, 0 , 0.251, 0.878, 0.251, 0.878 ); var aB = Array( 0, 0.125, 0.627, 0.251, 0, 0.753, 0.627, 0 ); var aCol = Array( "none = 赤","shift = 緑","ctrl = 青","ctrl + shift = 紫","alt = 橙","alt + shift = 水","ctrl + alt = 桃","ctrl + shift + alt = 黄"); var oObjects = XSIFactory.CreateObject( "XSI.Collection" ); for ( var i=0; i<Selection.count; i++ ) { var oObj = Selection(i); if ( oObj.IsClassOf( siGroupID ) || oObj.IsClassOf( siX3DObjectID ) ) oObjects.Add( oObj ); } if ( oObjects.count == 0 ) Logmessage( "ちゃんとしたものが選ばれてないので師んで下さい。", siError ); else { OpenUndo( "SokuWaikaraSan" ); for ( var i=0; i<oObjects.count; i++ ) { var oObj = oObjects(i); var oDisp = oObj.LocalProperties( "display" ); if ( !oDisp ) var oDisp = oObj.AddProperty( "Display Property" ); oDisp.wirecolorr.value = aR[ Index ]; oDisp.wirecolorg.value = aG[ Index ]; oDisp.wirecolorb.value = aB[ Index ]; } Logmessage( aCol[ Index ] + " (・∀・;)" ); DeselectAll(); CloseUndo(); }
---------------------------------------------------------------------
このスクリプトのダウンロード(右クリックで保存とか)
以前からワイからさんという、ワイヤカラーをイッキに設定するツールがあったんですが、これを使ってもやっぱり面倒くさいと感じることがあるんですよね。 何でもいいから今この場でパパっと色をつけたい、とかそういうときは、いちいち PPG 出すまでもない。 標準機能にあるパレットからピックするやつは、複数のオブジェクトにイッキにできないし、俺はピックセッションが必ずしも好きではないんですね。
なので、選択しているオブジェクトに即時にワイヤカラーを付けるスクリプトを書きました。
あらかじめ8色仕込んであって、何色が付くかは実行時にモディファイヤキーのどれを押していたかどうかによって変わります。
付けた色が気に食わない場合もあるので、ワイヤカラー設定の実行後に選択を解除するようにしてあります。 つまり、選択ハイライト無しの状態 = たった今与えたワイヤカラーが確認できる状態 になるということです。
また脊髄反射的に書いて即アップしてます。ロクにテストしてません。
.
| 固定リンク
コメント