カスタム アトリビュートのアトリビュート定義値
アトリビュート定義値には直接アクセスできるプロパティがあります。
記述名を取得および設定します。
読み込み専用、定義のバージョン。
3ds Max 2015 以降で使用可能です。
読み込み専用、定義用のソース コードです。
ユーザ指定の def データ値を取得および設定します。
読み込み専用、def の attribID を含む 2 つの要素の配列
custAttributes.getDefSource <attrib_def>
アトリビュート定義用のソース コードを文字列として返します。
custAttributes.getOwner <attrib_def>
カスタム アトリビュートが適用されるオブジェクトを返します。
custAttributes.getDefClass <attrib_def>
attrib_def に関連する MAXClass を返します。
3ds Max 2008 以降 で使用可能です。
従来、Avguard 機能拡張として提供されていた機能です。
custAttributes.getDefInstances <attrib_def>
attrib_def の MSCustAttrib インスタンスの配列を返します。
3ds Max 2008 以降 で使用可能です。
従来、Avguard 機能拡張として提供されていた機能です。
custAttributes.setDefData <def> <data>
ユーザ指定のデータをアトリビュート定義に追加します。
ここで指定する< data >値は定義とともに持続的に保存され、シーンのロード時にこの定義のアトリビュート セットを含めてロードされます。
custAttributes.getDefData <attrib_def>
保存されたユーザ指定のデータを返します。
custAttributes.getPBlockDefs <attrib_def>
custAttributes 定義内のすべてのパラメータ ブロック定義のランタイム読み込み可能エンコーディングを含む配列を返します。
この配列は次の形式で表されます。
#(<paramblock>, <paramblock2>, ...)
1 つのパラメータ ブロックの詳細の配列。形式は次のとおりです。
#(<name>, <id>, <refno>, <keyword_params>, <parameter1>, <parameter2>, <parameter3>, ....) <id>
パラメータ ブロックの内部 ID 番号
所有するプラグイン インスタンス内のパラメータ ブロックの参照番号
パラメータ ブロック定義に指定したキーワード パラメータの配列。形式は次のとおりです。
#(<keyword>, <value>, <keyword2_name>, <value2>, ...) <Parameter1 to ParameterN
ブロック内の各パラメータの定義の詳細は、次の形式になります。
#(<param_name> <keyword_params>)
カスタム アトリビュート定義内の該当のパラメータの定義に指定したすべてのキーワード パラメータを含む配列。形式は上記の <keyword_params> と同じです。
カスタム アトリビュートから pBlock データを抽出する関数を示します。
例
|
mapped fn custAttribute_showPBlockDefs obj =
(
format "%\n" obj.name
for objDef in (custAttributes.getDefs obj) do
(
format "\t%\n" objDef
format "\tname: %\n" objDef.name
format "\tattribute id: %\n" objDef.attribID
format "\tParameter Blocks:"
pbArray = custAttributes.getPBlockDefs objdef
for a = 1 to pbArray.count do
(
itms = pbArray [a]
format "\n\t\tname = %\n" itms[1]
format "\t\tid = %\n" itms[2]
format "\t\towners reference number = %\n" itms[3]
keywordParams = itms[4]
format "\t\tparameter block keywords:\n"
for x = 1 to keywordParams.Count/2 do
(
format "\t\t\t% = %\n" keywordParams[x] keywordParams[x+1]
x = x+1
)
format "\t\tparameters:"
for y = 5 to itms.Count do
(
format "\n\t\t\t#name = %\n" itms[y][1]
for z = 1 to itms[y][2].Count by 2 do
(
format "\t\t\t% = %\n" itms[y][2][z] itms[y][2][z+1]
)
)
)
)
)
|
custAttributes.getSceneDefs ()
現在のシーン内のアトリビュート定義すべての配列を返します。
custAttributes.deleteDef <attrib_def>
現在のシーンと現在実行中の 3ds Max セッションから、指定したアトリビュート定義を削除します。この定義を使って追加されたカスタム アトリビュートを含むシーンには、オブジェクトは存在しません。
注:この名前は、. name プロパティから取得できます。
次のトピック
カスタム アトリビュートの仮想配列へのアクセス