Salome HOME
PR: synchro V6_main tag mergeto_V7_main_11Feb13
[modules/smesh.git] / doc / salome / gui / SMESH / input / smeshpy_interface.doc
index a677107cffeab97a17127d6319daa1667c3d08de..699e5c981ee9fe8046286bfafd5f5073b2316f8f 100644 (file)
 
 \page smeshpy_interface_page Python interface
 
 
 \page smeshpy_interface_page Python interface
 
-Python package smesh defines several classes, destined for easy and
-clear mesh creation and edition.
+Python API for SALOME %Mesh module defines several classes that can
+be used for easy mesh creation and edition.
 
 
-Documentation for smesh package is available in two forms:
-
-The <a href="smeshpy_doc/modules.html"> structured
-documentation for smesh package</a>, where all methods and
+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, like it is done in the GUI documentation
 classes are grouped by their functionality, like it is done in the GUI documentation
-and the \ref smeshDC "linear documentation for smesh package"
-grouped only by classes, declared in the smesh.py file.
-
-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.
+- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
+in the \ref smesh and StdMeshersDC Python packages.
 
 
-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.
+Python package \ref smesh 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.
 
 
-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).
+As soon as mesh is created, it is possible to manage it via its own
+methods, described in \ref smesh.Mesh "class Mesh" documentation.
 
 
-Class \b Mesh allows assigning algorithms to a mesh.
-Please note, that some algorithms, included in the standard SALOME
-distribution are always available:
+Class \ref smesh.Mesh "Mesh" allows assigning algorithms to a mesh.
+Please note that some algorithms, included in the standard SALOME
+distribution are always available. Python package \ref StdMeshersDC
+provides an interface for standard meshing algorithms included into
+the SALOME %Mesh module distribution, like:
 - REGULAR (1D)
 - COMPOSITE (1D)
 - MEFISTO (2D)
 - Quadrangle (2D)
 - Hexa(3D)
 - REGULAR (1D)
 - COMPOSITE (1D)
 - MEFISTO (2D)
 - Quadrangle (2D)
 - Hexa(3D)
-- etc...
-
-There are also some algorithms, which can be installed optionally,
-some of them are based on open-source meshers:
-- NETGEN (1D-2D, 2D, 1D-2D-3D, 3D)
+- etc ...
 
 
-... and others are based on commercial meshers:
-- GHS3D (3D)
-- BLSURF (2D)
+To add meshing hypotheses, it is possible to use the functions provided by the
+algorithms interfaces.
 
 
-To add hypotheses, use the interfaces, provided by the assigned
-algorithms.
-
-Below you can see an example of usage of the package smesh for 3d mesh generation. 
+An example below demonstrates usage of the Python API for 3d mesh generation. 
 
 \anchor example_3d_mesh
 
 \anchor example_3d_mesh
-<h2>Example of 3d mesh generation with NETGEN:</h2>
-
-\code
-from geompy import * 
-import smesh 
-
-###
-# Geometry: an assembly of a box, a cylinder and a truncated cone
-# meshed with tetrahedral 
-###
-
-# Define values
-name = "ex21_lamp" 
-cote = 60 
-section = 20 
-size = 200 
-radius_1 = 80 
-radius_2 = 40 
-height = 100 
-
-# Build a box
-box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote) 
-
-# Build a cylinder
-pt1 = MakeVertex(0, 0, cote/3) 
-di1 = MakeVectorDXDYDZ(0, 0, 1) 
-cyl = MakeCylinder(pt1, di1, section, size) 
-
-# Build a truncated cone
-pt2 = MakeVertex(0, 0, size) 
-cone = MakeCone(pt2, di1, radius_1, radius_2, height) 
-
-# Fuse
-box_cyl = MakeFuse(box, cyl) 
-piece = MakeFuse(box_cyl, cone) 
-
-# Add to the study
-addToStudy(piece, name) 
-
-# Create a group of faces
-group = CreateGroup(piece, ShapeType["FACE"]) 
-group_name = name + "_grp" 
-addToStudy(group, group_name) 
-group.SetName(group_name) 
-
-# Add faces to the group
-faces = SubShapeAllIDs(piece, ShapeType["FACE"]) 
-UnionIDs(group, faces) 
-
-###
-# Create a mesh
-###
-
-# Define a mesh on a geometry
-tetra = smesh.Mesh(piece, name) 
-
-# Define 1D hypothesis
-algo1d = tetra.Segment() 
-algo1d.LocalLength(10) 
-
-# Define 2D hypothesis
-algo2d = tetra.Triangle() 
-algo2d.LengthFromEdges() 
-
-# Define 3D hypothesis
-algo3d = tetra.Tetrahedron(smesh.NETGEN) 
-algo3d.MaxElementVolume(100) 
-
-# Compute the mesh
-tetra.Compute() 
-
-# Create a groupe of faces
-tetra.Group(group)
-
-\endcode
+<h2>Example of 3d mesh generation:</h2>
+\include 3dmesh.py
+<a href="../../examples/SMESH/3dmesh.py">Download this script</a>
 
 
-Examples of Python scripts for all Mesh operations are available by
+Examples of Python scripts for Mesh operations are available by
 the following links:
 
 - \subpage tui_creating_meshes_page
 the following links:
 
 - \subpage tui_creating_meshes_page
+- \subpage tui_cartesian_algo
+- \subpage tui_use_existing_faces
 - \subpage tui_viewing_meshes_page
 - \subpage tui_defining_hypotheses_page
 - \subpage tui_quality_controls_page
 - \subpage tui_viewing_meshes_page
 - \subpage tui_defining_hypotheses_page
 - \subpage tui_quality_controls_page
@@ -139,6 +54,8 @@ the following links:
 - \subpage tui_transforming_meshes_page
 - \subpage tui_notebook_smesh_page
 - \subpage tui_measurements_page
 - \subpage tui_transforming_meshes_page
 - \subpage tui_notebook_smesh_page
 - \subpage tui_measurements_page
-- \subpage tui_generate_flat_elements_page 
+- \subpage tui_generate_flat_elements_page
+- \subpage tui_work_on_objects_from_gui
+- \subpage tui_prism_3d_algo
 
 */
 
 */