PR: doc on script migration

This commit is contained in:
prascle 2013-04-12 16:27:32 +00:00
parent 677ff35aec
commit 0ea819f668
2 changed files with 109 additions and 0 deletions

View File

@ -0,0 +1,105 @@
/*!
\page smesh_migration_page Modifing 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.
TODO: see geometry migration
<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
*/

View File

@ -11,6 +11,10 @@ classes are grouped by their functionality, like it is done in the GUI documenta
- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared - <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages. in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages.
\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality,
\n You may have to modify your scripts generated with SALOME 6 or older versions.
\n Please see <li>\ref smesh_migration_page</li>
Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle
meshes. It can be used to create an empty mesh or to import mesh from the data file. meshes. It can be used to create an empty mesh or to import mesh from the data file.