1 .. _smesh_migration_page:
3 ******************************************************
4 Modifying Mesh Python scripts from SALOME 6 and before
5 ******************************************************
7 In SALOME 7.2, the Python interface for Mesh has been slightly modified to offer new functionality:
10 Scripts generated for SALOME 6 and older versions must be adapted to work in SALOME 7.2 with full functionality.
11 The compatibility mode allows old scripts to work in almost all cases, but with a warning.
13 * **Salome initialisation** must always be done as shown below.
15 (*salome_init()* can be invoked safely several times)::
20 * **smesh initialisation** is modified.
22 The old mode (from dump)::
24 import smesh, SMESH, SALOMEDS
25 smesh.SetCurrentStudy(salome.myStudy)
29 import SMESH, SALOMEDS
30 from salome.smesh import smeshBuilder
31 smesh = smeshBuilder.New()
34 * Of course, **from smesh import** * is **no more possible.**
36 You have to explicitly write *smesh.some_method()*.
38 * All **algorithms** have been transferred from the namespace *smesh* to the namespace *smeshBuilder*.
42 MEFISTO_2D_1 = Mesh_1.Triangle(algo=smesh.MEFISTO,geom=Face_1)
46 MEFISTO_2D_1 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_1)
48 StdMeshers algorithms concerned are *REGULAR, PYTHON, COMPOSITE, MEFISTO, Hexa, QUADRANGLE, RADIAL_QUAD*.
50 SMESH Plugins provide such algorithms as: *NETGEN, NETGEN_FULL, FULL_NETGEN, NETGEN_1D2D3D, NETGEN_1D2D, NETGEN_2D, NETGEN_3D*.
52 If you use DISTENE plugins, you also have *BLSURF, GHS3D, GHS3DPRL, Hexotic*.
54 * Some **variables** were available in both namespaces *smesh* and *SMESH*. Now they are available only in namespace *SMESH*.
56 The dump function used only the namespace *SMESH*,
57 so, if your script was built with the help of the dump function, it should be already OK in this respect.
59 The most used variables concerned are:
61 * *NODE, EDGE, FACE, VOLUME, ALL.*
62 * *FT_xxx, geom_xxx, ADD_xxx...*
66 srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", smesh.FACE )
67 mesh.MakeGroup("Tetras",smesh.VOLUME,smesh.FT_ElemGeomType,"=",smesh.Geom_TETRA)
68 filter = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 6.5)
72 srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
73 mesh.MakeGroup("Tetras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_TETRA)
74 filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 6.5)
77 * The namespace **smesh.smesh** does not exist any more, use **smesh** instead.
81 Compound1 = smesh.smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
85 Compound1 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
87 * If you need to **import a SMESH Plugin** explicitly, keep in mind that they are now located in separate namespaces.
99 from salome.StdMeshers import StdMeshersBuilder
100 from salome.NETGENPlugin import NETGENPluginBuilder
101 from salome.BLSURFPlugin import BLSURFPluginBuilder
102 from salome.GHS3DPlugin import GHS3DPluginBuilder
103 from salome.HexoticPLUGIN import HexoticPLUGINBuilder