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 See also *"Modifying Geometry Python scripts from SALOME 6 and before"* page in the Geometry module's
16 * **Salome initialisation** must always be done as shown below.
18 (*salome_init()* can be invoked safely several times)::
23 * **smesh initialisation** is modified.
25 The old mode (from dump)::
27 import smesh, SMESH, SALOMEDS
28 smesh.SetCurrentStudy(salome.myStudy)
32 import SMESH, SALOMEDS
33 from salome.smesh import smeshBuilder
34 smesh = smeshBuilder.New()
37 * Of course, **from smesh import** * is **no more possible.**
39 You have to explicitly write *smesh.some_method()*.
41 * All **algorithms** have been transferred from the namespace *smesh* to the namespace *smeshBuilder*.
45 MEFISTO_2D_1 = Mesh_1.Triangle(algo=smesh.MEFISTO,geom=Face_1)
49 MEFISTO_2D_1 = Mesh_1.Triangle(algo=smeshBuilder.MEFISTO,geom=Face_1)
51 StdMeshers algorithms concerned are *REGULAR, PYTHON, COMPOSITE, MEFISTO, Hexa, QUADRANGLE, RADIAL_QUAD*.
53 SMESH Plugins provide such algorithms as: *NETGEN, NETGEN_FULL, FULL_NETGEN, NETGEN_1D2D3D, NETGEN_1D2D, NETGEN_2D, NETGEN_3D*.
55 If you use DISTENE plugins, you also have *BLSURF, GHS3D, GHS3DPRL, Hexotic*.
57 * Some **variables** were available in both namespaces *smesh* and *SMESH*. Now they are available only in namespace *SMESH*.
59 The dump function used only the namespace *SMESH*,
60 so, if your script was built with the help of the dump function, it should be already OK in this respect.
62 The most used variables concerned are:
64 * *NODE, EDGE, FACE, VOLUME, ALL.*
65 * *FT_xxx, geom_xxx, ADD_xxx...*
69 srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", smesh.FACE )
70 mesh.MakeGroup("Tetras",smesh.VOLUME,smesh.FT_ElemGeomType,"=",smesh.Geom_TETRA)
71 filter = smesh.GetFilter(smesh.FACE, smesh.FT_AspectRatio, smesh.FT_MoreThan, 6.5)
75 srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
76 mesh.MakeGroup("Tetras",SMESH.VOLUME,SMESH.FT_ElemGeomType,"=",SMESH.Geom_TETRA)
77 filter = smesh.GetFilter(SMESH.FACE, SMESH.FT_AspectRatio, SMESH.FT_MoreThan, 6.5)
80 * The namespace **smesh.smesh** does not exist any more, use **smesh** instead.
84 Compound1 = smesh.smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
88 Compound1 = smesh.Concatenate([Mesh_inf.GetMesh(), Mesh_sup.GetMesh()], 0, 1, 1e-05)
90 * If you need to **import a SMESH Plugin** explicitly, keep in mind that they are now located in separate namespaces.
102 from salome.StdMeshers import StdMeshersBuilder
103 from salome.NETGENPlugin import NETGENPluginBuilder
104 from salome.BLSURFPlugin import BLSURFPluginBuilder
105 from salome.GHS3DPlugin import GHS3DPluginBuilder
106 from salome.HexoticPLUGIN import HexoticPLUGINBuilder