smesh/doc/salome/examples/grouping_elements_ex01.py
eap 373690534a Minor DOC changes
+ Fix compilation warning "variable may be used uninitialized"
2016-05-24 20:37:08 +03:00

81 lines
2.1 KiB
Python

# Create a Standalone Group
import SMESH_mechanic
import SMESH
smesh = SMESH_mechanic.smesh
mesh = SMESH_mechanic.mesh
salome = SMESH_mechanic.salome
# Get ids of all faces with area > 100
aFilter = smesh.GetFilter(SMESH.FACE, SMESH.FT_Area, SMESH.FT_MoreThan, 100.)
anIds = mesh.GetIdsFromFilter(aFilter)
# create a group consisting of faces with area > 100
aGroup1 = mesh.MakeGroupByIds("Area > 100", SMESH.FACE, anIds)
# create a group that contains all nodes from the mesh
aGroup2 = mesh.CreateEmptyGroup(SMESH.NODE, "all nodes")
aGroup2.AddFrom(mesh.mesh)
# ====================================
# Various methods of the Group object
# ====================================
aGroup = mesh.CreateEmptyGroup(SMESH.NODE, "aGroup")
# set/get group name
aGroup.SetName( "new name" )
print "name", aGroup.GetName()
# get group type (type of entities in the group, SMESH.NODE in our case)
print "type", aGroup.GetType()
# get number of entities (nodes in our case) in the group
print "size", aGroup.Size()
# check of emptiness
print "is empty", aGroup.IsEmpty()
# check of presence of an entity in the group
aGroup.Add([1,2]) # Add() method is specific to the standalone group
print "contains node 2", aGroup.Contains(2)
# get an entity by index
print "1st node", aGroup.GetID(1)
# get all entities
print "all", aGroup.GetIDs()
# get number of nodes (actual for groups of elements)
print "nb nodes", aGroup.GetNumberOfNodes()
# get underlying nodes (actual for groups of elements)
print "nodes", aGroup.GetNodeIDs()
# set/get color
import SALOMEDS
aGroup.SetColor( SALOMEDS.Color(1.,1.,0.));
print "color", aGroup.GetColor()
# ----------------------------------------------------------------------------
# methods specific to the standalone group and not present in GroupOnGeometry
# and GroupOnFilter
# ----------------------------------------------------------------------------
# clear the group's contents
aGroup.Clear()
# add contents of other object (group, sub-mesh, filter)
aGroup.AddFrom( aGroup2 )
# removes entities
aGroup.Remove( [2,3,4] )
salome.sg.updateObjBrowser(1)