How to access RenderView name in pvpython

Hi all,

using pvpython, how do you access the custom name given to a view, e.g. a RenderView.

image

In the shown snapshot, the layout was manually renamed to “MyLayout” and the view was renamed to “MyView”. With the following script, I would like to access the view name, here “MyView”.

from paraview.simple import *

layouts = GetLayouts()
for i,l in enumerate(layouts):
    print("Layout name:", l[0]) # This prints "MyLayout"
    views = GetViewsInLayout(layouts[l])
    for j,v in enumerate(views):
        print("View name:", v.SMProxy.GetName()) # I want this to print "MyView"

This fails as there is no method GetName(), but using GetLogName() only returns “RenderView1”, etc. Is there a way to access the name shown in the GUI similar to the layout name?

Thank you in advance!

Regards,
mckel

Based on this discussion, the following code using servermanager.ProxyManager().GetProxyName(...) function can be used:

from paraview.simple import *

layouts = GetLayouts()
for i,l in enumerate(layouts):
    print("Layout name:", l[0]) # This prints "MyLayout"
    views = GetViewsInLayout(layouts[l])
    for j,v in enumerate(views):
        print("View name:", servermanager.ProxyManager().GetProxyName(v.SMProxy.GetXMLGroup(),v)) # This prints "MyView"
1 Like