X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Fquality_controls.htm;h=b1dc4c472081d10f9adaef3fc8906c7b688ed0a3;hb=1366d8ffbaae7bad8dfc95a31d34967e24f371fa;hp=9b7239010b58653a77c25cfe8b0c5202ce6868e4;hpb=6a3292e0719908b1e6ba7d3994fb314fa9fba71b;p=modules%2Fsmesh.git diff --git a/doc/salome/gui/SMESH/quality_controls.htm b/doc/salome/gui/SMESH/quality_controls.htm index 9b7239010..b1dc4c472 100755 --- a/doc/salome/gui/SMESH/quality_controls.htm +++ b/doc/salome/gui/SMESH/quality_controls.htm @@ -41,43 +41,48 @@ onerror = null; - - + +

Quality Controls

Free Borders

@@ -574,13 +579,11 @@ else

aFilterMgr = smesh.CreateFilterManager()

-

 

+

 

# Criterion : AREA > 30

-

 

-

aFunctor = aFilterMgr.CreateArea()

aPredicate = aFilterMgr.CreateMoreThan()

@@ -589,7 +592,7 @@ else aFunctor )

aPredicate.SetMargin( - 30 )

+ 95 )

 

@@ -609,44 +612,58 @@ else

 

-

# Criterion : FREE EDGES

+

# Criterion : Free Edges

 

aPredicate = aFilterMgr.CreateFreeEdges()

-

aFilter = aFilterMgr.CreateFilter()

+

aPredicate.SetMesh( + mesh )

-

aFilter.SetPredicate( - aPredicate )

+

aBorders = aPredicate.GetBorders()

-

 

+

 

-

anIds = aFilter.GetElementsId( - mesh )

+

# create groups

+ +

aGroupF = mesh.CreateGroup( + SMESH.FACE, "Faces with free edges" )

+ +

aGroupN = mesh.CreateGroup( + SMESH.NODE, "Nodes on free edges" )

 

-

# print the result

+

# fill groups with elements, + corresponding to the criterion

+ +

print ""

print "Criterion: - Free edges Nb = ", len( anIds )

+ Free edges Nb = ", len( aBorders )

for i in range( - len( anIds ) ):

+ len( aBorders ) ):

+ +

  aBorder + = aBorders[ i ]

  print - anIds[ i ]

+ "Face # ", aBorder.myElemId, " : Edge between nodes (",

-

 

+

  print + aBorder.myPnt1, ", ", aBorder.myPnt2, ")"

-

# create a group

+

  

-

aGroup = mesh.CreateGroup( - SMESH.EDGE, "Free edges" )

+

  aGroupF.Add( + [aBorder.myElemId] )

-

aGroup.Add( anIds - )

+

  aGroupN.Add( + [aBorder.myPnt1, aBorder.myPnt2] )

+ +

 

salome.sg.updateObjBrowser(1)

@@ -1523,6 +1540,87 @@ else

 

+

salome.sg.updateObjBrowser(1) +

+ +

 

+ +

Volume

+ +

import SMESH

+ +

import SMESH_mechanic_tetra

+ +

 

+ +

smesh  = + SMESH_mechanic_tetra.smesh

+ +

mesh   = + SMESH_mechanic_tetra.mesh

+ +

salome = SMESH_mechanic_tetra.salome

+ +

 

+ +

aFilterMgr = smesh.CreateFilterManager()

+ +

 

+ +

# Criterion : VOLUME < + 7

+ +

 

+ +

aFunctor = aFilterMgr.CreateVolume3D()

+ +

aPredicate = aFilterMgr.CreateLessThan()

+ +

aPredicate.SetNumFunctor( + aFunctor )

+ +

aPredicate.SetMargin( + 7 )

+ +

 

+ +

aFilter = aFilterMgr.CreateFilter()

+ +

aFilter.SetPredicate( + aPredicate )

+ +

 

+ +

anIds = aFilter.GetElementsId( + mesh )

+ +

 

+ +

# print the result

+ +

print ""

+ +

print "Criterion: + Volume < 7 Nb = ", len( anIds )

+ +

for i in range( + len( anIds ) ):

+ +

  print + anIds[ i ]

+ +

 

+ +

# create a group

+ +

aGroup = mesh.CreateGroup( + SMESH.VOLUME, "Volume < 7" )

+ +

aGroup.Add( anIds + )

+ +

 

+

salome.sg.updateObjBrowser(1)