scene explorer in max 2015 : how can I make current the root layer of a selected object ? (argghh my english)

Hello
In max 2015 we have nested layers, cool.
But when I select an object in the scene, I know in which layer it is, but not the name of the parent layer, and its parent, etc..
I would like to make current, the parent layer of a nested layer.
I saw getparent(), but I don't know how to use it...
If somebody can help ?? Thanks

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
titane357's picture

perfect, as always !!!!

perfect, as always !!!! Thanks !!!

Is there a way to update scene explorer window ?
Because I need to clic in the window or viewport to update and see the active current layer...

miauu's picture

.

I don't have time to dig in the maxscript reference, so you can use this:

(
-- curObjLayerName = layerManager.getLayerFromName ($.layer.name)
curObjLayer = ($.layer)
-- parentLayer = curObjLayer.getParent()
-- parentLayerName = parentLayer.name
-- parentLayer.getParent()
 
while curObjLayer.getParent() != undefined do curObjLayer = curObjLayer.getParent()
curObjLayer.name
-- set as current layer. Update the Layer Manager to see wht changes
curObjLayer.current = true
 
	if LayerManager.isDialogOpen() do
	(
		p = point()
		delete p
	)
)
titane357's picture

so cleaver, so simple....

so cleaver, so simple.... thanks :-)

miauu's picture

.

Use this:

-- curObjLayerName = layerManager.getLayerFromName ($.layer.name)
curObjLayer = ($.layer)
-- parentLayer = curObjLayer.getParent()
-- parentLayerName = parentLayer.name
-- parentLayer.getParent()
 
while curObjLayer.getParent() != undefined do curObjLayer = curObjLayer.getParent()
curObjLayer.name
-- set as current layer. Update the Layer Manager to see wht changes
curObjLayer.current = true

Commented lines are for testing purpose

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.