]> SALOME platform Git repositories - modules/smesh.git/blobdiff - doc/examples/transforming_meshes_ex15.py
Salome HOME
[bos #38088] [CEA] Create documentation for Offset transformation in SMESH.
[modules/smesh.git] / doc / examples / transforming_meshes_ex15.py
diff --git a/doc/examples/transforming_meshes_ex15.py b/doc/examples/transforming_meshes_ex15.py
new file mode 100644 (file)
index 0000000..42dfa64
--- /dev/null
@@ -0,0 +1,40 @@
+# Offset 2D mesh, sub-mesh, group or elements from filter.
+
+import salome
+salome.salome_init_without_session()
+
+import SMESH
+from salome.geom import geomBuilder
+from salome.smesh import smeshBuilder
+
+geom_builder = geomBuilder.New()
+smesh_builder = smeshBuilder.New()
+
+box = geom_builder.MakeBoxDXDYDZ(100, 100, 100)
+
+## -----------
+##
+## Offset mesh
+##
+## -----------
+
+init_mesh = smesh_builder.Mesh(box, "box")
+init_mesh.AutomaticTetrahedralization()
+init_mesh.Compute()
+
+#Offset triangular elements in mesh (expand the entire mesh)
+offset = 20
+mesh, mesh_group = init_mesh.Offset( init_mesh, offset, MakeGroups=False, CopyElements=False )
+assert isinstance( mesh, smeshBuilder.Mesh )
+assert len( mesh_group ) == 0
+offsetMeshArea = smesh_builder.GetArea(mesh)
+
+#Offset triangular elements in mesh (shrink the entire mesh)
+offset = -20
+mesh, mesh_group = init_mesh.Offset( init_mesh, offset, MakeGroups=False, CopyElements=False, NewMeshName="MeshShrink" )
+assert isinstance( mesh, smeshBuilder.Mesh )
+assert len( mesh_group ) == 0
+assert mesh.GetName() == "MeshShrink"
+shrinkMeshArea = smesh_builder.GetArea(mesh)
+
+assert offsetMeshArea > shrinkMeshArea
\ No newline at end of file