smesh/doc/salome/gui/SMESH/input/smesh_migration.doc

101 lines
3.5 KiB
Plaintext

/*!
\page smesh_migration_page Modifing Mesh Python scripts from SALOME 6 and before
\n In SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality:
\n Scripts generated for SALOME 6 and older versions must be adapted to work in SALOME 7.2 with full functionality.
\n The compatibility mode allows old scripts to work in almost all cases, but with a warning.
See also \subpage geompy_migration_page
<b>Salome initialisation must always be done as shown below</b>
\n (<em>salome_init()</em> can be invoked safely several times):
\code
import salome
salome.salome_init()
\endcode
<b>smesh initialisation is modified.</b>
\n the old mode (from dump):
\code
import smesh, SMESH, SALOMEDS
smesh.SetCurrentStudy(salome.myStudy)
\endcode
\n the new mode:
\code
import SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New(salome.myStudy)
\endcode
<b> Of course, <em>from smesh import *</em> is no more possible.</b>
\n You have to explicitely write <em>smesh.some_method()</em>.
<b>All algorithms have been transferred from the namespace <em>smesh</em> to the namespace <em>smeshBuilder</em>.</b>
\n For instance:
\code
MEFISTO_2D_1 = Mesh_1.Triangle(algo=smesh.MEFISTO,geom=Face_1)
\endcode
is replaced by:
\code
MEFISTO_2D_1 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_1)
\endcode
\n StdMeshers algorithms concerned are <em>REGULAR, PYTHON, COMPOSITE, MEFISTO, Hexa, QUADRANGLE, RADIAL_QUAD</em>.
\n SMESH Plugins provide such algorithms as: <em> NETGEN, NETGEN_FULL, FULL_NETGEN, NETGEN_1D2D3D, NETGEN_1D2D, NETGEN_2D, NETGEN_3D</em>.
\n If you use DISTENE plugins, you also have <em>BLSURF, GHS3D, GHS3DPRL, Hexotic</em>.
<b>Some variables were available in both namespaces <em>smesh</em> and <em>SMESH</em>.
Now they are available only in namespace <em>SMESH</em></b>.
\n The dump function used only the namespace <em>SMESH</em>,
so, if your script was built with the help of the dump function, it should be already OK in this respect.
The most used variables concerned are:
\n <em>NODE, EDGE, FACE, VOLUME, ALL.</em>
\n <em>FT_xxx, geom_xxx, ADD_xxx...</em>
\n For instance:
\code
srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", smesh.FACE )
mesh.MakeGroup("Tetras",smesh.VOLUME,smesh.FT_ElemGeomType,"=",smesh.Geom_TETRA)
filter = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 6.5)
\endcode
is replaced by:
\code
srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
mesh.MakeGroup("Tetras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_TETRA)
filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 6.5)
\endcode
<b>The namespace <em>smesh.smesh</em> does not exist any more, use <em>smesh</em> instead.</b>
\n For instance:
\code
Compound1 = smesh.smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
\endcode
is replaced by:
\code
Compound1 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
\endcode
<b>If you need to import a %SMESH Plugin explicitely, keep in mind that they are now located in separate namespaces.</b>
\n For instance:
\code
import StdMeshers
import NETGENPlugin
import BLSURFPlugin
import GHS3DPlugin
import HexoticPLUGIN
\endcode
is replaced by:
\code
from salome.StdMeshers import StdMeshersBuilder
from salome.NETGENPlugin import NETGENPluginBuilder
from salome.BLSURFPlugin import BLSURFPluginBuilder
from salome.GHS3DPlugin import GHS3DPluginBuilder
from salome.HexoticPLUGIN import HexoticPLUGINBuilder
\endcode
*/