mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-19 04:10:34 +05:00
0021338: EDF 1926 SMESH: New controls and filters
This commit is contained in:
parent
61915a66ed
commit
1ffe72da8d
BIN
doc/salome/gui/SMESH/images/double_faces.png
Normal file
BIN
doc/salome/gui/SMESH/images/double_faces.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
BIN
doc/salome/gui/SMESH/images/double_nodes.png
Normal file
BIN
doc/salome/gui/SMESH/images/double_nodes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.5 KiB |
@ -19,6 +19,7 @@ face and volume entity type.
|
||||
Node quality controls:
|
||||
<ul>
|
||||
<li>\subpage free_nodes_page "Free nodes"</li>
|
||||
<li>\subpage double_nodes_control_page "Double nodes"</li>
|
||||
</ul>
|
||||
|
||||
Edge quality controls:
|
||||
@ -27,6 +28,7 @@ Edge quality controls:
|
||||
<li>\subpage free_borders_page "Free borders"</li>
|
||||
<li>\subpage length_page "Length"</li>
|
||||
<li>\subpage borders_at_multi_connection_page "Borders at multi-connection"</li>
|
||||
<li>\subpage double_elements_page "Double edges"</li>
|
||||
</ul>
|
||||
|
||||
Face quality controls:
|
||||
@ -43,6 +45,7 @@ Face quality controls:
|
||||
<li>\subpage warping_page "Warping"</li>
|
||||
<li>\subpage skew_page "Skew"</li>
|
||||
<li>\subpage max_element_length_2d_page "Element Diameter 2D"</li>
|
||||
<li>\subpage double_elements_page "Double faces"</li>
|
||||
</ul>
|
||||
|
||||
Volume quality controls:
|
||||
@ -52,6 +55,7 @@ Volume quality controls:
|
||||
<li>\subpage max_element_length_3d_page "Element Diameter 3D"</li>
|
||||
<li>\subpage bare_border_volumes_page "Bare border volumes"</li>
|
||||
<li>\subpage over_constrained_volumes_page "Over-constrained volumes"</li>
|
||||
<li>\subpage double_elements_page "Double volumes"</li>
|
||||
</ul>
|
||||
|
||||
To manage the quality controls call pop-up in the VTK viewer and select "Controls" sub-menu
|
||||
|
14
doc/salome/gui/SMESH/input/double_elements_control.doc
Normal file
14
doc/salome/gui/SMESH/input/double_elements_control.doc
Normal file
@ -0,0 +1,14 @@
|
||||
/*!
|
||||
|
||||
\page double_elements_page Double edge, Double faces and Double volumes
|
||||
|
||||
These mesh quality controls highlight the mesh elements basing on the same set of nodes.
|
||||
|
||||
\image html double_faces.png
|
||||
|
||||
In this picture some faces are coincident after copying all elements
|
||||
with translation with subsequent Merge of nodes.
|
||||
|
||||
\sa A sample TUI Script of a \ref filter_double_elements "Filters of Double Elements".
|
||||
|
||||
*/
|
13
doc/salome/gui/SMESH/input/double_nodes_control.doc
Normal file
13
doc/salome/gui/SMESH/input/double_nodes_control.doc
Normal file
@ -0,0 +1,13 @@
|
||||
/*!
|
||||
|
||||
\page double_nodes_control_page Double nodes
|
||||
|
||||
This mesh quality control highlights the nodes which are coincident with other nodes (within a given tolerance).
|
||||
|
||||
\image html double_nodes.png
|
||||
|
||||
In this picture some nodes are coincident after copying all elements with translation.
|
||||
|
||||
\sa A sample TUI Script of a \ref tui_double_nodes_control "Double Nodes" filter.
|
||||
|
||||
*/
|
@ -106,12 +106,25 @@ specified arbitrary surface within a given <b>Tolerance</b>.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Additional criteria to select mesh <b>Nodes</b> are the following:
|
||||
<ul><li>
|
||||
<b>Free nodes</b> selects nodes belonging to none mesh element.
|
||||
</li><li>
|
||||
<b>Double nodes</b> selects node coincident with other nodes
|
||||
(within a given <b>Tolerance</b>).
|
||||
See also \ref tui_double_nodes_control "Double Nodes quality control".
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Additional criteria to select mesh <b>Edges</b> are the following:
|
||||
<ul><li>
|
||||
<b>Free Borders</b> selects free 1D mesh elements, i.e. edges belonging to
|
||||
one face only. See also a
|
||||
\ref free_borders_page "Free Borders quality control".
|
||||
</li><li>
|
||||
<b>Double edges</b> selects 1D mesh elements basing on the same set of nodes.
|
||||
See also \ref filter_double_elements "Double Elements quality control".
|
||||
</li><li>
|
||||
<b>Borders at Multi-Connections</b> selects edges belonging to several faces.
|
||||
The number of faces should be more, less or equal (within a given <b>Tolerance</b>)
|
||||
to the predefined <b>Threshold Value</b>. See also a
|
||||
@ -156,6 +169,9 @@ one element of mesh only. See also a
|
||||
</li><li>
|
||||
<b>Free faces</b> selects 2D mesh elements wich belong to less than two volumes.
|
||||
</li><li>
|
||||
<b>Double faces</b> selects 2D mesh elements basing on the same set of nodes.
|
||||
See also \ref filter_double_elements "Double Elements quality control".
|
||||
</li><li>
|
||||
<b>Faces with bare border</b> selects 2D mesh elements having a free border without an edge on it.
|
||||
See also \ref bare_border_faces_page "Bare border faces quality control".
|
||||
</li><li>
|
||||
@ -202,6 +218,9 @@ diagonals with a value of length, which is more, less or equal
|
||||
(within a given <b>Tolerance</b>) to the predefined <b>Threshold Value</b>. See also a
|
||||
\ref max_element_length_3d_page "Element Diameter 3D quality control".
|
||||
</li><li>
|
||||
<b>Double volumes</b> selects 3D mesh elements basing on the same set of nodes.
|
||||
See also \ref filter_double_elements "Double Elements quality control".
|
||||
</li><li>
|
||||
<b>Bad oriented volume</b> selects mesh volumes, which are incorrectly oriented from
|
||||
the point of view of MED convention.
|
||||
</li><li>
|
||||
|
@ -318,6 +318,63 @@ print "Over-constrained faces:", ids
|
||||
|
||||
\sa \ref tui_over_constrained_faces
|
||||
|
||||
\section filter_double_elements Double edges, Double faces, Double volumes
|
||||
|
||||
filter mesh elements basing on the same set of nodes:
|
||||
- element type is either \a smesh.EGDE, \a smesh.FACE or \a smesh.VOLUME
|
||||
- functor type is either \a smesh.FT_EqualEdges, \a
|
||||
smesh.FT_EqualFaces or \a smesh.FT_EqualVolumes,
|
||||
- threshold value is not required
|
||||
|
||||
\code
|
||||
from smesh import *
|
||||
# make a mesh on a box
|
||||
box = geompy.MakeBoxDXDYDZ(100,100,100)
|
||||
mesh = Mesh( box, "Box" )
|
||||
mesh.Segment().NumberOfSegments(10)
|
||||
mesh.Quadrangle()
|
||||
mesh.Hexahedron()
|
||||
mesh.Compute()
|
||||
# copy all elements with translation and Merge nodes
|
||||
mesh.TranslateObject( mesh, MakeDirStruct( 10,0,0), Copy=True )
|
||||
mesh.MergeNodes( mesh.FindCoincidentNodes(1e-7) )
|
||||
# create filters to find equal elements
|
||||
equalEdgesFilter = GetFilter(SMESH.EDGE, FT_EqualEdges)
|
||||
equalFacesFilter = GetFilter(SMESH.FACE, FT_EqualFaces)
|
||||
equalVolumesFilter = GetFilter(SMESH.VOLUME, FT_EqualVolumes)
|
||||
# get equal elements
|
||||
print "Number of equal edges:", len( mesh.GetIdsFromFilter( equalEdgesFilter ))
|
||||
print "Number of equal faces:", len( mesh.GetIdsFromFilter( equalFacesFilter ))
|
||||
print "Number of equal volumes:", len( mesh.GetIdsFromFilter( equalVolumesFilter ))
|
||||
\endcode
|
||||
|
||||
|
||||
\section tui_double_nodes_control Double nodes
|
||||
|
||||
filters mesh nodes which are coincident with other nodes (within a given tolerance):
|
||||
- element type is \a smesh.NODE
|
||||
- functor type is \a smesh.FT_EqualNodes
|
||||
- threshold value is not required
|
||||
- default tolerance is 1.0e-7
|
||||
|
||||
\code
|
||||
from smesh import *
|
||||
# make a mesh on a box
|
||||
box = geompy.MakeBoxDXDYDZ(100,100,100)
|
||||
mesh = Mesh( box, "Box" )
|
||||
mesh.Segment().NumberOfSegments(10)
|
||||
mesh.Quadrangle()
|
||||
mesh.Hexahedron()
|
||||
mesh.Compute()
|
||||
# copy all elements with translation
|
||||
mesh.TranslateObject( mesh, MakeDirStruct( 10,0,0), Copy=True )
|
||||
# create filters to find nodes equal within tolerance of 1e-5
|
||||
filter = GetFilter(SMESH.NODE, FT_EqualNodes, Tolerance=1e-5)
|
||||
# get equal nodes
|
||||
print "Number of equal nodes:", len( mesh.GetIdsFromFilter( filter ))
|
||||
\endcode
|
||||
|
||||
|
||||
\section filter_borders_multiconnection Borders at multi-connection
|
||||
|
||||
Filter border 1D mesh elements (edges) according to the specified number of
|
||||
|
Loading…
Reference in New Issue
Block a user