sceneview

view_pane()

Returns the scene viewer pane.

view_sets()

Returns display sets (SceneObject, DisplayModel, GhostObject).

frame_selected ()

Frames selected objects (or points, polys, ...).
My global hotkey: Z

frame_all ()

Frames all objects.
My global hotkey: Shift-Z

toggle_points ()

Toggle Points.
My global hotkey: Alt-W

toggle_pointnumbers ()

Toggle Point Numbers.
My global hotkey: Alt-Shift-W

toggle_primnumbers ()

Toggle Primitive Numbers.
My global hotkey: Alt-N

toggle_trails ()

Toggle Point Trails.
I use the "v" visualiser instead.

toggle_ghostother ()

Same as the original Y hotkey, but this can have global hotkey.
My global hotkey: Y

toggle_objectselection ()

Toggles this: Draw selected objects with a highlighted wireframe. If you turn this off, selected objects will look exactly the same as unselected objects.
My global hotkey: Alt-O

toggle_constructionplane ()

My global hotkey: Alt-C

toggle_wireframe ()

I scripted this just to have a global hotkey.
My global hotkey: W

toggle_wireover ()

I scripted this just to have a global hotkey.
My global hotkey: Shift-W

toggle_visualizer_point_vector (vis_attrib, r,g,b)

Creates a visualizer.

toggle_velocities ()

Creates a visualizer for the @v velocity vector attrib.
My global hotkey: Alt-V

toggle_ups ()

Creates a visualizer for the @up vector attrib.
My global hotkey: Alt-U

toggle_normals ()

Creates a visualizer for the @N normal attrib.
My global hotkey: Alt-N

source code

the following code is maintained also on my github
thank you, great people, I couldn't do this without you.

import hou
import wf_selection
reload(wf_selection)



def view_sets() :
    pane = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    settings = pane.curViewport().settings()
    # SceneObject  (visible when in top level "/obj")
    # DisplayModel (visible when inside /obj/...)
    set_scen = settings.displaySet(hou.displaySetType.SceneObject)
    set_disp = settings.displaySet(hou.displaySetType.DisplayModel)
    set_ghos = settings.displaySet(hou.displaySetType.GhostObject)
    return set_scen, set_disp, set_ghos


def frame_selected () :
    pane = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    pane.curViewport().frameSelected()


def frame_all () :
    pane = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    pane.curViewport().frameAll()


def toggle_points () :
    set_scen, set_disp, set_ghos = view_sets()
    # toggle
    set_disp.showPointMarkers(not set_disp.isShowingPointMarkers())
    set_scen.showPointMarkers(set_disp.isShowingPointMarkers())


def toggle_pointnumbers () :
    set_scen, set_disp, set_ghos = view_sets()
    # toggle
    set_disp.showPointNumbers(not set_disp.isShowingPointNumbers())
    set_scen.showPointNumbers(set_disp.isShowingPointNumbers())


def toggle_primnumbers () :
    set_scen, set_disp, set_ghos = view_sets()
    # toggle
    set_disp.showPrimNumbers(not set_disp.isShowingPrimNumbers())
    set_scen.showPrimNumbers(set_disp.isShowingPrimNumbers())    


def toggle_trails () :
    set_scen, set_disp, set_ghos = view_sets()
    # toggle
    set_disp.showPointTrails(not set_disp.isShowingPointTrails())
    set_scen.showPointTrails(set_disp.isShowingPointTrails())


def toggle_ghostother () :
    view_ghost = hou.getenv("view_ghost", "2")
    if view_ghost == "0": view_ghost = "2"
    else:            view_ghost = "0"
    hou.putenv("view_ghost", view_ghost)

    #script = "vieweroption -a " + view_ghost + " %s`run('viewls -n')`"
    script = "vieweroption -a " + view_ghost + " `run('viewls -n')`"
    #print script
    hou.hscript(script)
    

def toggle_objectselection () :
    panes = hou.ui.currentPaneTabs()
    for pane in panes:
        if pane.type().name() == 'SceneViewer':
            guide = hou.viewportGuide.ObjectSelection
            val = pane.curViewport().settings().guideEnabled(guide)
            pane.curViewport().settings().enableGuide(guide, not val)
            # just a test:
            # pane.curViewport().settings().setVisibleObjects("name*")


def toggle_constructionplane () :
    pane = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    cplane = pane.constructionPlane()
    cplane.setIsVisible(not cplane.isVisible()) 


