mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-03-02 01:15:36 +05:00
More examples of filter usage
This commit is contained in:
parent
f8786abe9c
commit
273e825aa2
@ -2,7 +2,27 @@
|
||||
|
||||
# create mesh
|
||||
from SMESH_mechanic import *
|
||||
# get faces with aspect ratio > 6.5
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 6.5)
|
||||
|
||||
# get faces with aspect ratio > 1.5
|
||||
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 1.5)
|
||||
ids = mesh.GetIdsFromFilter(filter)
|
||||
print "Number of faces with aspect ratio > 6.5:", len(ids)
|
||||
print "Number of faces with aspect ratio > 1.5:", len(ids)
|
||||
|
||||
# copy the faces with aspect ratio > 1.5 to another mesh;
|
||||
# this demostrates that a filter can be used where usually a group or submesh is acceptable
|
||||
filter.SetMesh( mesh.GetMesh() )
|
||||
mesh2 = smesh.CopyMesh( filter, "AR > 1.5" )
|
||||
print "Number of copied faces with aspect ratio > 1.5:", mesh2.NbFaces()
|
||||
|
||||
# create a Group of faces with Aspect Ratio < 1.5
|
||||
group = mesh.MakeGroup("AR < 1.5", SMESH.FACE, SMESH.FT_AspectRatio, '<', 1.5)
|
||||
print "Number of faces with aspect ratio < 1.5:", group.Size()
|
||||
|
||||
# combine several criteria to Create a Group of only Triangular faces with Aspect Ratio < 1.5;
|
||||
# note that contents of a GroupOnFilter is dynamically updated as the mesh changes
|
||||
crit = [ smesh.GetCriterion( SMESH.FACE, SMESH.FT_AspectRatio, '<', 1.5, BinaryOp=SMESH.FT_LogicalAND ),
|
||||
smesh.GetCriterion( SMESH.FACE, SMESH.FT_ElemGeomType,'=', SMESH.Geom_TRIANGLE ) ]
|
||||
filter = smesh.GetFilterFromCriteria( crit )
|
||||
triaGroup = mesh.GroupOnFilter( SMESH.FACE, "Tria AR < 1.5", filter )
|
||||
print "Number of triangles with aspect ratio < 1.5:", triaGroup.Size()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user