インタフェース > コア インタフェース > LayerManager |
このコア インタフェースは、MAXScript に レイヤ マネージャを公開します。
プロパティ:
LayerManager.count : integer : Read
シーン内のレイヤ数を取得します。
LayerManager.current : Interface : Read
現在のレイヤへの LayerProperties MixinInterface を返します。
メソッド:
<Interface>LayerManager.getLayer <integer>which
インデックスで指定されたレイヤへの LayerProperties MixinInterface を返します。
インデックスの基数は 0 です。
<Interface>LayerManager.newLayer()
新しいレイヤを作成し、そのレイヤへの LayerProperties MixinInterface を返します。
<Interface>LayerManager.getLayerFromName <string>name
指定された名前のレイヤへの LayerProperties MixinInterface を返します。
<Interface>LayerManager.newLayerFromName <string>name
指定された名前の新しいレイヤを作成し、そのレイヤへの LayerProperties MixinInterface を返します。
<void>LayerManager.editLayerByName <string>name
指定された名前を持つレイヤを編集モードに切り替えます。
<boolean>LayerManager.deleteLayerByName <string>name
指定された名前を持つレイヤを削除します。
レイヤが削除された場合は True、それ以外の場合は False を返します。
レイヤを削除できるのは、レイヤにノードがなく、レイヤが現在のアクティブ レイヤではない場合にのみです。
<void>LayerManager.closeDialog()
レイヤ マネージャのダイアログ ボックスを閉じます。
<boolean>LayerManager.isDialogOpen()
レイヤ マネージャが開いている場合は true を返し、それ以外の場合は false を返します。
<void>LayerManager.layerPropDialog <&maxObject array>layerList layerList is In and Out parameter
参照配列に渡された LayerProperties MixinInterfaces の[レイヤ プロパティ](Layer Property)ダイアログを開きます。
3ds Max 2015 以降で使用可能です。
<ReferenceTarget>LayerManager.getLayerObject {<integer layer_index>|<string layer_name>}
指定されたレイヤを ReferenceTarget として返します。
layer_index の基数は 0 です。layer_name は 大文字と小文字を区別しません。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
非推奨です。
代わりに、LayerProperties インタフェースの .layerAsRefTarg プロパティを使用してください。
旧バージョンの 3ds Max で Avguard 拡張機能を使用して作成されたスクリプトとの互換性を保つために提供されています。
<bool>LayerManager.doesLayerHierarchyContainNodes <string>name
指定したレイヤ名のレイヤ階層にノードが含まれている場合は、True を返します。
指定されたレイヤ名のレイヤ階層にノードが含まれない場合、または指定されたレイヤ名が存在しない場合には False を返します。
3ds Max 2016 以降で使用可能です。
<bool>LayerManager.deleteLayerHierarchy <string>name forceDelete:<bool> forceDelete default value: false
指定したレイヤ名のレイヤ階層を削除します。アクティブ レイヤが削除されている場合、規定の「0」レイヤがアクティブ レイヤになります。オプション キーワード forceDelete: が False に設定されているか指定されていない場合、空のレイヤのみが削除されます。
オプション キーワード forceDelete: が True に設定されている場合、ノードを持つレイヤが削除され、ノードが既定の「0」レイヤに移動します。
削除が正常に終了した場合は True を返します。
forceDelete: が False に設定されているか指定されていない場合、または指定されたレイヤ名が存在しない場合、階層にはノードが含まれるため、削除が失敗すると False を返します。
3ds Max 2016 以降で使用可能です。
<bool>LayerManager.getDuplicateLayerWithoutSameHierarchyOnMerge()
合成するレイヤの名前が同じでも、シーン内の既存レイヤと階層が異なる場合、合成する際にレイヤを複製するかどうかをコントロールするオプションの状態を返します。
True に設定すると、複製レイヤを作成します。
False に設定すると、複製は作成されません。
3ds Max 2016 以降で使用可能です。
<void>LayerManager.setDuplicateLayerWithoutSameHierarchyOnMerge <bool>duplicateLayerWithoutSameHierarchyOnMerge persist:<bool> persist default value: true
合成するレイヤの名前が同じでも、シーン内の既存レイヤと階層が異なる場合、合成する際にレイヤを複製するかどうかをコントロールするオプションの状態を設定します。
True に設定すると、複製レイヤを作成します。
False に設定すると、複製は作成されません。
オプション引数 persist: が True に設定されているか省略されている場合、設定はセッション間で維持されます。
オプション persist: が False に設定されている場合、設定は現在のセッションにのみ影響します。
3ds Max 2016 以降で使用可能です。
例 |
for i = 0 to layerManager.count-1 do ( ilayer = layerManager.getLayer i layerName = ilayer.name layer = ILayerManager.getLayerObject i layerNodes = refs.dependents layer format "Layer: %; nodes: %\n" layerName layerNodes ) |