mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
a1a6d5ddc1
Optimize visualization and mesh loading. + fix docs
97 lines
4.0 KiB
Plaintext
97 lines
4.0 KiB
Plaintext
/*!
|
|
|
|
\page smeshpy_interface_page Python interface
|
|
|
|
Python API for SALOME %Mesh module defines several classes that can
|
|
be used for easy mesh creation and edition.
|
|
|
|
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.
|
|
- <a href="smeshpy_doc/namespaces.html">Linear documentation</a> 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.
|
|
|
|
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.
|
|
|
|
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 \ref smeshstudytools.SMeshStudyTools "SMeshStudyTools" provides several methods to manipulate mesh objects in Salome study.
|
|
|
|
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.
|
|
|
|
An example below demonstrates usage of the Python API for 3d mesh generation.
|
|
|
|
\anchor example_3d_mesh
|
|
<h2>Example of 3d mesh generation:</h2>
|
|
\tui_script{3dmesh.py}
|
|
|
|
Examples of Python scripts for Mesh operations are available by
|
|
the following links:
|
|
|
|
- \subpage tui_creating_meshes_page
|
|
- \subpage tui_defining_hypotheses_page
|
|
- \subpage tui_grouping_elements_page
|
|
- \subpage tui_filters_page
|
|
- \subpage tui_modifying_meshes_page
|
|
- \subpage tui_transforming_meshes_page
|
|
- \subpage tui_viewing_meshes_page
|
|
- \subpage tui_quality_controls_page
|
|
- \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
|
|
- \subpage tui_prism_3d_algo
|
|
- \subpage tui_generate_flat_elements_page
|
|
|
|
*/
|