X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Fsmeshpy_interface.doc;h=df7e15967f55bcc6c0c1af93dff509fd40d880c3;hb=fd1943809d016d0223da20a2a492b157cb17146a;hp=17255212cd841c7ae21b152f24ace185123836b6;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070;p=modules%2Fsmesh.git diff --git a/doc/salome/gui/SMESH/input/smeshpy_interface.doc b/doc/salome/gui/SMESH/input/smeshpy_interface.doc index 17255212c..df7e15967 100644 --- a/doc/salome/gui/SMESH/input/smeshpy_interface.doc +++ b/doc/salome/gui/SMESH/input/smeshpy_interface.doc @@ -2,128 +2,78 @@ \page smeshpy_interface_page Python interface -\n 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. -\n Documentation for smesh package is available in two forms: +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 +- Linear documentation grouped only by classes, declared +in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages. -\n The structured - documentation for smesh package, 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 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 -\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. +The SMESH python package contains helper functions to manipulate mesh elements and +interact with these elements. -\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. +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. -\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). +The functions are distributed in the python package \b salome.smesh. -\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. +\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. -\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), +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. -\n others are based on commercial meshers: - - GHS3D(3D), BLSURF(2D). +Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study. -\n To add hypotheses, use the interfaces, provided by the assigned -algorithms. +As soon as mesh is created, it is possible to manage it via its own +methods, described in class \ref smeshBuilder.Mesh "Mesh" documentation. -\n Below you can see an example of usage of the package smesh for 3d mesh generation. +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 ... -

Example of 3d mesh generation with NETGEN:

+To add meshing hypotheses, it is possible to use the functions provided by the +algorithms interfaces. -\n from geompy import * -\n import smesh +An example below demonstrates usage of the Python API for 3d mesh generation. -# Geometry -\n # an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral. +\anchor example_3d_mesh +

Example of 3d mesh generation:

+\tui_script{3dmesh.py} -# Define values -\n name = "ex21_lamp" -\n cote = 60 -\n section = 20 -\n size = 200 -\n radius_1 = 80 -\n radius_2 = 40 -\n height = 100 - -# Build a box -\n box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote) - -# Build a cylinder -\n pt1 = MakeVertex(0, 0, cote/3) -\n di1 = MakeVectorDXDYDZ(0, 0, 1) -\n cyl = MakeCylinder(pt1, di1, section, size) - -# Build a truncated cone -\n pt2 = MakeVertex(0, 0, size) -\n cone = MakeCone(pt2, di1, radius_1, radius_2, height) - -# Fuse -\n box_cyl = MakeFuse(box, cyl) -\n piece = MakeFuse(box_cyl, cone) - -# Add in study -\n addToStudy(piece, name) - -# Create a group of faces -\n group = CreateGroup(piece, ShapeType["FACE"]) -\n group_name = name + "_grp" -\n addToStudy(group, group_name) -\n group.SetName(group_name) - -# Add faces in the group -\n faces = SubShapeAllIDs(piece, ShapeType["FACE"]) -\n UnionIDs(group, faces) - -# Create a mesh - -# Define a mesh on a geometry -\n tetra = smesh.Mesh(piece, name) - -# Define 1D hypothesis -\n algo1d = tetra.Segment() -\n algo1d.LocalLength(10) - -# Define 2D hypothesis -\n algo2d = tetra.Triangle() -\n algo2d.LengthFromEdges() - -# Define 3D hypothesis -\n algo3d = tetra.Tetrahedron(smesh.NETGEN) -\n algo3d.MaxElementVolume(100) - -# Compute the mesh -\n tetra.Compute() - -# Create a groupe of faces -\n tetra.Group(group) - -\n 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 +- \subpage tui_filters_page +- \subpage tui_grouping_elements_page +- \subpage tui_modifying_meshes_page +- \subpage tui_transforming_meshes_page +- \subpage tui_notebook_smesh_page +- \subpage tui_measurements_page +- \subpage tui_generate_flat_elements_page +- \subpage tui_work_on_objects_from_gui +- \subpage tui_prism_3d_algo */