def toggle_grid () :
    pane = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    settings = pane.curViewport().settings()
    settings.setDisplayOrthoGrid(not settings.displayOrthoGrid())

def toggle_wireframe () :
    set_scen, set_disp, set_ghos = view_sets()
    view_wire = hou.getenv("view_wire", "0")

    # toggle
    if set_disp.shadedMode() != hou.glShadingType.WireGhost:
        set_disp.setShadedMode(hou.glShadingType.WireGhost)
        set_scen.setShadedMode(hou.glShadingType.WireGhost)
        set_ghos.setShadedMode(hou.glShadingType.WireGhost)

    elif set_disp.shadedMode() == hou.glShadingType.WireGhost and view_wire == "0":
        set_disp.setShadedMode(hou.glShadingType.Smooth)
        set_scen.setShadedMode(hou.glShadingType.Smooth)
        set_ghos.setShadedMode(hou.glShadingType.Smooth)

    elif set_disp.shadedMode() == hou.glShadingType.WireGhost and view_wire == "1":
        set_disp.setShadedMode(hou.glShadingType.SmoothWire)
        set_scen.setShadedMode(hou.glShadingType.SmoothWire)
        set_ghos.setShadedMode(hou.glShadingType.SmoothWire)


def toggle_wireover () :
    set_scen, set_disp, set_ghos = view_sets()
    view_wire = hou.getenv("view_wire", "0")
    if view_wire == "0": view_wire = "1"
    else:            view_wire = "0"
    hou.putenv("view_wire", view_wire)

    if set_disp.shadedMode() == hou.glShadingType.SmoothWire and view_wire == "0":
        set_disp.setShadedMode(hou.glShadingType.Smooth)
        set_scen.setShadedMode(hou.glShadingType.Smooth)
        set_ghos.setShadedMode(hou.glShadingType.Smooth)

    if set_disp.shadedMode() == hou.glShadingType.Smooth and view_wire == "1":
        set_disp.setShadedMode(hou.glShadingType.SmoothWire)
        set_scen.setShadedMode(hou.glShadingType.SmoothWire)
        set_ghos.setShadedMode(hou.glShadingType.SmoothWire)


def toggle_visualizer_point_vector (vis_attrib, r,g,b) :
    pane           = wf_selection.pane_linkGroup( hou.paneTabType.SceneViewer )
    cur_viewport   = pane.curViewport()
    existed        = False
    visualizer_list = hou.viewportVisualizers.visualizers(category=hou.viewportVisualizerCategory.Scene)
    for visualizer in visualizer_list :
        if visualizer.name() == vis_attrib :
            visualizer_obj = visualizer
            existed = True

    if not existed :
        vis_type       = hou.viewportVisualizers.types()[0] # vis_types:   0=vis_marker   1=vis_color   2=vis_generic   3=vis_volume   4=vis_tag   5=vis_constraints   6=vis_captureweight  
        vis_category   = hou.viewportVisualizerCategory.Scene
        visualizer_obj = hou.viewportVisualizers.createVisualizer(vis_type, vis_category)
        visualizer_obj.setName(vis_attrib)
        visualizer_obj.setLabel(vis_attrib)
        visualizer_obj.setParm("attrib",vis_attrib)
        visualizer_obj.setParm("style",4) # vis_styles:  0=text   4=vector
        visualizer_obj.setParm("class",1) # vis_classes: 0=vertex   1=point   2=prim
        visualizer_obj.setParm("lengthscale",0.2)
        visualizer_obj.setParm("markercolorr",r)
        visualizer_obj.setParm("markercolorg",g)
        visualizer_obj.setParm("markercolorb",b)

    active = visualizer_obj.isActive(viewport=cur_viewport)
    visualizer_obj.setIsActive(not active, viewport=cur_viewport)
    message = "visualise " + str(vis_attrib) + " : " + str(not active)
    hou.ui.setStatusMessage(message)
    # hou.ui.triggerUpdate()


def toggle_velocities () :
    vis_attrib = "v"
    r          = 0.5
    g          = 0.5
    b          = 1
    toggle_visualizer_point_vector (vis_attrib, r,g,b)


def toggle_ups () :
    vis_attrib = "up"
    r          = 0
    g          = 1
    b          = 0
    toggle_visualizer_point_vector (vis_attrib, r,g,b)


def toggle_normals () :
    vis_attrib = "N"
    r          = 0
    g          = 0
    b          = 1
    toggle_visualizer_point_vector (vis_attrib, r,g,b)