\page smeshpy_interface_page Python interface
-\n Python package smesh defines several classes, destined for easy and
-clear mesh creation and edition.
-
-\n Documentation for smesh package is available in two forms:
-
-\n The <a href="smeshpy_doc/modules.html"> structured
- documentation for smesh package</a>, where all methods and
- classes are grouped by their functionality, like it is done in the GUI documentation
-\n and the \ref smeshDC "linear documentation for smesh package"
- grouped only by classes, declared in the smesh.py file.
-
-\n The main page of the \ref smeshDC "linear documentation for smesh package"
- contains a list of data structures and a list of
- functions, provided by the package smesh.py. The first item in
- the list of data structures (\ref smeshDC::smeshDC "class smesh")
- also represents documentation for the methods of the package smesh.py itself.
-
-\n The package smesh.py provides an interface to create and handle
- meshes. Use it to create an empty mesh or to import it from the data file.
-
-\n Once a mesh has been created, it is possible to manage it via its own
- methods, described at \ref smeshDC::Mesh "class Mesh" documentation
- (it is also accessible by the second item "class Mesh" in the list of data structures).
-
-\n Class Mesh allows assigning algorithms to a mesh.
-\n Please note, that some algorithms,
- included in the standard Salome installation are always available:
- - REGULAR(1D), COMPOSITE(1D), MEFISTO(2D), Quadrangle(2D), Hexa(3D), etc.
-
-\n There are also some algorithms, which can be installed optionally,
-\n some of them are based on open-source meshers:
- - NETGEN(1D-2D,2D,1D-2D-3D,3D),
-
-\n others are based on commercial meshers:
- - GHS3D(3D), BLSURF(2D).
-
-\n To add hypotheses, use the interfaces, provided by the assigned
-algorithms.
-
-\n Below you can see an example of usage of the package smesh for 3d mesh generation.
-
-<h2>Example of 3d mesh generation with NETGEN:</h2>
-
-\n from geompy import *
-\n import smesh
-
-<b># Geometry</b>
-\n <b># an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral</b>.
-
-<b># Define values</b>
-\n name = "ex21_lamp"
-\n cote = 60
-\n section = 20
-\n size = 200
-\n radius_1 = 80
-\n radius_2 = 40
-\n height = 100
-
-<b># Build a box</b>
-\n box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote)
-
-<b># Build a cylinder</b>
-\n pt1 = MakeVertex(0, 0, cote/3)
-\n di1 = MakeVectorDXDYDZ(0, 0, 1)
-\n cyl = MakeCylinder(pt1, di1, section, size)
-
-<b># Build a truncated cone</b>
-\n pt2 = MakeVertex(0, 0, size)
-\n cone = MakeCone(pt2, di1, radius_1, radius_2, height)
-
-<b># Fuse </b>
-\n box_cyl = MakeFuse(box, cyl)
-\n piece = MakeFuse(box_cyl, cone)
-
-<b># Add in study</b>
-\n addToStudy(piece, name)
-
-<b># Create a group of faces</b>
-\n group = CreateGroup(piece, ShapeType["FACE"])
-\n group_name = name + "_grp"
-\n addToStudy(group, group_name)
-\n group.SetName(group_name)
-
-<b># Add faces in the group</b>
-\n faces = SubShapeAllIDs(piece, ShapeType["FACE"])
-\n UnionIDs(group, faces)
-
-<b># Create a mesh</b>
-
-<b># Define a mesh on a geometry</b>
-\n tetra = smesh.Mesh(piece, name)
-
-<b># Define 1D hypothesis</b>
-\n algo1d = tetra.Segment()
-\n algo1d.LocalLength(10)
-
-<b># Define 2D hypothesis</b>
-\n algo2d = tetra.Triangle()
-\n algo2d.LengthFromEdges()
-
-<b># Define 3D hypothesis</b>
-\n algo3d = tetra.Tetrahedron(smesh.NETGEN)
-\n algo3d.MaxElementVolume(100)
-
-<b># Compute the mesh</b>
-\n tetra.Compute()
-
-<b># Create a groupe of faces</b>
-\n tetra.Group(group)
-
-\n Examples of Python scripts for all Mesh operations are available by
+Python API for SALOME %Mesh module defines several classes that can
+be used for easy mesh creation and edition.
+
+Documentation for SALOME %Mesh module Python API is available in two forms:
+- <a href="smeshpy_doc/modules.html">Structured documentation</a>, where all methods and
+classes are grouped by their functionality.
+- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
+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 \subpage smesh_migration_page.
+
+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.
+
+As soon as a mesh is created, it is possible to manage it via its own
+methods, described in class \ref smeshBuilder.Mesh "Mesh" documentation.
+
+Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study.
+
+A usual workflow to generate a mesh on geometry is following:
+<ol>
+ <li>Create an instance of \ref smeshBuilder.smeshBuilder "smeshBuilder":
+ <pre>
+ from salome.smesh import smeshBuilder
+ smesh = smeshBuilder.New( salome.myStudy )
+ </pre></li>
+ <li>Create a \ref smeshBuilder.Mesh "mesh" object:
+ <pre>
+ mesh = \ref smeshBuilder.smeshBuilder.Mesh "smesh.Mesh( geometry )"
+ </pre></li>
+ <li> Create and assign \ref basic_meshing_algos_page "algorithms" by
+ calling corresponding methods of the mesh. If a sub-shape is
+ provided as an argument, a \ref constructing_submeshes_page "sub-mesh"
+ is implicitly created on this sub-shape:
+ <pre>
+ regular1D = \ref smeshBuilder.Mesh.Segment "mesh.Segment"()
+ mefisto = \ref smeshBuilder.Mesh.Triangle "mesh.Triangle"( smeshBuilder.MEFISTO )
+ # use other triangle algorithm on a face -- a sub-mesh appears in the mesh
+ netgen = \ref smeshBuilder.Mesh.Triangle "mesh.Triangle"( smeshBuilder.NETGEN_1D2D, face )
+ </pre></li>
+ <li> Create and assign \ref about_hypo_page "hypotheses" by calling
+ corresponding methods of algorithms:
+ <pre>
+ segLen10 = \ref StdMeshersBuilder.StdMeshersBuilder_Segment.LocalLength "regular1D.LocalLength"( 10. )
+ maxArea = \ref StdMeshersBuilder.StdMeshersBuilder_Segment.LocalLength "mefisto.MaxElementArea"( 100. )
+ netgen.SetMaxSize( 20. )
+ netgen.SetFineness( smeshBuilder.VeryCoarse )
+ </pre>
+ </li>
+ <li> \ref compute_anchor "Compute" the mesh (generate mesh nodes and elements):
+ <pre>
+ \ref Mesh.Compute "mesh.Compute"()
+ </pre>
+ </li>
+</ol>
+
+An easiest way to start with Python scripting is to do something in
+GUI and then to get a corresponding Python script via
+<b> File > Dump Study </b> menu item. Don't forget that you can get
+all methods of any object in hand (e.g. a mesh group or a hypothesis)
+by calling \a dir() Python built-in function.
+
+All methods of the Mesh Group can be found in \ref tui_create_standalone_group sample script.
+
+An example below demonstrates usage of the Python API for 3d mesh
+generation and for retrieving information on mesh nodes and elements.
+
+\anchor example_3d_mesh
+<h2>Example of 3d mesh generation:</h2>
+\tui_script{3dmesh.py}
+
+Examples of Python scripts for Mesh operations are available by
the following links:
-<ul>
-<li>\subpage tui_creating_meshes_page</li>
-<li>\subpage tui_viewing_meshes_page</li>
-<li>\subpage tui_defining_hypotheses_page</li>
-<li>\subpage tui_quality_controls_page</li>
-<li>\subpage tui_grouping_elements_page</li>
-<li>\subpage tui_modifying_meshes_page</li>
-<li>\subpage tui_transforming_meshes_page</li>
-</ul>
-
+- \subpage tui_creating_meshes_page
+- \subpage tui_defining_hypotheses_page
+- \subpage tui_grouping_elements_page
+- \subpage tui_filters_page
+- \subpage tui_modifying_meshes_page
+- \subpage tui_transforming_meshes_page
+- \subpage tui_viewing_meshes_page
+- \subpage tui_quality_controls_page
+- \subpage tui_measurements_page
+- \subpage tui_work_on_objects_from_gui
+- \subpage tui_notebook_smesh_page
+- \subpage tui_cartesian_algo
+- \subpage tui_use_existing_faces
+- \subpage tui_prism_3d_algo
+- \subpage tui_generate_flat_elements_page
*/