« 複数グループイッキブッ込み。 | トップページ | 連番打ち直し2013。 »

2013年11月20日 (水)

即ワイからさん。

ついカッとなって書いたのですが、どうだろう。汎用的に使えないかな。


Sokuwaikarasan

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

//	即ワイからさん
//	ブツを選び(複数可)実行
//	実行時に押していたキーによって色が変わる(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色仕込んであって、何色が付くかは実行時にモディファイヤキーのどれを押していたかどうかによって変わります。


付けた色が気に食わない場合もあるので、ワイヤカラー設定の実行後に選択を解除するようにしてあります。 つまり、選択ハイライト無しの状態 = たった今与えたワイヤカラーが確認できる状態 になるということです。




また脊髄反射的に書いて即アップしてます。ロクにテストしてません。






.

|

« 複数グループイッキブッ込み。 | トップページ | 連番打ち直し2013。 »

コメント

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: 即ワイからさん。:

« 複数グループイッキブッ込み。 | トップページ | 連番打ち直し2013。 »