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

106 lines
3.5 KiB
Plaintext

/*!
\page smesh_migration_page Modifing Mesh Python scripts from SALOME 6 and before
\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality:
<ul>
<li>\subpage tui_execution_distribution_page</li>
<li>\subpage tui_auto_completion_documentation_page</li>
</ul>
\n Scripts generated for SALOME 6 and older versions must be adapted to work in SALOME 7.2 with all functionality.
\n A compatibility mode allows old scripts to work in almost all cases, but with a warning.
See also <li>\subpage geompy_migration_page</li>
<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 old mode (from dump):
\code
import smesh, SMESH, SALOMEDS
smesh.SetCurrentStudy(theStudy)
\endcode
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>algorithms are no longer in the namespace <em>smesh</em> but in <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 algoritms concerned are <em>REGULAR, PYTHON, COMPOSITE, MEFISTO, Hexa, QUADRANGLE, RADIAL_QUAD</em>.
\n SMESH Plugins provides algorithms such 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 where at the same time in namespaces <em>smesh</em> and <em>SMESH</em>.
They are now only in namespace <em>SMESH</em>.</b>.
\n The dump function was already using the namespace <em>SMESH</em>,
so, if your script was built with the help of dump function, it should be already OK for that part.
The more 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 explicitely an %SMESH Plugin, they are now 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 salomeGHS3DPlugin .import GHS3DPluginBuilder
from salome.HexoticPLUGIN import HexoticPLUGINBuilder
\endcode
*/