Salome HOME
Merge tag 'V8_3_0a2' into ngr/python3_dev
[modules/smesh.git] / doc / salome / examples / measurements_ex03.py
index ef15e7e25c4d52bdc59695c9d1e3a3ba053f6e7c..f788c56db58bda438bffc57da2dcd94bd9f816ed 100644 (file)
@@ -10,25 +10,70 @@ geompy = geomBuilder.New(salome.myStudy)
 import SMESH, SALOMEDS
 from salome.smesh import smeshBuilder
 smesh =  smeshBuilder.New(salome.myStudy)
-import salome_notebook
 
-from SMESH_mechanic import mesh as mesh1
+# create a box
+box = geompy.MakeBoxDXDYDZ(100,100,100)
+face = geompy.SubShapeAllSorted(box, geompy.ShapeType['FACE'])[0]
 
-mesh1.Compute()
+# mesh a box
+mesh = smesh.Mesh(box)
+submesh_1d = mesh.Segment().NumberOfSegments(5)
+submesh_2d = mesh.Quadrangle()
+submesh_3d = mesh.Hexahedron()
+submesh_2d_face = mesh.Triangle(face)
+mesh.Compute()
 
-# compute length for mesh1
-length = mesh1.GetLength()
+# create a group
 
-# compute area for mesh1
-area = mesh1.GetArea()
+group_2d = mesh.Group(face)
 
-# compute volume for mesh1
-volume = mesh1.GetVolume()
+# compute basic properties
 
-# print basic properties
-print
-print "Basic Properties for mesh:"
-print "* length =", length
-print "* area   =", area
-print "* volume =", volume
-print
+print("Get basic properties: approach 1 (via measurements tool) ----")
+
+measure = smesh.CreateMeasurements()
+
+print("* for mesh:")
+print("  length:", measure.Length(mesh.mesh))
+print("  area:",   measure.Area(mesh.mesh))
+print("  volume:", measure.Volume(mesh.mesh))
+
+print("* for group (2d):")
+print("  length:", measure.Length(group_2d))
+print("  area:",   measure.Area(group_2d))
+print("  volume:", measure.Volume(group_2d))
+
+print("* for submesh (2d):")
+print("  length:", measure.Length(submesh_2d_face.GetSubMesh()))
+print("  area:",   measure.Area(submesh_2d_face.GetSubMesh()))
+print("  volume:", measure.Volume(submesh_2d_face.GetSubMesh()))
+
+measure.UnRegister()
+
+print("Get basic properties: approach 2 (via smeshBuilder) ----")
+
+print("* for mesh:")
+print("  length:", smesh.GetLength(mesh))
+print("  area:",   smesh.GetArea(mesh))
+print("  volume:", smesh.GetVolume(mesh))
+
+print("* for group (2d):")
+print("  length:", smesh.GetLength(group_2d))
+print("  area:",   smesh.GetArea(group_2d))
+print("  volume:", smesh.GetVolume(group_2d))
+
+print("* for submesh (2d):")
+print("  length:", smesh.GetLength(submesh_2d_face))
+print("  area:",   smesh.GetArea(submesh_2d_face))
+print("  volume:", smesh.GetVolume(submesh_2d_face))
+
+print("Get basic properties: approach 3 (via smeshBuilder.Mesh) ----")
+
+print("* for mesh:")
+print("  length:", mesh.GetLength())
+print("  area:",   mesh.GetArea())
+print("  volume:", mesh.GetVolume())
+
+print("* for group (2d): unsupported")
+
+print("* for submesh (2d): unsupported")