MAXScript は、スクリプトおよび MAXScript ロールアウトで使用する .NET Framework の一部へのアクセスを提供します。MAXScript は、dotNetClass
を介した .NET へのアクセス、dotNetObject
を介したオブジェクトへのアクセス、dotNetControl
を介した UI コントロールへのアクセス、dotNetMethod
を介したメソッドへのアクセス、dotNetMXSValue
を介した .NET 値とネイティブの MAXScript 値間の変換を提供します。
DotNet では Just in Time (JIT)コンパイラが使用されており、ユーザがマネージド コードを初めてロードまたは実行するときは、Common Language Runtime(CLR)が中間コードをコンパイルして機械語コードにするため、パフォーマンスが大幅に低下します。 同じセッション内で同じコードをそれ以降に実行した場合は、JIT コンパイラはそのコードをもう 1 度コンパイルするのではなく、キャッシュされたバイナリを使用するので、実装時のパフォーマンスは 1 度目のときよりも向上します。
これにより、たとえば[名前付き選択セット]ツールを初めて開く場合には、ダイアログ ボックスが表示されるまでに何秒間かかかる場合があります。2 度目以降はすぐに表示されます。
単純な DotNet MonthCalendar の作成と色の変更
DotNet フォームを使用した MAXScript ユーザ インタフェースの作成
DotNet を使用した Windows SystemEvents コールバックの登録
ActiveX コントロールを使用したスクリプトの DotNet コントロールを使用したスクリプトへの変換
ActiveX ListView コントロールの DotNet ListView コントロールへの変換
ActiveX TreeView コントロールの DotNet TreeView コントロールへの変換
[3dsMax Path]\stdplugs\stdscripts\NET_ListViewWrapper.ms
このスクリプトには、ListView DotNet コントロールの作成および管理に役立つ関数が含まれています。
[3dsMax Path]\stdplugs\stdscripts\NET_TreeViewWrapper.ms
このスクリプトには、TreeView DotNet コントロールの作成および管理に役立つ関数が含まれています。
[3dsMax Path]\ui\macroscripts\Macro_BakeTextures.mcr
[テクスチャをレンダリング]ダイアログ ボックスは、ActiveX コントロールの代わりに DotNet ListView コントロールを使用するように更新されています。
[3dsMax Path]\ui\macroscripts\Macro_NamedSelSets.mcr
[名前付き選択セット]エディタ ダイアログ ボックスが更新され、ActiveX コントロールに代わって DotNet の TreeView コントロールが使用されるようになりました。これは、DotNet TreeView コントロール内でドラッグ アンド ドロップを使用する場合の良い例です。
Microsoft Developers Network (MSDN) ライブラリ - System.Windows.Forms に関する解説: