3 \page tui_filters_page Filters usage
7 Filters allow picking only the mesh elements satisfying to a
8 specific condition or a set of conditions. Filters can be used to create
9 or edit mesh groups, remove elements from the mesh, control
10 mesh quality by different parameters, etc.
12 Several filtering criteria can be combined together by using logical
13 operators \a AND and \a OR. In addition, a filtering criterion can
14 be reverted using logical operator \a NOT.
16 Mesh filters can use the functionality of mesh quality controls to filter
17 mesh nodes / elements by a specific characteristic (Area, Length, etc).
19 This page provides a short description of the existing mesh filters,
20 describes required parameters and gives simple examples of usage in
23 \sa \ref tui_quality_controls_page
25 \section filter_aspect_ratio Aspect ratio
27 filters 2D mesh elements (faces) according to the aspect ratio value:
28 - element type should be \a SMESH.FACE
29 - functor type should be \a SMESH.FT_AspectRatio
30 - threshold is floating point value (aspect ratio)
32 \tui_script{filters_ex01.py}
34 \sa \ref tui_aspect_ratio
36 \section filter_aspect_ratio_3d Aspect ratio 3D
38 filters 3D mesh elements (volumes) according to the aspect ratio value:
39 - element type is \a SMESH.VOLUME
40 - functor type is \a SMESH.FT_AspectRatio3D
41 - threshold is floating point value (aspect ratio)
43 \tui_script{filters_ex02.py}
45 \sa \ref tui_aspect_ratio_3d
47 \section filter_warping_angle Warping angle
49 filters 2D mesh elements (faces) according to the warping angle value:
50 - element type is \a SMESH.FACE
51 - functor type is \a SMESH.FT_Warping
52 - threshold is floating point value (warping angle)
54 \tui_script{filters_ex03.py}
58 \section filter_minimum_angle Minimum angle
60 filters 2D mesh elements (faces) according to the minimum angle value:
61 - element type is \a SMESH.FACE
62 - functor type is \a SMESH.FT_MinimumAngle
63 - threshold is floating point value (minimum angle)
65 \tui_script{filters_ex04.py}
67 \sa \ref tui_minimum_angle
69 \section filter_taper Taper
71 filters 2D mesh elements (faces) according to the taper value:
72 - element type is \a SMESH.FACE
73 - functor type is \a SMESH.FT_Taper
74 - threshold is floating point value (taper)
76 \tui_script{filters_ex05.py}
80 \section filter_skew Skew
82 filters 2D mesh elements (faces) according to the skew value:
83 - element type is \a SMESH.FACE
84 - functor type is \a SMESH.FT_Skew
85 - threshold is floating point value (skew)
87 \tui_script{filters_ex06.py}
91 \section filter_area Area
93 filters 2D mesh elements (faces) according to the area value:
94 - element type is \a SMESH.FACE
95 - functor type is \a SMESH.FT_Area
96 - threshold is floating point value (area)
98 \tui_script{filters_ex07.py}
102 \section filter_volume Volume
104 filters 3D mesh elements (volumes) according to the volume value:
105 - element type is \a SMESH.VOLUME
106 - functor type is \a SMESH.FT_Volume3D
107 - threshold is floating point value (volume)
109 \tui_script{filters_ex08.py}
113 \section filter_free_borders Free borders
115 filters 1D mesh elements (edges) which represent free borders of a mesh:
116 - element type is \a SMESH.EDGE
117 - functor type is \a SMESH.FT_FreeBorders
118 - threshold value is not required
120 \tui_script{filters_ex09.py}
122 \sa \ref tui_free_borders
124 \section filter_free_edges Free edges
126 filters 2D mesh elements (faces) having edges (i.e. links between
127 nodes, not mesh segments) belonging to one face of mesh only:
128 - element type is \a SMESH.FACE
129 - functor type is \a SMESH.FT_FreeEdges
130 - threshold value is not required
132 \tui_script{filters_ex10.py}
134 \sa \ref tui_free_edges
136 \section filter_free_nodes Free nodes
139 - element type is \a SMESH.NODE
140 - functor type is \a SMESH.FT_FreeNodes
141 - threshold value is not required
143 \tui_script{filters_ex11.py}
145 \sa \ref tui_free_nodes
147 \section filter_free_faces Free faces
150 - element type is \a SMESH.FACE
151 - functor type is \a SMESH.FT_FreeFaces
152 - threshold value is not required
154 \tui_script{filters_ex12.py}
156 \sa \ref tui_free_faces
158 \section filter_bare_border_faces Bare border faces
160 filters faces with bare borders:
161 - element type is \a SMESH.FACE
162 - functor type is \a SMESH.FT_BareBorderFace
163 - threshold value is not required
165 \tui_script{filters_ex13.py}
167 \sa \ref tui_bare_border_faces
169 \section filter_coplanar_faces Coplanar faces
171 filters coplanar faces:
172 - element type is \a SMESH.FACE
173 - functor type is \a SMESH.FT_CoplanarFaces
174 - threshold value is the face ID
175 - tolerance is in degrees
177 \tui_script{filters_ex14.py}
179 \section filter_over_constrained_faces Over-constrained faces
181 filters over-constrained faces:
182 - element type is \a SMESH.FACE
183 - functor type is \a SMESH.FT_OverConstrainedFace
184 - threshold value is not required
186 \tui_script{filters_ex15.py}
188 \sa \ref tui_over_constrained_faces
190 \section filter_double_elements Double edges, Double faces, Double volumes
192 filters mesh elements basing on the same set of nodes:
193 - element type is either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
194 - functor type is either \a SMESH.FT_EqualEdges, \a
195 SMESH.FT_EqualFaces or \a SMESH.FT_EqualVolumes,
196 - threshold value is not required
198 \tui_script{filters_ex16.py}
201 \section tui_double_nodes_control Double nodes
203 filters mesh nodes which are coincident with other nodes (within a given tolerance):
204 - element type is \a SMESH.NODE
205 - functor type is \a SMESH.FT_EqualNodes
206 - threshold value is not required
207 - default tolerance is 1.0e-7
209 \tui_script{filters_ex17.py}
212 \section filter_node_nb_conn Node connectivity number
214 filters nodes according to a number of elements of highest dimension connected to a node:
215 - element type should be \a SMESH.NODE
216 - functor type should be \a SMESH.FT_NodeConnectivityNumber
217 - threshold is an integer value (number of elements)
219 \tui_script{filters_node_nb_conn.py}
222 \section filter_borders_multiconnection Borders at multi-connection
224 filters 1D mesh elements (segments) according to the specified number of
225 connections (faces and volumes on whose border the segment lies):
226 - element type is \a SMESH.EDGE
227 - functor type is \a SMESH.FT_MultiConnection
228 - threshold is integer value (number of connections)
230 \tui_script{filters_ex18.py}
232 \sa \ref tui_borders_at_multiconnection
234 \section filter_borders_multiconnection_2d Borders at multi-connection 2D
236 filters 2D mesh elements (faces) with the specified maximal number of
237 faces connected to a border (link between nodes, not mesh segment):
238 - element type is \a SMESH.FACE
239 - functor type is \a SMESH.FT_MultiConnection2D
240 - threshold is integer value (number of connections)
242 \tui_script{filters_ex19.py}
244 \sa \ref tui_borders_at_multiconnection_2d
246 \section filter_length Length
248 filters 1D mesh elements (edges) according to the edge length value:
249 - element type should be \a SMESH.EDGE
250 - functor type should be \a SMESH.FT_Length
251 - threshold is floating point value (length)
253 \tui_script{filters_ex20.py}
255 \sa \ref tui_length_1d
257 \section filter_length_2d Length 2D
259 filters 2D mesh elements (faces) according to the maximum length of its
260 edges (links between nodes):
261 - element type should be \a SMESH.FACE
262 - functor type should be \a SMESH.FT_Length2D
263 - threshold is floating point value (edge length)
265 \tui_script{filters_ex21.py}
267 \sa \ref tui_length_2d
269 \section filter_max_element_length_2d Element Diameter 2D
271 filters 2D mesh elements (faces) according to the maximum length
272 of its edges and diagonals:
273 - element type should be \a SMESH.FACE
274 - functor type should be \a SMESH.FT_MaxElementLength2D
275 - threshold is floating point value (length)
277 \tui_script{filters_ex22.py}
279 \sa \ref tui_max_element_length_2d
281 \section filter_max_element_length_3d Element Diameter 3D
283 filters 3D mesh elements (volumes) according to the maximum length
284 of its edges and diagonals:
285 - element type should be \a SMESH.VOLUME
286 - functor type should be \a SMESH.FT_MaxElementLength3D
287 - threshold is floating point value (edge/diagonal length)
289 \tui_script{filters_ex23.py}
291 \sa \ref tui_max_element_length_3d
293 \section filter_bare_border_volumes Bare border volumes
295 filters 3D mesh elements with bare borders, i.e. having a facet not
296 shared with other volumes and without a face on it:
297 - element type is \a SMESH.VOLUME
298 - functor type is \a SMESH.FT_BareBorderVolume
299 - threshold value is not required
301 \tui_script{filters_ex24.py}
303 \sa \ref tui_bare_border_volumes
305 \section filter_over_constrained_volumes Over-constrained volumes
307 filters over-constrained volumes, whose all nodes are on the mesh boundary:
308 - element type is \a SMESH.VOLUME
309 - functor type is \a SMESH.FT_OverConstrainedVolume
310 - threshold value is not required
312 \tui_script{filters_ex25.py}
314 \sa \ref tui_over_constrained_faces
316 \section filter_belong_to_group Belong to Mesh Group
318 filters mesh entities (nodes or elements) included in a mesh group
319 defined by threshold value:
320 - element type can be any, from \a SMESH.NODE to \a SMESH.BALL
321 - functor type should be \a SMESH.FT_BelongToMeshGroup
322 - threshold is mesh group object
324 \tui_script{filters_belong2group.py}
326 \section filter_belong_to_geom Belong to Geom
328 filters mesh entities (nodes or elements) which all nodes lie on the
329 shape defined by threshold value:
330 - element type can be any, from \a SMESH.NODE to \a SMESH.BALL
331 - functor type should be \a SMESH.FT_BelongToGeom
332 - threshold is geometrical object
333 - tolerance is a distance between a node and the geometrical object;
334 it is used if an node is not associated to any geometry.
336 \tui_script{filters_ex26.py}
338 \section filter_lying_on_geom Lying on Geom
340 filters mesh entities (nodes or elements) at least one node of which lies on the
341 shape defined by threshold value:
342 - element type can be any, from \a SMESH.NODE to \a SMESH.BALL
343 - functor type should be \a SMESH.FT_LyingOnGeom
344 - threshold is geometrical object
345 - tolerance is a distance between a node and the geometrical object;
346 it is used if an node is not associated to any geometry.
348 \tui_script{filters_ex27.py}
350 \section filter_belong_to_plane Belong to Plane
352 filters mesh entities (nodes or elements) which all nodes belong to the
353 plane defined by threshold value with the given tolerance:
354 - element type can be any except \a SMESH.VOLUME
355 - functor type should be \a SMESH.FT_BelongToPlane
356 - threshold is geometrical object (plane)
357 - default tolerance is 1.0e-7
359 \tui_script{filters_ex28.py}
361 \section filter_belong_to_cylinder Belong to Cylinder
363 filters mesh entities (nodes or elements) which all nodes belong to the
364 cylindrical face defined by threshold value with the given tolerance:
365 - element type can be any except \a SMESH.VOLUME
366 - functor type should be \a SMESH.FT_BelongToCylinder
367 - threshold is geometrical object (cylindrical face)
368 - default tolerance is 1.0e-7
370 \tui_script{filters_ex29.py}
372 \section filter_belong_to_surface Belong to Surface
374 filters mesh entities (nodes or elements) which all nodes belong to the
375 arbitrary surface defined by threshold value with the given tolerance:
376 - element type can be any except \a SMESH.VOLUME
377 - functor type should be \a SMESH.FT_BelongToGenSurface
378 - threshold is geometrical object (arbitrary surface)
379 - default tolerance is 1.0e-7
381 \tui_script{filters_ex30.py}
383 \section filter_range_of_ids Range of IDs
385 filters mesh entities elements (nodes or elements) according to the
386 specified identifiers range:
387 - element type can be any, from \a SMESH.NODE to \a SMESH.BALL
388 - functor type is \a SMESH.FT_RangeOfIds
389 - threshold is string listing required IDs and/or ranges of IDs, e.g."1,2,3,50-60,63,67,70-78"
391 \tui_script{filters_ex31.py}
393 \section filter_bad_oriented_volume Badly oriented volume
395 filters 3D mesh elements (volumes), which are incorrectly oriented from
396 the point of view of MED convention.
397 - element type should be \a SMESH.VOLUME
398 - functor type is \a SMESH.FT_BadOrientedVolume
399 - threshold is not required
401 \tui_script{filters_ex32.py}
403 \section filter_linear_or_quadratic Linear / quadratic
405 filters linear / quadratic mesh elements:
406 - element type should be either \a SMESH.EDGE, \a SMESH.FACE or \a SMESH.VOLUME
407 - functor type is \a SMESH.FT_LinearOrQuadratic
408 - threshold is not required
409 - if unary operator is set to SMESH.FT_LogicalNOT, the quadratic
410 elements are selected, otherwise (by default) linear elements are selected
412 \tui_script{filters_ex33.py}
414 \section filter_group_color Group color
416 filters mesh entities, belonging to the group with the color defined by the threshold value.
417 - element type can be any, from \a SMESH.NODE to \a SMESH.BALL
418 - functor type is \a SMESH.FT_GroupColor
419 - threshold should be of SALOMEDS.Color type
421 \tui_script{filters_ex34.py}
423 \section filter_geom_type Geometry type
425 filters mesh elements by the geometric type defined with the threshold
426 value. The list of available geometric types depends on the element
428 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
429 - functor type should be \a SMESH.FT_ElemGeomType
430 - threshold is either of smesh.GeometryType values. Type \a SMESH.GeometryType._items in the Python Console to see all geometric types.
432 \tui_script{filters_ex35.py}
434 \section filter_entity_type Entity type
436 filters mesh elements by the geometric type and number of nodes.
437 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
438 - functor type should be \a SMESH.FT_EntityType
439 - threshold is either of SMESH.EntityType values. Type \a SMESH.EntityType._items in the Python Console to see all entity types.
441 \tui_script{filters_ex37.py}
443 \section filter_ball_diam Ball diameter
445 filters ball elements by diameter.
446 - element type should be \a SMESH.BALL
447 - functor type should be \a SMESH.FT_BallDiameter
448 - threshold is floating point value (ball diameter)
450 \tui_script{filters_ex38.py}
452 \section filter_domain Elements of a domain
454 filters elements of a specified domain.
455 - element type can be any, e.g.: \a SMESH.EDGE, \a SMESH.FACE, \a SMESH.VOLUME, etc.
456 - functor type should be \a SMESH.FT_ConnectedElements
457 - threshold is either (1) node ID or (2) geometrical vertex or (3) 3 coordinates of a point.
459 \tui_script{filters_ex39.py}
461 \section combining_filters How to combine several criteria into a filter?
463 Several criteria can be combined into a filter.
467 \tui_script{filters_ex36.py}