From a44eb772288be535cc8de8125e98edb7330adc1f Mon Sep 17 00:00:00 2001 From: ptv Date: Thu, 10 Sep 2009 12:40:55 +0000 Subject: [PATCH] 0020105: EDF 862 SMESH : Creation of the skin elements (2D) of a 3D Mesh --- .../gui/SMESH/images/2d_from_3d_menu.png | Bin 0 -> 20123 bytes .../gui/SMESH/input/make_2dmesh_from_3d.doc | 22 +++++++++++++ .../gui/SMESH/input/modifying_meshes.doc | 4 ++- src/SMESH/SMESH_MeshEditor.cxx | 21 +++++++++--- src/SMESHGUI/SMESHGUI.cxx | 30 ++++++++++-------- 5 files changed, 58 insertions(+), 19 deletions(-) create mode 100644 doc/salome/gui/SMESH/images/2d_from_3d_menu.png create mode 100644 doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc diff --git a/doc/salome/gui/SMESH/images/2d_from_3d_menu.png b/doc/salome/gui/SMESH/images/2d_from_3d_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5117214dacaa84c2c4ef4bfba338d141a7f344 GIT binary patch literal 20123 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc b/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc new file mode 100644 index 000000000..23ea94517 --- /dev/null +++ b/doc/salome/gui/SMESH/input/make_2dmesh_from_3d.doc @@ -0,0 +1,22 @@ +/*! + +\page make_2dmesh_from_3d_page Generate the skin elements (2D) of a mesh having 3D elements + +\n This functionality allows you to generate 2D mesh elements as skin +on existing 3D mesh elements + +To generate 2D mesh: +
    +
  1. From the Modification menu choose the "Create 2D mesh from 3D" +Mesh item, or invoke from popup menu. + +\image html 2d_from_3d_menu.png + +The algorithm detects boundary volume faces without connections to +other volumes and create 2D mesh elements on face nodes. If mesh +already contains 2D elements on detected nodes - no new element +created. The result dilog shows mesh information statistoc about new +created 2D mesh elements. +
+ +*/ diff --git a/doc/salome/gui/SMESH/input/modifying_meshes.doc b/doc/salome/gui/SMESH/input/modifying_meshes.doc index f7a882524..cf63ff5f4 100644 --- a/doc/salome/gui/SMESH/input/modifying_meshes.doc +++ b/doc/salome/gui/SMESH/input/modifying_meshes.doc @@ -45,9 +45,11 @@ of the selected node or edge.
  • Apply \subpage pattern_mapping_page "pattern mapping".
  • \subpage convert_to_from_quadratic_mesh_page "Convert regular mesh to quadratic", or vice versa.
  • +
  • \subpage make_2dmesh_from_3d_page "Create 2D mesh from 3D".
  • + \note It is possible to use the variables defined in the SALOME \b NoteBook to specify the numerical parameters used for modification of any object. -*/ \ No newline at end of file +*/ diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index f2961c5a6..e84487512 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -8830,7 +8830,8 @@ bool SMESH_MeshEditor::Make2DMeshFrom3D() { const SMDS_MeshVolume* volume = vIt->next(); SMDS_VolumeTool vTool( volume ); - bool isPoly = volume->IsPoly(); + const bool isPoly = volume->IsPoly(); + const bool isQuad = volume->IsQuadratic(); for ( int iface = 0, n = vTool.NbFaces(); iface < n; iface++ ) { if (!vTool.IsFreeFace(iface)) @@ -8838,12 +8839,24 @@ bool SMESH_MeshEditor::Make2DMeshFrom3D() vector nodes; int nbFaceNodes = vTool.NbFaceNodes(iface); const SMDS_MeshNode** faceNodes = vTool.GetFaceNodes(iface); - if (vTool.IsFaceExternal(iface)) - for (int inode = 0; inode < nbFaceNodes; inode++) + if (vTool.IsFaceExternal(iface)) + { + int inode = 0; + for ( ; inode < nbFaceNodes; inode += isQuad ? 2 : 1) nodes.push_back(faceNodes[inode]); + if (isQuad) + for ( inode = 1; inode < nbFaceNodes; inode += 2) + nodes.push_back(faceNodes[inode]); + } else - for (int inode = nbFaceNodes - 1; inode >= 0; inode--) + { + int inode = nbFaceNodes-1; + for ( ; inode >=0; inode -= isQuad ? 2 : 1) nodes.push_back(faceNodes[inode]); + if (isQuad) + for ( inode = nbFaceNodes-2; inode >=0; inode -= 2) + nodes.push_back(faceNodes[inode]); + } // add new face based on volume nodes if (aMesh->FindFace( nodes ) ) diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 2190c6a3c..4b41c1d20 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -3068,6 +3068,19 @@ void SMESHGUI::initialize( CAM_Application* app ) hyp_alg = hypo + " " + algo; // popup for object browser + QString + isInvisible("not( isVisible )"), + isEmpty("numberOfNodes = 0"), + isNotEmpty("numberOfNodes <> 0"), + + // has nodes, edges, etc in VISIBLE! actor + hasNodes("(numberOfNodes > 0 )"),//&& isVisible)"), + hasElems("(count( elemTypes ) > 0)"), + hasDifferentElems("(count( elemTypes ) > 1)"), + hasElems0d("({'Elem0d'} in elemTypes)"), + hasEdges("({'Edge'} in elemTypes)"), + hasFaces("({'Face'} in elemTypes)"), + hasVolumes("({'Volume'} in elemTypes)"); createPopupItem( 150, OB, mesh, "&& selcount=1 && isImported" ); // FILE INFORMATION createPopupItem( 703, OB, mesh, "&& isComputable"); // CREATE_SUBMESH @@ -3096,6 +3109,9 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); createPopupItem( 4043, OB, mesh ); // CLEAR_MESH popupMgr()->insert( separator(), -1, 0 ); + createPopupItem( 417, OB, mesh/*, "&& " + hasElems*/); // convert to quadratic + createPopupItem( 418, OB, mesh/*, "&& " + hasVolumes*/); // create 2D mesh on 3D + popupMgr()->insert( separator(), -1, 0 ); QString only_one_non_empty = QString( " && %1=1 && numberOfNodes>0" ).arg( dc ); @@ -3123,20 +3139,6 @@ void SMESHGUI::initialize( CAM_Application* app ) popupMgr()->insert( separator(), -1, 0 ); int anId; - QString - isInvisible("not( isVisible )"), - isEmpty("numberOfNodes = 0"), - isNotEmpty("numberOfNodes <> 0"), - - // has nodes, edges, etc in VISIBLE! actor - hasNodes("(numberOfNodes > 0 )"),//&& isVisible)"), - hasElems("(count( elemTypes ) > 0)"), - hasDifferentElems("(count( elemTypes ) > 1)"), - hasElems0d("({'Elem0d'} in elemTypes)"), - hasEdges("({'Edge'} in elemTypes)"), - hasFaces("({'Face'} in elemTypes)"), - hasVolumes("({'Volume'} in elemTypes)"); - QString aClient = QString( "%1client in {%2}" ).arg( lc ).arg( "'VTKViewer'" ); QString aType = QString( "%1type in {%2}" ).arg( lc ); aType = aType.arg( mesh_group ); -- 2.39.2