Salome HOME
Fix for bug PAL12557(V3_2_0b2: SMESH documentation for scripts not up to date).
[modules/smesh.git] / doc / salome / gui / SMESH / grouping_elements.htm
index 173e22108bcb93052bedf0a92f2f3e08c557caf3..cab59599f3a9af95db3ff5c14d2f7905b1930e8f 100755 (executable)
@@ -7,23 +7,21 @@
 <meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
 <!--\r
-p.whs1 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
-p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-img_whs5 { border:none; width:430px; height:391px; float:none; border-style:none; }\r
-p.whs6 { margin-top:0pt; margin-bottom:0pt; color:#ff0000; font-weight:bold; }\r
-img_whs7 { border:none; float:none; width:463px; height:417px; border-style:none; }\r
-img_whs8 { border:none; width:541px; height:417px; float:none; border-style:none; }\r
-img_whs9 { border:none; width:394px; height:425px; float:none; border-style:none; }\r
-img_whs10 { border:none; float:none; width:368px; height:379px; border-style:none; }\r
-img_whs11 { border:none; float:none; width:344px; height:381px; border-style:none; }\r
-img_whs12 { border:none; width:314px; height:351px; float:none; border-style:none; }\r
-img_whs13 { border:none; float:none; width:319px; height:351px; border-style:none; }\r
-img_whs14 { border:none; float:none; width:304px; height:352px; border-style:none; }\r
-img_whs15 { border:none; width:318px; height:355px; float:none; border-style:none; }\r
-img_whs16 { border:none; float:none; width:318px; height:355px; border-style:none; }\r
-img_whs17 { border:none; float:none; width:320px; height:354px; border-style:none; }\r
+p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
+p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
+p.whs3 { margin-top:0pt; margin-bottom:0pt; }\r
+img_whs4 { border:none; width:430px; height:391px; float:none; border-style:none; }\r
+img_whs5 { border:none; float:none; width:463px; height:417px; border-style:none; }\r
+img_whs6 { border:none; width:541px; height:417px; float:none; border-style:none; }\r
+img_whs7 { border:none; width:394px; height:425px; float:none; border-style:none; }\r
+img_whs8 { border:none; float:none; width:368px; height:379px; border-style:none; }\r
+img_whs9 { border:none; float:none; width:344px; height:381px; border-style:none; }\r
+img_whs10 { border:none; width:314px; height:351px; float:none; border-style:none; }\r
+img_whs11 { border:none; float:none; width:319px; height:351px; border-style:none; }\r
+img_whs12 { border:none; float:none; width:304px; height:352px; border-style:none; }\r
+img_whs13 { border:none; width:318px; height:355px; float:none; border-style:none; }\r
+img_whs14 { border:none; float:none; width:318px; height:355px; border-style:none; }\r
+img_whs15 { border:none; float:none; width:320px; height:354px; border-style:none; }\r
 -->\r
 </style><script type="text/javascript" language="JavaScript">\r
 <!--\r
@@ -33,8 +31,6 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
   strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS +="</style>";\r
   document.write(strNSS);\r
 }\r
@@ -103,741 +99,558 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark>Create a Standalone Group</a></h3>\r
 \r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
+<p class="whs1">import SMESH_mechanic</p>\r
 \r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a standalone group. </p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
+<p class="whs1">smesh &nbsp;= \r
  SMESH_mechanic.smesh</p>\r
 \r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
  SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
+<p class="whs1">salome = SMESH_mechanic.salome</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Get ids of all faces \r
+<p class="whs2"># Get ids of all faces \r
  with area &gt; 100 </p>\r
 \r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor( \r
- aFunctor )</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 100.)</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin( \r
- 100 )</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate( \r
- aPredicate )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId( \r
- mesh )</p>\r
-\r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) \r
+ </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs2"># create a group consisting \r
+<p class="whs3"># create a group consisting \r
  of faces with area &gt; 100</p>\r
 \r
