Version: 6.6.0
 All Classes Namespaces Files Functions Variables
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:

Python package smesh 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 Mesh documentation.

Class Mesh allows assigning algorithms to a mesh. Please note that some algorithms, included in the standard SALOME distribution are always available. Python package StdMeshersDC 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 ...

To add meshing hypotheses, it is possible to use the functions provided by the algorithms interfaces.

An example below demonstrates usage of the Python API for 3d mesh generation.

Example of 3d mesh generation:

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)

Examples of Python scripts for Mesh operations are available by the following links:

Copyright © 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS