smesh/doc/salome/gui/SMESH/input/smeshpy_interface.doc

97 lines
4.0 KiB
Plaintext
Raw Normal View History

/*!
2009-02-17 10:27:49 +05:00
\page smeshpy_interface_page Python interface
2012-10-08 17:56:59 +06:00
Python API for SALOME %Mesh module defines several classes that can
be used for easy mesh creation and edition.
2012-10-08 17:56:59 +06:00
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.
2012-10-08 17:56:59 +06:00
- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> grouped only by classes, declared
2013-04-08 20:25:54 +06:00
in the \ref smeshBuilder and \ref StdMeshersBuilder Python packages.
2012-08-09 16:03:55 +06:00
\n With SALOME 7.2, the Python interface for %Mesh has been slightly modified to offer new functionality.
2013-04-12 22:27:32 +06:00
\n You may have to modify your scripts generated with SALOME 6 or older versions.
\n Please see \ref smesh_migration_page.
2013-04-08 20:25:54 +06:00
Class \ref smeshBuilder.smeshBuilder "smeshBuilder" provides an interface to create and handle
2012-10-08 17:56:59 +06:00
meshes. It can be used to create an empty mesh or to import mesh from the data file.
2012-08-09 16:03:55 +06:00
2012-10-08 17:56:59 +06:00
As soon as mesh is created, it is possible to manage it via its own
2013-04-08 20:25:54 +06:00
methods, described in class \ref smeshBuilder.Mesh "Mesh" documentation.
2012-08-09 16:03:55 +06:00
Class \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study.
2012-08-09 16:03:55 +06:00
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.
2009-02-17 10:27:49 +05:00
2012-10-08 17:56:59 +06:00
An example below demonstrates usage of the Python API for 3d mesh generation.
2009-02-17 10:27:49 +05:00
2012-08-09 16:03:55 +06:00
\anchor example_3d_mesh
<h2>Example of 3d mesh generation:</h2>
2013-02-28 21:07:35 +06:00
\tui_script{3dmesh.py}
2009-02-17 10:27:49 +05:00
2012-10-08 17:56:59 +06:00
Examples of Python scripts for Mesh operations are available by
2012-08-09 16:03:55 +06:00
the following links:
2012-08-09 16:03:55 +06:00
- \subpage tui_creating_meshes_page
- \subpage tui_defining_hypotheses_page
- \subpage tui_grouping_elements_page
- \subpage tui_filters_page
2012-08-09 16:03:55 +06:00
- \subpage tui_modifying_meshes_page
- \subpage tui_transforming_meshes_page
- \subpage tui_viewing_meshes_page
- \subpage tui_quality_controls_page
2012-08-09 16:03:55 +06:00
- \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
2013-02-12 20:37:44 +06:00
- \subpage tui_prism_3d_algo
- \subpage tui_generate_flat_elements_page
*/