Using SALOME GUI python interface

The extended salome.py Python module provides sg variable, which gives access to some GUI functions.

Note, that this variable is not available if you use salome.py Python module outside of the GUI desktop, i.e. without the embedded Python console (since SWIG library is linked directly to the GUI library).

The example of usage:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
     # update Object browser contents
     salome.sg.updateObjBrowser(True)

     # get the active study ID
     studyId = salome.sg.getActiveStudyId()

     # get the active study name
     studyName = salome.sg.getActiveStudyName()

     # get the selected objects
     selCount = salome.sg.SelectedCount() # the number of selected items
     for i in range(selCount):
         print salome.sg.getSelected(i) # print the entry ID of i-th selected item
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
     # get the list of IDs of all selected objects
     selected = salome.sg.getAllSelected()

     # add an object to the selection
     salome.sg.AddIObject("0:1:1:1") # "0:1:1:1" is an object ID

     # remove an object from the selection (make it unselected)
     salome.sg.RemoveIObject("0:1:1:1") # "0:1:1:1" is an object ID

     # clear the selection (set all objects unselected)
     salome.sg.ClearIObjects()

     # display an object in the current view (if possible)
     salome.sg.Display("0:1:1:1") # "0:1:1:1" is an object ID
     salome.sg.UpdateView() # update view

     # erase an object from the current view
     salome.sg.Erase("0:1:1:1") # "0:1:1:1" is an object ID
     salome.sg.UpdateView() # update view

     # display all objects in the current view (if possible)
     salome.sg.DisplayAll()
     salome.sg.UpdateView() # update view

     # erase all objects from the current view
     salome.sg.EraseAll()
     salome.sg.UpdateView() # update view

     # set top, bottom, front, rear, left, right view
     salome.sg.ViewTop() # top view
     salome.sg.ViewBottom() # bottom view
     salome.sg.ViewFront() # front view
     salome.sg.ViewTop() #  back view
     salome.sg.ViewLeft() # left view
     salome.sg.ViewRight() # right view

     # reset the current view
     salome.sg.ResetView()

     # get the component symbolic name by its user name
     compName = salome.sg.getComponentName("Geometry") # compoName = "GEOM"

     # get the component user name by its symbolic name
     compName = salome.sg.getComponentUserName("SMESH") # compoName = "Mesh"

     # ...