Salome HOME
Merging with WPdev
[modules/smesh.git] / doc / salome / gui / SMESH / grouping_elements.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
2
3 <html>
4
5 <head>
6 <title>Grouping Elements</title>
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
9 <!--
10 p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
11 p.whs2 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
12 p.whs3 { margin-top:0pt; margin-bottom:0pt; }
13 img_whs4 { border:none; width:430px; height:391px; float:none; border-style:none; }
14 img_whs5 { border:none; float:none; width:463px; height:417px; border-style:none; }
15 img_whs6 { border:none; width:541px; height:417px; float:none; border-style:none; }
16 img_whs7 { border:none; width:394px; height:425px; float:none; border-style:none; }
17 img_whs8 { border:none; float:none; width:368px; height:379px; border-style:none; }
18 img_whs9 { border:none; float:none; width:344px; height:381px; border-style:none; }
19 img_whs10 { border:none; width:314px; height:351px; float:none; border-style:none; }
20 img_whs11 { border:none; float:none; width:319px; height:351px; border-style:none; }
21 img_whs12 { border:none; float:none; width:304px; height:352px; border-style:none; }
22 img_whs13 { border:none; width:318px; height:355px; float:none; border-style:none; }
23 img_whs14 { border:none; float:none; width:318px; height:355px; border-style:none; }
24 img_whs15 { border:none; float:none; width:320px; height:354px; border-style:none; }
25 -->
26 </style><script type="text/javascript" language="JavaScript">
27 <!--
28 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
29 {
30   var strNSS = "<style type='text/css'>";
31   strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
32   strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
33   strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
34   strNSS +="</style>";
35   document.write(strNSS);
36 }
37 //-->
38 </script>
39 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
40 <!--
41 function reDo() {
42   if (innerWidth != origWidth || innerHeight != origHeight)
43      location.reload();
44 }
45 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
46         origWidth = innerWidth;
47         origHeight = innerHeight;
48         onresize = reDo;
49 }
50 onerror = null; 
51 //-->
52 </script>
53 <style type="text/css">
54 <!--
55 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
56 p.WebHelpNavBar { text-align:right; }
57 -->
58 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
59 <script type="text/javascript" language="javascript" src="whver.js"></script>
60 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
61 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
62 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
63 <script type="text/javascript" language="javascript1.2">
64 <!--
65 if (window.gbWhTopic)
66 {
67         if (window.setRelStartPage)
68         {
69         addTocInfo("MESH module\nTUI Scripts\nGrouping Elements");
70 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
71 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
72
73         }
74
75
76         if (window.setRelStartPage)
77         {
78         setRelStartPage("index.htm");
79
80                 autoSync(1);
81                 sendSyncInfo();
82                 sendAveInfoOut();
83         }
84
85 }
86 else
87         if (window.gbIE4)
88                 document.location.reload();
89 //-->
90 </script>
91 </head>
92 <body><script type="text/javascript" language="javascript1.2">
93 <!--
94 if (window.writeIntopicBar)
95         writeIntopicBar(4);
96 //-->
97 </script>
98 <h1>Grouping Elements</h1>
99
100 <h3><a name=bookmark>Create a Standalone Group</a></h3>
101
102 <p class="whs1">import SMESH_mechanic</p>
103
104 <p class="whs1">&nbsp;</p>
105
106 <p class="whs1">smesh &nbsp;= 
107  SMESH_mechanic.smesh</p>
108
109 <p class="whs1">mesh &nbsp;&nbsp;= 
110  SMESH_mechanic.mesh</p>
111
112 <p class="whs1">salome = SMESH_mechanic.salome</p>
113
114 <p class="whs1">&nbsp;</p>
115
116 <p class="whs2"># Get ids of all faces 
117  with area &gt; 100 </p>
118
119 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
120  smesh.FT_Area, smesh.FT_MoreThan, 100.)</p>
121
122 <p class="whs1">&nbsp;</p>
123
124 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
125  </p>
126
127 <p class="whs1">&nbsp;</p>
128
129 <p class="whs3"># create a group consisting 
130  of faces with area &gt; 100</p>
131
132 <p class="whs1">&nbsp;</p>
133
134 <p class="whs1">aGroup = mesh.MakeGroupByIds(&quot;Area 
135  &gt; 100&quot;, smesh.FACE, anIds)</p>
136
137 <p class="whs1">&nbsp;</p>
138
139 <p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
140  </p>
141
142 <p class="whs3">&nbsp;</p>
143
144 <p class="whs3"><img src="pics/create_group.png" x-maintain-ratio="TRUE" width="430px" height="391px" border="0" class="img_whs4"></p>
145
146 <h3><a name=bookmark5>Create a Group on Geometry</a></h3>
147
148 <p class="whs1">import salome</p>
149
150 <p class="whs1">import geompy</p>
151
152 <p class="whs1">import smesh</p>
153
154 <p class="whs1">&nbsp;</p>
155
156 <p class="whs2"># create a box</p>
157
158 <p class="whs1">box = geompy.MakeBox(0., 
159  0., 0., 100., 100., 100.)</p>
160
161 <p class="whs1">geompy.addToStudy(box, 
162  &quot;box&quot;)</p>
163
164 <p class="whs1">&nbsp;</p>
165
166 <p class="whs2"># add the first face 
167  of the box to the study</p>
168
169 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">subShapeList 
170  = geompy.SubShapeAll(box, geompy.ShapeType[&quot;FACE&quot;])</span></p>
171
172 <p class="whs1">face = subShapeList[0]</p>
173
174 <p class="whs1">geompy.addToStudyInFather(box, 
175  face, &quot;face 1&quot;) </p>
176
177 <p class="whs1">&nbsp;</p>
178
179 <p class="whs2"># create group of edges 
180  on the face</p>
181
182 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGeomGroupE 
183  = geompy.CreateGroup(face, geompy.ShapeType[&quot;EDGE&quot;])</span></p>
184
185 <p class="whs1">geompy.AddObject(aGeomGroupE, 
186  3)</p>
187
188 <p class="whs1">geompy.AddObject(aGeomGroupE, 
189  6)</p>
190
191 <p class="whs1">geompy.AddObject(aGeomGroupE, 
192  8)</p>
193
194 <p class="whs1">geompy.AddObject(aGeomGroupE, 
195  10)</p>
196
197 <p class="whs1">geompy.addToStudyInFather(face, 
198  aGeomGroupE, &quot;Group of Edges&quot;)</p>
199
200 <p class="whs1">&nbsp;</p>
201
202 <p class="whs2"># create quadrangle 
203  2D mesh on the box</p>
204
205 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">quadra 
206  = smesh.Mesh(box, &quot;Box : quadrangle 2D mesh&quot;)</span></p>
207
208 <p class="whs1">algo1D = quadra.Segment()</p>
209
210 <p class="whs1">quadra.Quadrangle()</p>
211
212 <p class="whs1">algo1D.NumberOfSegments(7) 
213  </p>
214
215 <p class="whs1">&nbsp;</p>
216
217 <p class="whs2"># compute the mesh</p>
218
219 <p class="whs1">quadra.Compute()</p>
220
221 <p class="whs1">&nbsp;</p>
222
223 <p class="whs2"># create SMESH group 
224  on the face with name &quot;SMESHGroup1&quot;</p>
225
226 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aSmeshGroup1 
227  = quadra.GroupOnGeom(face, &quot;SMESHGroup1&quot;)</span></p>
228
229 <p class="whs1">&nbsp;</p>
230
231 <p class="whs2"># create SMESH group 
232  on &lt;aGeomGroupE&gt; with default name</p>
233
234 <p class="whs1">aSmeshGroup2 = quadra.GroupOnGeom(aGeomGroupE) 
235  </p>
236
237 <p class="whs3">&nbsp;</p>
238
239 <p class="whs3"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> 
240  </p>
241
242 <h3><a name=bookmark1>Edit a Group</a></h3>
243
244 <p class="whs1">import SMESH_mechanic</p>
245
246 <p class="whs1">&nbsp;</p>
247
248 <p class="whs1">smesh &nbsp;= 
249  SMESH_mechanic.smesh</p>
250
251 <p class="whs1">mesh &nbsp;&nbsp;= 
252  SMESH_mechanic.mesh</p>
253
254 <p class="whs1">salome = SMESH_mechanic.salome</p>
255
256 <p class="whs1">&nbsp;</p>
257
258 <p class="whs2"># Get ids of all faces 
259  with area &gt; 35</p>
260
261 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
262  smesh.FT_Area, smesh.FT_MoreThan, 35.)</p>
263
264 <p class="whs1">&nbsp;</p>
265
266 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter) 
267  </p>
268
269 <p class="whs1">&nbsp;</p>
270
271 <p class="whs1">print &quot;Criterion: 
272  Area &gt; 35, Nb = &quot;, len(anIds)</p>
273
274 <p class="whs1">&nbsp;</p>
275
276 <p class="whs2"># create a group by 
277  adding elements with area &gt; 35</p>
278
279 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup 
280  = mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &gt; 35&quot;)</span></p>
281
282 <p class="whs1">aGroup.Add(anIds) 
283  </p>
284
285 <p class="whs1">&nbsp;</p>
286
287 <p class="whs2"># Get ids of all faces 
288  with area &gt; 40</p>
289
290 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
291  smesh.FT_Area, smesh.FT_MoreThan, 40.)</p>
292
293 <p class="whs1">&nbsp;</p>
294
295 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
296
297 <p class="whs1">&nbsp;</p>
298
299 <p class="whs1">print &quot;Criterion: 
300  Area &gt; 40, Nb = &quot;, len(anIds) </p>
301
302 <p class="whs1">&nbsp;</p>
303
304 <p class="whs2"># create a group of 
305  elements with area [35; 40] by removing elements with area &gt; 40 from 
306  group aGroup</p>
307
308 <p class="whs1">aGroup.Remove(anIds) 
309  </p>
310
311 <p class="whs1">&nbsp;</p>
312
313 <p class="whs2"># print the result</p>
314
315 <p class="whs1">aGroupElemIDs = 
316  aGroup.GetListOfID()</p>
317
318 <p class="whs1">&nbsp;</p>
319
320 <p class="whs1">print &quot;Criterion: 
321  35 &lt; Area &lt; 40, Nb = &quot;, len(aGroupElemIDs)</p>
322
323 <p class="whs1">j = 1</p>
324
325 <p class="whs1">for i in range(len(aGroupElemIDs)):</p>
326
327 <p class="whs1">&nbsp;&nbsp;if 
328  j &gt; 20: j = 1; print &quot;&quot;</p>
329
330 <p class="whs1">&nbsp;&nbsp;print 
331  aGroupElemIDs[i],</p>
332
333 <p class="whs1">&nbsp;&nbsp;j 
334  = j + 1</p>
335
336 <p class="whs1">&nbsp;&nbsp;pass</p>
337
338 <p class="whs1">print &quot;&quot;</p>
339
340 <p class="whs1">&nbsp;</p>
341
342 <p class="whs1">salome.sg.updateObjBrowser(1) 
343  </p>
344
345 <p class="whs3">&nbsp;</p>
346
347 <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>
348
349 <h3><a name=bookmark2>Union of two groups</a></h3>
350
351 <p class="whs1">import SMESH_mechanic</p>
352
353 <p class="whs1">&nbsp;</p>
354
355 <p class="whs1">smesh &nbsp;= 
356  SMESH_mechanic.smesh</p>
357
358 <p class="whs1">mesh &nbsp;&nbsp;= 
359  SMESH_mechanic.mesh</p>
360
361 <p class="whs1">salome = SMESH_mechanic.salome</p>
362
363 <p class="whs1">&nbsp;</p>
364
365 <p class="whs2"># Criterion : AREA 
366  &gt; 20</p>
367
368 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
369  smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
370
371 <p class="whs1">&nbsp;</p>
372
373 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
374
375 <p class="whs1">&nbsp;</p>
376
377 <p class="whs1">print &quot;Criterion: 
378  Area &gt; 20, Nb = &quot;, len( anIds ) </p>
379
380 <p class="whs1">&nbsp;</p>
381
382 <p class="whs2"># create a group by 
383  adding elements with area &gt; 20</p>
384
385 <p class="whs1">aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, 
386  &quot;Area &gt; 20&quot;)</p>
387
388 <p class="whs1">aGroup1.Add(anIds)</p>
389
390 <p class="whs1">&nbsp;</p>
391
392 <p class="whs2"># Criterion : AREA 
393  = 20</p>
394
395 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
396  = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_EqualTo, 20.)</span></p>
397
398 <p class="whs1">&nbsp;</p>
399
400 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
401
402 <p class="whs1">&nbsp;</p>
403
404 <p class="whs1">print &quot;Criterion: 
405  Area = 20, Nb = &quot;, len( anIds ) </p>
406
407 <p class="whs1">&nbsp;</p>
408
409 <p class="whs2"># create a group by 
410  adding elements with area = 20</p>
411
412 <p class="whs1">aGroup2 = mesh.CreateEmptyGroup( 
413  smesh.FACE, &quot;Area = 20&quot; )</p>
414
415 <p class="whs1">&nbsp;</p>
416
417 <p class="whs1">aGroup2.Add(anIds)</p>
418
419 <p class="whs1">&nbsp;</p>
420
421 <p class="whs2"># create union group 
422  : area &gt;= 20</p>
423
424 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 
425  = mesh.UnionGroups(aGroup1, aGroup2, &quot;Area &gt;= 20&quot;)</span></p>
426
427 <p class="whs1">print &quot;Criterion: 
428  Area &gt;= 20, Nb = &quot;, len(aGroup3.GetListOfID())</p>
429
430 <p class="whs1">&nbsp;</p>
431
432 <p class="whs2"># Criterion : AREA 
433  &lt; 20</p>
434
435 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aFilter 
436  = smesh.GetFilter(smesh.FACE, smesh.FT_Area, smesh.FT_LessThan, 20.)</span></p>
437
438 <p class="whs1">&nbsp;</p>
439
440 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
441
442 <p class="whs1">&nbsp;</p>
443
444 <p class="whs1">print &quot;Criterion: 
445  Area &lt; 20, Nb = &quot;, len(anIds)</p>
446
447 <p class="whs1">&nbsp;</p>
448
449 <p class="whs2"># create a group by 
450  adding elements with area &lt; 20</p>
451
452 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup4 
453  = mesh.CreateEmptyGroup(smesh.FACE, &quot;Area &lt; 20&quot;)</span></p>
454
455 <p class="whs1">aGroup4.Add(anIds)</p>
456
457 <p class="whs1">&nbsp;</p>
458
459 <p class="whs2"># create union group 
460  : area &gt;= 20 and area &lt; 20</p>
461
462 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup5 
463  = mesh.UnionGroups(aGroup3, aGroup4, &quot;Any Area&quot;)</span></p>
464
465 <p class="whs1">print &quot;Criterion: 
466  Any Area, Nb = &quot;, len(aGroup5.GetListOfID())</p>
467
468 <p class="whs1">&nbsp;</p>
469
470 <p class="whs1">salome.sg.updateObjBrowser(1) 
471  </p>
472
473 <p class="whs1">&nbsp;</p>
474
475 <p class="whs1"><img src="pics/union_groups1.png" x-maintain-ratio="TRUE" width="394px" height="425px" border="0" class="img_whs7"></p>
476
477 <p class="whs1">&nbsp;</p>
478
479 <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>
480
481 <p class="whs1">&nbsp;</p>
482
483 <h3><a name=bookmark3>Intersection of two groups</a></h3>
484
485 <p class="whs1">import SMESH_mechanic</p>
486
487 <p class="whs1">&nbsp;</p>
488
489 <p class="whs1">smesh &nbsp;= 
490  SMESH_mechanic.smesh</p>
491
492 <p class="whs1">mesh &nbsp;&nbsp;= 
493  SMESH_mechanic.mesh</p>
494
495 <p class="whs1">salome = SMESH_mechanic.salome</p>
496
497 <p class="whs1">&nbsp;</p>
498
499 <p class="whs2"># Criterion : AREA 
500  &gt; 20</p>
501
502 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
503  smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
504
505 <p class="whs1">&nbsp;</p>
506
507 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
508
509 <p class="whs1">&nbsp;</p>
510
511 <p class="whs1">print &quot;Criterion: 
512  Area &gt; 20, Nb = &quot;, len(anIds) </p>
513
514 <p class="whs1">&nbsp;</p>
515
516 <p class="whs2"># create a group by 
517  adding elements with area &gt; 20</p>
518
519 <p class="whs1">aGroup1 = mesh.CreateEmptyGroup(SMESH.FACE, 
520  &quot;Area &gt; 20&quot;)</p>
521
522 <p class="whs1">aGroup1.Add(anIds)</p>
523
524 <p class="whs1">&nbsp;</p>
525
526 <p class="whs2"># Criterion : AREA 
527  &lt; 60</p>
528
529 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
530  smesh.FT_Area, smesh.FT_LessThan, 60.)</p>
531
532 <p class="whs1">&nbsp;</p>
533
534 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
535
536 <p class="whs1">&nbsp;</p>
537
538 <p class="whs1">print &quot;Criterion: 
539  Area &lt; 60, Nb = &quot;, len(anIds) </p>
540
541 <p class="whs1">&nbsp;</p>
542
543 <p class="whs2"># create a group by 
544  adding elements with area &lt; 60</p>
545
546 <p class="whs1">aGroup2 = mesh.CreateEmptyGroup(SMESH.FACE, 
547  &quot;Area &lt; 60&quot;)</p>
548
549 <p class="whs1">aGroup2.Add(anIds)</p>
550
551 <p class="whs1">&nbsp;</p>
552
553 <p class="whs2"># create an intersection 
554  of groups : 20 &lt; area &lt; 60</p>
555
556 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroup3 
557  = mesh.IntersectGroups(aGroup1, aGroup2, &quot;20 &lt; Area &lt; 60&quot;)</span></p>
558
559 <p class="whs1">print &quot;Criterion: 
560  20 &lt; Area &lt; 60, Nb = &quot;, len(aGroup3.GetListOfID())</p>
561
562 <p class="whs1">&nbsp;</p>
563
564 <p class="whs1">salome.sg.updateObjBrowser(1) 
565  </p>
566
567 <p class="whs3">&nbsp;</p>
568
569 <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>
570
571 <h3><a name=bookmark4>Cut of two groups</a></h3>
572
573 <p class="whs1">import SMESH_mechanic</p>
574
575 <p class="whs1">&nbsp;</p>
576
577 <p class="whs1">smesh &nbsp;= 
578  SMESH_mechanic.smesh</p>
579
580 <p class="whs1">mesh &nbsp;&nbsp;= 
581  SMESH_mechanic.mesh</p>
582
583 <p class="whs1">salome = SMESH_mechanic.salome</p>
584
585 <p class="whs1">&nbsp;</p>
586
587 <p class="whs2"># Criterion : AREA 
588  &gt; 20</p>
589
590 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
591  smesh.FT_Area, smesh.FT_MoreThan, 20.)</p>
592
593 <p class="whs1">&nbsp;</p>
594
595 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
596
597 <p class="whs1">&nbsp;</p>
598
599 <p class="whs1">print &quot;Criterion: 
600  Area &gt; 20, Nb = &quot;, len(anIds) </p>
601
602 <p class="whs1">&nbsp;</p>
603
604 <p class="whs2"># create a group by 
605  adding elements with area &gt; 20</p>
606
607 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupMain 
608  = mesh.MakeGroupByIds(&quot;Area &gt; 20&quot;, smesh.FACE, anIds)</span></p>
609
610 <p class="whs1">&nbsp;</p>
611
612 <p class="whs2"># Criterion : AREA 
613  &lt; 60</p>
614
615 <p class="whs1">aFilter = smesh.GetFilter(smesh.FACE, 
616  smesh.FT_Area, smesh.FT_LessThan, 60.)</p>
617
618 <p class="whs1">&nbsp;</p>
619
620 <p class="whs1">anIds = mesh.GetIdsFromFilter(aFilter)</p>
621
622 <p class="whs1">&nbsp;</p>
623
624 <p class="whs1">print &quot;Criterion: 
625  Area &lt; 60, Nb = &quot;, len(anIds) </p>
626
627 <p class="whs1">&nbsp;</p>
628
629 <p class="whs2"># create a group by 
630  adding elements with area &lt; 60</p>
631
632 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupTool 
633  = mesh.MakeGroupByIds(&quot;Area &lt; 60&quot;, smesh.FACE, anIds)</span></p>
634
635 <p class="whs1">&nbsp;</p>
636
637 <p class="whs2"># create a cut of groups 
638  : area &gt;= 60</p>
639
640 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">aGroupRes 
641  = mesh.CutGroups(aGroupMain, aGroupTool, &quot;Area &gt;= 60&quot;)</span></p>
642
643 <p class="whs1">print &quot;Criterion: 
644  Area &gt;= 60, Nb = &quot;, len(aGroupRes.GetListOfID())</p>
645
646 <p class="whs1">&nbsp;</p>
647
648 <p class="whs1">salome.sg.updateObjBrowser(1) 
649  </p>
650
651 <p class="whs1">&nbsp;</p>
652
653 <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>
654
655 <script type="text/javascript" language="javascript1.2">
656 <!--
657 if (window.writeIntopicBar)
658         writeIntopicBar(0);
659 //-->
660 </script>
661 </body>
662 </html>