Salome HOME
[bos #38088] [CEA] Create documentation for Offset transformation in SMESH.
[modules/smesh.git] / doc / examples / transforming_meshes_ex15.py
1 # Offset 2D mesh, sub-mesh, group or elements from filter.
2
3 import salome
4 salome.salome_init_without_session()
5
6 import SMESH
7 from salome.geom import geomBuilder
8 from salome.smesh import smeshBuilder
9
10 geom_builder = geomBuilder.New()
11 smesh_builder = smeshBuilder.New()
12
13 box = geom_builder.MakeBoxDXDYDZ(100, 100, 100)
14
15 ## -----------
16 ##
17 ## Offset mesh
18 ##
19 ## -----------
20
21 init_mesh = smesh_builder.Mesh(box, "box")
22 init_mesh.AutomaticTetrahedralization()
23 init_mesh.Compute()
24
25 #Offset triangular elements in mesh (expand the entire mesh)
26 offset = 20
27 mesh, mesh_group = init_mesh.Offset( init_mesh, offset, MakeGroups=False, CopyElements=False )
28 assert isinstance( mesh, smeshBuilder.Mesh )
29 assert len( mesh_group ) == 0
30 offsetMeshArea = smesh_builder.GetArea(mesh)
31
32 #Offset triangular elements in mesh (shrink the entire mesh)
33 offset = -20
34 mesh, mesh_group = init_mesh.Offset( init_mesh, offset, MakeGroups=False, CopyElements=False, NewMeshName="MeshShrink" )
35 assert isinstance( mesh, smeshBuilder.Mesh )
36 assert len( mesh_group ) == 0
37 assert mesh.GetName() == "MeshShrink"
38 shrinkMeshArea = smesh_builder.GetArea(mesh)
39
40 assert offsetMeshArea > shrinkMeshArea