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;fp=doc%2Fsalome%2Fgui%2FSMESH%2Finput%2Fsmeshpy_interface.doc;h=e725ef99cf237c4d8d012ac6cd3f0752efb768f4;hp=17255212cd841c7ae21b152f24ace185123836b6;hb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070 diff --git a/doc/salome/gui/SMESH/input/smeshpy_interface.doc b/doc/salome/gui/SMESH/input/smeshpy_interface.doc index 17255212c..e725ef99c 100644 --- a/doc/salome/gui/SMESH/input/smeshpy_interface.doc +++ b/doc/salome/gui/SMESH/input/smeshpy_interface.doc @@ -2,128 +2,137 @@ \page smeshpy_interface_page Python interface -\n Python package smesh defines several classes, destined for easy and +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 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 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 +Documentation for smesh package is available in two forms: + +The structured +documentation for smesh package, 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. + +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 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. + +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). + +Class \b Mesh allows assigning algorithms to a mesh. +Please note, that some algorithms, included in the standard SALOME +distribution are always available: +- REGULAR (1D) +- COMPOSITE (1D) +- MEFISTO (2D) +- Quadrangle (2D) +- Hexa(3D) +- etc... + +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. +Below you can see an example of usage of the package smesh for 3d mesh generation. -

Example of 3d mesh generation with NETGEN:

+\anchor example_3d_mesh +

Example of 3d mesh generation:

-\n from geompy import * -\n import smesh +\code +from geompy import * +import smesh -# Geometry -\n # an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral. +### +# Geometry: an assembly of a box, a cylinder and a truncated cone +# meshed with tetrahedral +### -# 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 +# Define values +name = "ex21_lamp" +cote = 60 +section = 20 +size = 200 +radius_1 = 80 +radius_2 = 40 +height = 100 -# Build a box -\n box = MakeBox(-cote, -cote, -cote, +cote, +cote, +cote) +# Build a box +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 cylinder +pt1 = MakeVertex(0, 0, cote/3) +di1 = MakeVectorDXDYDZ(0, 0, 1) +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) +# Build a truncated cone +pt2 = MakeVertex(0, 0, size) +cone = MakeCone(pt2, di1, radius_1, radius_2, height) -# Fuse -\n box_cyl = MakeFuse(box, cyl) -\n piece = MakeFuse(box_cyl, cone) +# Fuse +box_cyl = MakeFuse(box, cyl) +piece = MakeFuse(box_cyl, cone) -# Add in study -\n addToStudy(piece, name) +# Add to the study +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) +# Create a group of faces +group = CreateGroup(piece, ShapeType["FACE"]) +group_name = name + "_grp" +addToStudy(group, group_name) +group.SetName(group_name) -# Add faces in the group -\n faces = SubShapeAllIDs(piece, ShapeType["FACE"]) -\n UnionIDs(group, faces) +# Add faces to the group +faces = SubShapeAllIDs(piece, ShapeType["FACE"]) +UnionIDs(group, faces) -# Create a mesh +### +# Create a mesh +### -# Define a mesh on a geometry -\n tetra = smesh.Mesh(piece, name) +# Define a mesh on a geometry +tetra = smesh.Mesh(piece, name) -# Define 1D hypothesis -\n algo1d = tetra.Segment() -\n algo1d.LocalLength(10) +# Define 1D hypothesis +algo1d = tetra.Segment() +algo1d.LocalLength(10) -# Define 2D hypothesis -\n algo2d = tetra.Triangle() -\n algo2d.LengthFromEdges() +# Define 2D hypothesis +algo2d = tetra.Triangle() +algo2d.LengthFromEdges() -# Define 3D hypothesis -\n algo3d = tetra.Tetrahedron(smesh.NETGEN) -\n algo3d.MaxElementVolume(100) +# Define 3D hypothesis +algo3d = tetra.Tetrahedron() +algo3d.MaxElementVolume(100) -# Compute the mesh -\n tetra.Compute() +# Compute the mesh +tetra.Compute() -# Create a groupe of faces -\n tetra.Group(group) +# Create a groupe of faces +tetra.Group(group) -\n Examples of Python scripts for all Mesh operations are available by -the following links: +\endcode - +Examples of Python scripts for all Mesh operations are available by +the following links: +- \subpage tui_creating_meshes_page +- \subpage tui_cartesian_algo +- \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 */