Salome HOME
'/usr/bin/env python' -> '/usr/bin/env python3'
[modules/smesh.git] / doc / salome / examples / measurements_ex03.py
index ef15e7e25c4d52bdc59695c9d1e3a3ba053f6e7c..d936878835d43670e5d6ad16572b900e5089c9b9 100644 (file)
@@ -5,30 +5,75 @@ import salome
 salome.salome_init()
 import GEOM
 from salome.geom import geomBuilder
-geompy = geomBuilder.New(salome.myStudy)
+geompy = geomBuilder.New()
 
 import SMESH, SALOMEDS
 from salome.smesh import smeshBuilder
-smesh =  smeshBuilder.New(salome.myStudy)
-import salome_notebook
+smesh =  smeshBuilder.New()
 
-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")