カスタム アトリビュートのアトリビュート定義値

アトリビュート定義値には直接アクセスできるプロパティがあります。

<def>.name 

記述名を取得および設定します。

   

<def>.version 

読み込み専用、定義のバージョン。

3ds Max 2015 以降で使用可能です。

   

<def>.source 

読み込み専用、定義用のソース コードです。

   

<def>.defData 

ユーザ指定の def データ値を取得および設定します。

   

<def>.attribID 

読み込み専用、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>, ...) 

   

<paramblock> 

1 つのパラメータ ブロックの詳細の配列。形式は次のとおりです。

   

#(<name>, <id>, <refno>, <keyword_params>, <parameter1>, <parameter2>, <parameter3>, ....)   <id> 

パラメータ ブロックの内部 ID 番号

   

<refno> 

所有するプラグイン インスタンス内のパラメータ ブロックの参照番号

   

<keyword_params> 

パラメータ ブロック定義に指定したキーワード パラメータの配列。形式は次のとおりです。

   

#(<keyword>, <value>, <keyword2_name>, <value2>, ...) <Parameter1 to ParameterN 

ブロック内の各パラメータの定義の詳細は、次の形式になります。

   

#(<param_name> <keyword_params>) 

   

<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 プロパティから取得できます。

次のトピック

カスタム アトリビュートの仮想配列へのアクセス

関連事項