X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Fsmeshpy_interface.doc;h=df7e15967f55bcc6c0c1af93dff509fd40d880c3;hp=e725ef99cf237c4d8d012ac6cd3f0752efb768f4;hb=513a8ebdac590b2e23d81adcb2fc1de76df90eef;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/doc/salome/gui/SMESH/input/smeshpy_interface.doc b/doc/salome/gui/SMESH/input/smeshpy_interface.doc index e725ef99c..df7e15967 100644 --- a/doc/salome/gui/SMESH/input/smeshpy_interface.doc +++ b/doc/salome/gui/SMESH/input/smeshpy_interface.doc @@ -2,127 +2,67 @@ \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 structured -documentation for smesh package, where all methods and +Documentation for SALOME %Mesh module Python API is available in two forms: +- Structured documentation, where all methods and 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. +- Linear documentation 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 \ref smesh_migration_page + +The SMESH python package contains helper functions to manipulate mesh elements and +interact with these elements. + +Note that these functions either encapsulate the python programming interface of SMESH core +(the CORBA or SWIG interface for example) or extend existing utilities as the smesh.py module. + +The functions are distributed in the python package \b salome.smesh. + +\note +The main package \b salome contains other sub-packages that are distributed with the other +SALOME modules. For example, the KERNEL module provides the python package \b salome.kernel +and GEOM the package \b salome.geom. -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. +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. -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. +Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study. -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 class \ref smeshBuilder.Mesh "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 smeshBuilder.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 StdMeshersBuilder "StdMeshersBuilder" +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) -- etc... +- etc ... -To add hypotheses, use the interfaces, provided by the assigned -algorithms. +To add meshing hypotheses, it is possible to use the functions provided by the +algorithms interfaces. -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

Example of 3d mesh generation:

+\tui_script{3dmesh.py} -\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() -algo3d.MaxElementVolume(100) - -# Compute the mesh -tetra.Compute() - -# Create a groupe of faces -tetra.Group(group) - -\endcode - -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 - \subpage tui_cartesian_algo +- \subpage tui_use_existing_faces - \subpage tui_viewing_meshes_page - \subpage tui_defining_hypotheses_page - \subpage tui_quality_controls_page @@ -134,5 +74,6 @@ the following links: - \subpage tui_measurements_page - \subpage tui_generate_flat_elements_page - \subpage tui_work_on_objects_from_gui +- \subpage tui_prism_3d_algo */