-<p class="whs3">aGroup = mesh.CreateGroup( \r
- SMESH.FACE, &quot;Area &gt; 100&quot; )</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aGroup.Add( anIds \r
- )</p>\r
+<p class="whs1">aGroup = mesh.MakeGroupByIds(&quot;Area \r
&gt; 100&quot;, smesh.FACE, anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
  </p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs2"><img src="pics/create_group.png" x-maintain-ratio="TRUE" width="430px" height="391px" border="0" class="img_whs5"></p>\r
+<p class="whs3"><img src="pics/create_group.png" x-maintain-ratio="TRUE" width="430px" height="391px" border="0" class="img_whs4"></p>\r
 \r
 <h3><a name=bookmark5>Create a Group on Geometry</a></h3>\r
 \r
-<p class="whs3">import salome</p>\r
+<p class="whs1">import salome</p>\r
 \r
-<p class="whs3">import geompy</p>\r
+<p class="whs1">import geompy</p>\r
 \r
-<p class="whs3">import smesh</p>\r
+<p class="whs1">import smesh</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a box</p>\r
+<p class="whs2"># create a box</p>\r
 \r
-<p class="whs3">box = geompy.MakeBox(0., \r
+<p class="whs1">box = geompy.MakeBox(0., \r
  0., 0., 100., 100., 100.)</p>\r
 \r
-<p class="whs3">geompy.addToStudy(box, \r
+<p class="whs1">geompy.addToStudy(box, \r
  &quot;box&quot;)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># add the first face \r
+<p class="whs2"># add the first face \r
  of the box to the study</p>\r
 \r
-<p class="whs3">subShapeList = geompy.SubShapeAll(box, \r
geompy.ShapeType[&quot;FACE&quot;])</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">subShapeList \r
= geompy.SubShapeAll(box, geompy.ShapeType[&quot;FACE&quot;])</span></p>\r
 \r
-<p class="whs3">face = subShapeList[0]</p>\r
+<p class="whs1">face = subShapeList[0]</p>\r
 \r
-<p class="whs3">geompy.addToStudyInFather(box, \r
- face, &quot;face 1&quot;)</p>\r
+<p class="whs1">geompy.addToStudyInFather(box, \r
+ face, &quot;face 1&quot;) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create group of edges \r
+<p class="whs2"># create group of edges \r
  on the face</p>\r
 \r
-<p class="whs3">aGeomGroupE = geompy.CreateGroup(face, \r
geompy.ShapeType[&quot;EDGE&quot;])</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGeomGroupE \r
= geompy.CreateGroup(face, geompy.ShapeType[&quot;EDGE&quot;])</span></p>\r
 \r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
+<p class="whs1">geompy.AddObject(aGeomGroupE, \r
  3)</p>\r
 \r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
+<p class="whs1">geompy.AddObject(aGeomGroupE, \r
  6)</p>\r
 \r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
+<p class="whs1">geompy.AddObject(aGeomGroupE, \r
  8)</p>\r
 \r
-<p class="whs3">geompy.AddObject(aGeomGroupE, \r
+<p class="whs1">geompy.AddObject(aGeomGroupE, \r
  10)</p>\r
 \r
-<p class="whs3">geompy.addToStudyInFather(face, \r
+<p class="whs1">geompy.addToStudyInFather(face, \r
  aGeomGroupE, &quot;Group of Edges&quot;)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create quadrangle \r
+<p class="whs2"># create quadrangle \r
  2D mesh on the box</p>\r
 \r
-<p class="whs3">quadra = smesh.Mesh(box, \r
&quot;Box : quadrangle 2D mesh&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">quadra \r
= smesh.Mesh(box, &quot;Box : quadrangle 2D mesh&quot;)</span></p>\r
 \r
-<p class="whs3">algo1D = quadra.Segment()</p>\r
+<p class="whs1">algo1D = quadra.Segment()</p>\r
 \r
-<p class="whs3">quadra.Quadrangle()</p>\r
+<p class="whs1">quadra.Quadrangle()</p>\r
 \r
-<p class="whs3">algo1D.NumberOfSegments(7)</p>\r
+<p class="whs1">algo1D.NumberOfSegments(7) \r
+ </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># compute the mesh</p>\r
+<p class="whs2"># compute the mesh</p>\r
 \r
-<p class="whs3">quadra.Compute()</p>\r
+<p class="whs1">quadra.Compute()</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create SMESH group \r
+<p class="whs2"># create SMESH group \r
  on the face with name &quot;SMESHGroup1&quot;</p>\r
 \r
-<p class="whs3">aSmeshGroup1 = quadra.Group(face, \r
&quot;SMESHGroup1&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aSmeshGroup1 \r
= quadra.GroupOnGeom(face, &quot;SMESHGroup1&quot;)</span></p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create SMESH group \r
+<p class="whs2"># create SMESH group \r
  on &lt;aGeomGroupE&gt; with default name</p>\r
 \r
-<p class="whs3">aSmeshGroup2 = quadra.Group(aGeomGroupE)</p>\r
+<p class="whs1">aSmeshGroup2 = quadra.GroupOnGeom(aGeomGroupE) \r
+ </p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
  </p>\r
 \r
 <h3><a name=bookmark1>Edit a Group</a></h3>\r
 \r
-<p class="whs6"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs6"># For the moment smesh package doesn't \r
- provide methods to edit a group. </p>\r
+<p class="whs1">import SMESH_mechanic</p>\r
 \r
-<p class="whs6"># In the next SALOME version the scripts \r
- will be updated to use only the commands from smesh package.</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
+<p class="whs1">smesh &nbsp;= \r
  SMESH_mechanic.smesh</p>\r
 \r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
  SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
+<p class="whs1">salome = SMESH_mechanic.salome</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Get ids of all faces \r
+<p class="whs2"># Get ids of all faces \r
  with area &gt; 35</p>\r
 \r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
-\r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 35.)</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(35.)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) \r
+ </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  Area &gt; 35, Nb = &quot;, len(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &gt; 35</p>\r
 \r
-<p class="whs3">aGroup = mesh.CreateGroup(SMESH.FACE, \r
&quot;Area &gt; 35&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup \r
= mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &gt; 35&quot;)</span></p>\r
 \r
-<p class="whs3">aGroup.Add(anIds)</p>\r
+<p class="whs1">aGroup.Add(anIds) \r
+ </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Get ids of all faces \r
+<p class="whs2"># Get ids of all faces \r
  with area &gt; 40</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 40.)</p>\r
 \r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(40.)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &gt; 40, Nb = &quot;, len(anIds) </p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 40, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group of \r
+<p class="whs2"># create a group of \r
  elements with area [35; 40] by removing elements with area &gt; 40 from \r
  group aGroup</p>\r
 \r
-<p class="whs3">aGroup.Remove(anIds)</p>\r
+<p class="whs1">aGroup.Remove(anIds) \r
+ </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># print the result</p>\r
+<p class="whs2"># print the result</p>\r
 \r
-<p class="whs3">aGroupElemIDs = \r
+<p class="whs1">aGroupElemIDs = \r
  aGroup.GetListOfID()</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">print &quot;Criterion: \r
  35 &lt; Area &lt; 40, Nb = &quot;, len(aGroupElemIDs)</p>\r
 \r
-<p class="whs3">j = 1</p>\r
+<p class="whs1">j = 1</p>\r
 \r
-<p class="whs3">for i in range(len(aGroupElemIDs)):</p>\r
+<p class="whs1">for i in range(len(aGroupElemIDs)):</p>\r
 \r
-<p class="whs3">&nbsp;&nbsp;if \r
+<p class="whs1">&nbsp;&nbsp;if \r
  j &gt; 20: j = 1; print &quot;&quot;</p>\r
 \r
-<p class="whs3">&nbsp;&nbsp;print \r
+<p class="whs1">&nbsp;&nbsp;print \r
  aGroupElemIDs[i],</p>\r
 \r
-<p class="whs3">&nbsp;&nbsp;j \r
+<p class="whs1">&nbsp;&nbsp;j \r
  = j + 1</p>\r
 \r
-<p class="whs3">&nbsp;&nbsp;pass</p>\r
+<p class="whs1">&nbsp;&nbsp;pass</p>\r
 \r
-<p class="whs3">print &quot;&quot;</p>\r
+<p class="whs1">print &quot;&quot;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
+<p class="whs1">salome.sg.updateObjBrowser(1) \r
  </p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs2"><img src="pics/editing_groups1.png" x-maintain-ratio="TRUE" width="463px" height="417px" border="0" class="img_whs7"> &nbsp;<img src="pics/editing_groups2.png" x-maintain-ratio="TRUE" width="541px" height="417px" border="0" class="img_whs8"></p>\r
+<p class="whs3"><img src="pics/editing_groups1.png" x-maintain-ratio="TRUE" width="463px" height="417px" border="0" class="img_whs5"> &nbsp;<img src="pics/editing_groups2.png" x-maintain-ratio="TRUE" width="541px" height="417px" border="0" class="img_whs6"></p>\r
 \r
 <h3><a name=bookmark2>Union of two groups</a></h3>\r
 \r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a union of two groups. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
- SMESH</span></p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
+<p class="whs1">import SMESH_mechanic</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">smesh &nbsp;= \r
+<p class="whs1">smesh &nbsp;= \r
  SMESH_mechanic.smesh</p>\r
 \r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
  SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
+<p class="whs1">salome = SMESH_mechanic.salome</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &gt; 20</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>\r
 \r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &gt; 20, Nb = &quot;, len( anIds ) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len( anIds )</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &gt; 20</p>\r
 \r
-<p class="whs3">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
+<p class="whs1">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
  &quot;Area &gt; 20&quot;)</p>\r
 \r
-<p class="whs3">aGroup1.Add(anIds)</p>\r
+<p class="whs1">aGroup1.Add(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  = 20</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateEqualTo()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter \r
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_EqualTo, 20.)</span></p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
- Area = 20, Nb = &quot;, len( anIds )</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area = 20, Nb = &quot;, len( anIds ) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area = 20</p>\r
 \r
-<p class="whs3">aGroup2 = mesh.CreateGroup( \r
SMESH.FACE, &quot;Area = 20&quot; )</p>\r
+<p class="whs1">aGroup2 = mesh.CreateEmptyGroup( \r
smesh.FACE, &quot;Area = 20&quot; )</p>\r
 \r
-<p class="whs3">aGroup2.Add(anIds)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">aGroup2.Add(anIds)</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create union group \r
+<p class="whs2"># create union group \r
  : area &gt;= 20</p>\r
 \r
-<p class="whs3">aGroup3 = mesh.UnionGroups(aGroup1, \r
aGroup2, &quot;Area &gt;= 20&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 \r
= mesh.UnionGroups(aGroup1, aGroup2, &quot;Area &gt;= 20&quot;)</span></p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  Area &gt;= 20, Nb = &quot;, len(aGroup3.GetListOfID())</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &lt; 20</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter \r
+ = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 20.)</span></p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  Area &lt; 20, Nb = &quot;, len(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &lt; 20</p>\r
 \r
-<p class="whs3">aGroup4 = mesh.CreateGroup(SMESH.FACE, \r
&quot;Area &lt; 20&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup4 \r
= mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &lt; 20&quot;)</span></p>\r
 \r
-<p class="whs3">aGroup4.Add(anIds)</p>\r
+<p class="whs1">aGroup4.Add(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create union group \r
+<p class="whs2"># create union group \r
  : area &gt;= 20 and area &lt; 20</p>\r
 \r
-<p class="whs3">aGroup5 = mesh.UnionGroups(aGroup3, \r
aGroup4, &quot;Any Area&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup5 \r
= mesh.UnionGroups(aGroup3, aGroup4, &quot;Any Area&quot;)</span></p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  Any Area, Nb = &quot;, len(aGroup5.GetListOfID())</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
+<p class="whs1">salome.sg.updateObjBrowser(1) \r
  </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3"><img src="pics/union_groups1.png" x-maintain-ratio="TRUE" width="394px" height="425px" border="0" class="img_whs9"></p>\r
+<p class="whs1"><img src="pics/union_groups1.png" x-maintain-ratio="TRUE" width="394px" height="425px" border="0" class="img_whs7"></p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3"><img src="pics/union_groups2.png" x-maintain-ratio="TRUE" width="368px" height="379px" border="0" class="img_whs10"> <img src="pics/union_groups3.png" x-maintain-ratio="TRUE" width="344px" height="381px" border="0" class="img_whs11"></p>\r
+<p class="whs1"><img src="pics/union_groups2.png" x-maintain-ratio="TRUE" width="368px" height="379px" border="0" class="img_whs8"> <img src="pics/union_groups3.png" x-maintain-ratio="TRUE" width="344px" height="381px" border="0" class="img_whs9"></p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
 <h3><a name=bookmark3>Intersection of two groups</a></h3>\r
 \r
-<p class="whs6"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
-\r
-<p class="whs6"># For the moment smesh package doesn't \r
- provide methods to create an intersection of two groups. </p>\r
-\r
-<p class="whs6"># In the next SALOME version the scripts \r
- will be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
+<p class="whs1">import SMESH_mechanic</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">smesh &nbsp;= \r
+<p class="whs1">smesh &nbsp;= \r
  SMESH_mechanic.smesh</p>\r
 \r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
  SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
+<p class="whs1">salome = SMESH_mechanic.salome</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &gt; 20</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>\r
 \r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &gt; 20, Nb = &quot;, len(anIds) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &gt; 20</p>\r
 \r
-<p class="whs3">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
+<p class="whs1">aGroup1 = mesh.CreateGroup(SMESH.FACE, \r
  &quot;Area &gt; 20&quot;)</p>\r
 \r
-<p class="whs3">aGroup1.Add(anIds)</p>\r
+<p class="whs1">aGroup1.Add(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &lt; 60</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(60)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_LessThan, 60.)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
- Area &lt; 60, Nb = &quot;, len(anIds)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &lt; 60, Nb = &quot;, len(anIds) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &lt; 60</p>\r
 \r
-<p class="whs3">aGroup2 = mesh.CreateGroup(SMESH.FACE, \r
+<p class="whs1">aGroup2 = mesh.CreateGroup(SMESH.FACE, \r
  &quot;Area &lt; 60&quot;)</p>\r
 \r
-<p class="whs3">aGroup2.Add(anIds)</p>\r
+<p class="whs1">aGroup2.Add(anIds)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create an intersection \r
+<p class="whs2"># create an intersection \r
  of groups : 20 &lt; area &lt; 60</p>\r
 \r
-<p class="whs3">aGroup3 = mesh.IntersectGroups(aGroup1, \r
aGroup2, &quot;20 &lt; Area &lt; 60&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 \r
= mesh.IntersectGroups(aGroup1, aGroup2, &quot;20 &lt; Area &lt; 60&quot;)</span></p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  20 &lt; Area &lt; 60, Nb = &quot;, len(aGroup3.GetListOfID())</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
+<p class="whs1">salome.sg.updateObjBrowser(1) \r
  </p>\r
 \r
-<p class="whs2">&nbsp;</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs2"><img src="pics/intersect_groups1.png" x-maintain-ratio="TRUE" width="314px" height="351px" border="0" class="img_whs12"> &nbsp;<img src="pics/intersect_groups2.png" x-maintain-ratio="TRUE" width="319px" height="351px" border="0" class="img_whs13"> &nbsp;<img src="pics/intersect_groups3.png" x-maintain-ratio="TRUE" width="304px" height="352px" border="0" class="img_whs14"></p>\r
+<p class="whs3"><img src="pics/intersect_groups1.png" x-maintain-ratio="TRUE" width="314px" height="351px" border="0" class="img_whs10"> &nbsp;<img src="pics/intersect_groups2.png" x-maintain-ratio="TRUE" width="319px" height="351px" border="0" class="img_whs11"> &nbsp;<img src="pics/intersect_groups3.png" x-maintain-ratio="TRUE" width="304px" height="352px" border="0" class="img_whs12"></p>\r
 \r
 <h3><a name=bookmark4>Cut of two groups</a></h3>\r
 \r
-<p class="whs1"># Attention! This script has been written \r
- using the old approach basing on direct usage of SMESH idl interface.</p>\r
+<p class="whs1">import SMESH_mechanic</p>\r
 \r
-<p class="whs1"># For the moment smesh package doesn't provide \r
- methods to create a cut of two groups. </p>\r
-\r
-<p class="whs1"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">import SMESH</p>\r
-\r
-<p class="whs3">import SMESH_mechanic</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">smesh &nbsp;= \r
+<p class="whs1">smesh &nbsp;= \r
  SMESH_mechanic.smesh</p>\r
 \r
-<p class="whs3">mesh &nbsp;&nbsp;= \r
+<p class="whs1">mesh &nbsp;&nbsp;= \r
  SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs3">salome = SMESH_mechanic.salome</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">salome = SMESH_mechanic.salome</p>\r
 \r
-<p class="whs3">aFilterMgr = smesh.CreateFilterManager()</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &gt; 20</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateMoreThan()</p>\r
-\r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
-\r
-<p class="whs3">aPredicate.SetMargin(20.)</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
-\r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
- Area &gt; 20, Nb = &quot;, len(anIds)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &gt; 20, Nb = &quot;, len(anIds) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &gt; 20</p>\r
 \r
-<p class="whs3">aGroupMain = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &gt; 20&quot;)</p>\r
-\r
-<p class="whs3">aGroupMain.Add(anIds)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupMain \r
+ = mesh.MakeGroupByIds(&quot;Area &gt; 20&quot;, smesh.FACE, anIds)</span></p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># Criterion : AREA \r
+<p class="whs2"># Criterion : AREA \r
  &lt; 60</p>\r
 \r
-<p class="whs3">aFunctor = aFilterMgr.CreateArea()</p>\r
-\r
-<p class="whs3">aPredicate = aFilterMgr.CreateLessThan()</p>\r
+<p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, \r
+ smesh.FT_Area, smesh.FT_LessThan, 60.)</p>\r
 \r
-<p class="whs3">aPredicate.SetNumFunctor(aFunctor)</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aPredicate.SetMargin(60.)</p>\r
+<p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">aFilter = aFilterMgr.CreateFilter()</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">aFilter.SetPredicate(aPredicate)</p>\r
+<p class="whs1">print &quot;Criterion: \r
+ Area &lt; 60, Nb = &quot;, len(anIds) </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs3">anIds = aFilter.GetElementsId(mesh)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs3">print &quot;Criterion: \r
- Area &lt; 60, Nb = &quot;, len(anIds)</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
-<p class="whs4"># create a group by \r
+<p class="whs2"># create a group by \r
  adding elements with area &lt; 60</p>\r
 \r
-<p class="whs3">aGroupTool = mesh.CreateGroup(SMESH.FACE, \r
- &quot;Area &lt; 60&quot;)</p>\r
-\r
-<p class="whs3">aGroupTool.Add(anIds)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupTool \r
+ = mesh.MakeGroupByIds(&quot;Area &lt; 60&quot;, smesh.FACE, anIds)</span></p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs4"># create a cut of groups \r
+<p class="whs2"># create a cut of groups \r
  : area &gt;= 60</p>\r
 \r
-<p class="whs3">aGroupRes = mesh.CutGroups(aGroupMain, \r
aGroupTool, &quot;Area &gt;= 60&quot;)</p>\r
+<p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupRes \r
= mesh.CutGroups(aGroupMain, aGroupTool, &quot;Area &gt;= 60&quot;)</span></p>\r
 \r
-<p class="whs3">print &quot;Criterion: \r
+<p class="whs1">print &quot;Criterion: \r
  Area &gt;= 60, Nb = &quot;, len(aGroupRes.GetListOfID())</p>\r
 \r
-<p class="whs3">salome.sg.updateObjBrowser(1) \r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1">salome.sg.updateObjBrowser(1) \r
  </p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs2"><img src="pics/cut_groups1.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs15"> &nbsp;<img src="pics/cut_groups2.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs16"> &nbsp;<img src="pics/cut_groups3.png" x-maintain-ratio="TRUE" width="320px" height="354px" border="0" class="img_whs17"></p>\r
+<p class="whs3"><img src="pics/cut_groups1.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs13"> &nbsp;<img src="pics/cut_groups2.png" x-maintain-ratio="TRUE" width="318px" height="355px" border="0" class="img_whs14"> &nbsp;<img src="pics/cut_groups3.png" x-maintain-ratio="TRUE" width="320px" height="354px" border="0" class="img_whs15"></p>\r
 \r
 <script type="text/javascript" language="javascript1.2">\r
 <!--\r