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
Forum topic · General Scripting
scene explorer in max 2015 : how can I make current the root layer of a selected object ? (argghh my english)
By titane357 · 2014-10-29
Description
Comments (4)
titane357 · 2014-10-30
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 · 2014-10-30
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 · 2014-10-31
so cleaver, so simple.... thanks :-)
.
miauu · 2014-10-29
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