Salome HOME
Fix for bug PAL12557(V3_2_0b2: SMESH documentation for scripts not up to date).
[modules/smesh.git] / doc / salome / gui / SMESH / transforming_meshes.htm
index f70f20b44b33aae9b04949a0ec8e588303e252eb..f425f345bcc4ac6784c222a3356e28efc38015be 100755 (executable)
 h3.whs1 { margin-top:0pt; margin-bottom:0pt; }\r
 h4.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
 p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }\r
-p.whs4 { margin-top:0pt; margin-bottom:0pt; font-weight:bold; color:#ff0000; }\r
-p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
-p.whs6 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs7 { margin-top:0pt; margin-bottom:0pt; }\r
+p.whs4 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
+p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
+p.whs6 { margin-top:0pt; margin-bottom:0pt; }\r
 -->\r
 </style><script type="text/javascript" language="JavaScript">\r
 <!--\r
@@ -26,7 +25,6 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
   strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
-  strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";\r
   strNSS +="</style>";\r
   document.write(strNSS);\r
 }\r
@@ -101,777 +99,654 @@ if (window.writeIntopicBar)
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
+<p class="whs4">import SMESH_mechanic</p>\r
 \r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to translate meshes. </p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"># In the next SALOME version the scripts will \r
be updated to use only the commands from smesh package.</p>\r
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">smesh \r
= SMESH_mechanic.smesh </span></p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">import SMESH</p>\r
-\r
-<p class="whs5">import SMESH_mechanic</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMeshEditor()</p>\r
+<p class="whs4">mesh = SMESH_mechanic.mesh \r
+ </p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># define translation \r
+<p class="whs5"># define translation \r
  vector</p>\r
 \r
-<p class="whs5">point = SMESH.PointStruct(-150., \r
-150., 0.)</p>\r
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">point \r
= smesh.PointStruct(-150., -150., 0.)</span></p>\r
 \r
-<p class="whs5">vector = SMESH.DirStruct(point)</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># translate a mesh</p>\r
-\r
-<p class="whs5">doCopy = 1</p>\r
+<p class="whs4">vector =smesh.DirStruct(point) \r
+ </p>\r
 \r
-<p class="whs5">anEditor.TranslateObject(mesh, \r
- vector, doCopy) </p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs7">&nbsp;</p>\r
+<p class="whs5"># translate a mesh</p>\r
 \r
-<h4 class="whs2"><a name=bookmark1>Rotation</a></h4>\r
+<p class="whs4">doCopy = 1</p>\r
 \r
-<p class="whs3">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
+<p class="whs4">mesh.Translate([], \r
+ vector, doCopy) &nbsp;</p>\r
 \r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to rotate meshes. </p>\r
+<p class="whs6">&nbsp;</p>\r
 \r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
+<h4 class="whs2"><a name=bookmark1>Rotation</a></h4>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
 <p class="whs3">import math</p>\r
 \r
-<p class="whs3">import SMESH</p>\r
-\r
 <p class="whs3">import SMESH_mechanic</p>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">smesh \r
+ = SMESH_mechanic.smesh</span></p>\r
 \r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
+<p class="whs3">mesh = SMESH_mechanic.mesh </p>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs6"># define rotation axis \r
+<p class="whs5"># define rotation axis \r
  and angle</p>\r
 \r
-<p class="whs3">axisXYZ = SMESH.AxisStruct(0., 0., 0., \r
+<p class="whs3">axisXYZ = smesh.AxisStruct(0., 0., 0., \r
  5., 5., 20.)</p>\r
 \r
 <p class="whs3">angle270 = 1.5 * math.pi</p>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs6"># rotate a mesh</p>\r
+<p class="whs5"># rotate a mesh</p>\r
 \r
-<p class="whs3">anEditor.RotateObject(mesh, axisXYZ, angle270\r
1) </p>\r
+<p class="whs4">mesh.Rotate([]\r
axisXYZ, angle270, 1) &nbsp;</p>\r
 \r
-<p class="whs7">&nbsp;</p>\r
+<p class="whs6">&nbsp;</p>\r
 \r
 <h4 class="whs2"><a name=bookmark2>Symmetry</a></h4>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to create symmetrical copies of meshes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs3">&nbsp;</p>\r
-\r
 <p class="whs3">import math</p>\r
 \r
-<p class="whs3">import SMESH</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
 <p class="whs3">import SMESH_mechanic</p>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs3">mesh = SMESH_mechanic.mesh</p>\r
+<p class="whs3"><span style="font-family: 'Lucida Console', monospace;">smesh \r
+ = SMESH_mechanic.smesh</span></p>\r
 \r
-<p class="whs3">anEditor = mesh.GetMeshEditor()</p>\r
+<p class="whs3">mesh = SMESH_mechanic.mesh </p>\r
 \r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs6"># create a symmetrical \r
+<p class="whs5"># create a symmetrical \r
  copy of the mesh mirrored through a point</p>\r
 \r
 <p class="whs3">axis = SMESH.AxisStruct(0, 0, 0, 0, 0, \r
  0)</p>\r
 \r
-<p class="whs3">anEditor.MirrorObject(mesh, axis, SMESH.SMESH_MeshEditor.POINT, \r
- 1) </p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<h4 class="whs2"><a name=bookmark3>Merging \r
- Nodes</a></h4>\r
-\r
 <p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to merge nodes. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
+<p class="whs3">mesh.Mirror([], axis, smesh.POINT, 1) \r
+ </p>\r
 \r
 <p class="whs6">&nbsp;</p>\r
 \r
-<p class="whs5">import SMESH_mechanic</p>\r
-\r
-<p class="whs5">mesh = SMESH_mechanic.mesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">aMeshEditor = mesh.GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># merge nodes</p>\r
+<h4 class="whs2"><a name=bookmark3>Merging \r
+ Nodes</a></h4>\r
 \r
-<p class="whs5">Tolerance = 25.0</p>\r
+<p class="whs3">&nbsp;</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">import SMESH_mechanic</p>\r
 \r
-<p class="whs5">GroupsOfNodes = \r
- aMeshEditor.FindCoincidentNodes(Tolerance)</p>\r
+<p class="whs4">mesh = SMESH_mechanic.mesh</p>\r
 \r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">aMeshEditor.MergeNodes(GroupsOfNodes)</span> \r
- </p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs7">&nbsp;</p>\r
+<p class="whs5"># merge nodes</p>\r
 \r
-<h4><a name=bookmark8>Merging Elements</a></h4>\r
+<p class="whs4">Tolerance = 25.0</p>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"># For the moment smesh package doesn't provide \r
methods to merge elements. </p>\r
+<p class="whs4">GroupsOfNodes = \r
&nbsp;mesh.FindCoincidentNodes(Tolerance)</p>\r
 \r
-<p class="whs4"># In the next SALOME version the scripts will \r
be updated to use only the commands from smesh package.</p>\r
+<p class="whs4">mesh.MergeNodes(GroupsOfNodes) \r
&nbsp;</p>\r
 \r
 <p class="whs6">&nbsp;</p>\r
 \r
-<p class="whs5">import salome</p>\r
+<h4><a name=bookmark8>Merging Elements</a></h4>\r
 \r
-<p class="whs5">import geompy</p>\r
+<p class="whs4">import salome</p>\r
 \r
-<p class="whs5">import smesh</p>\r
+<p class="whs4">import geompy</p>\r
 \r
-<p class="whs5">import SMESH</p>\r
+<p class="whs4">import smesh</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a face to \r
+<p class="whs5"># create a face to \r
  be meshed</p>\r
 \r
-<p class="whs5">px = geompy.MakeVertex(100., \r
+<p class="whs4">px = geompy.MakeVertex(100., \r
  0. &nbsp;, 0. \r
  &nbsp;)</p>\r
 \r
-<p class="whs5">py = geompy.MakeVertex(0. \r
+<p class="whs4">py = geompy.MakeVertex(0. \r
  &nbsp;, 100., \r
  0. &nbsp;)</p>\r
 \r
-<p class="whs5">pz = geompy.MakeVertex(0. \r
+<p class="whs4">pz = geompy.MakeVertex(0. \r
  &nbsp;, 0. &nbsp;, \r
  100.)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">vxy = geompy.MakeVector(px, \r
+<p class="whs4">vxy = geompy.MakeVector(px, \r
  py)</p>\r
 \r
-<p class="whs5">arc = geompy.MakeArc(py, \r
+<p class="whs4">arc = geompy.MakeArc(py, \r
  pz, px)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">wire = geompy.MakeWire([vxy, \r
+<p class="whs4">wire = geompy.MakeWire([vxy, \r
  arc])</p>\r
 \r
-<p class="whs5">isPlanarFace = 1</p>\r
+<p class="whs4">isPlanarFace = 1</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">face1 = geompy.MakeFace(wire, \r
+<p class="whs4">face1 = geompy.MakeFace(wire, \r
  isPlanarFace)</p>\r
 \r
-<p class="whs5">id_face1 = geompy.addToStudy(face1, \r
+<p class="whs4">id_face1 = geompy.addToStudy(face1, \r
  &quot;Face1&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a circle to \r
+<p class="whs5"># create a circle to \r
  be an extrusion path</p>\r
 \r
-<p class="whs5">px1 = geompy.MakeVertex( \r
+<p class="whs4">px1 = geompy.MakeVertex( \r
  100., &nbsp;100., \r
  &nbsp;0.)</p>\r
 \r
-<p class="whs5">py1 = geompy.MakeVertex(-100., \r
+<p class="whs4">py1 = geompy.MakeVertex(-100., \r
  -100., &nbsp;0.)</p>\r
 \r
-<p class="whs5">pz1 = geompy.MakeVertex( \r
+<p class="whs4">pz1 = geompy.MakeVertex( \r
  &nbsp;&nbsp;0., \r
  &nbsp;&nbsp;&nbsp;0., \r
  50.)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">circle = geompy.MakeCircleThreePnt(py1, \r
+<p class="whs4">circle = geompy.MakeCircleThreePnt(py1, \r
  pz1, px1)</p>\r
 \r
-<p class="whs5">id_circle = geompy.addToStudy(circle, \r
+<p class="whs4">id_circle = geompy.addToStudy(circle, \r
  &quot;Path&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a 2D mesh \r
+<p class="whs5"># create a 2D mesh \r
  on the face</p>\r
 \r
-<p class="whs5">trias = smesh.Mesh(face1, \r
+<p class="whs4">trias = smesh.Mesh(face1, \r
  &quot;Face : 2D mesh&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = trias.Segment()</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo1D.NumberOfSegments(6)</p>\r
+<p class="whs4">algo1D = trias.Segment()</p>\r
 \r
-<p class="whs5">algo2D = trias.Triangle()</p>\r
+<p class="whs4">algo1D.NumberOfSegments(6)</p>\r
 \r
-<p class="whs5">algo2D.LengthFromEdges()</p>\r
+<p class="whs4">algo2D = trias.Triangle()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">algo2D.LengthFromEdges()</p>\r
 \r
-<p class="whs5">trias.Compute()</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">tri_mesh = trias.GetMesh()</p>\r
+<p class="whs4">trias.Compute()</p>\r
 \r
-<p class="whs6">&nbsp;</p>\r
+<p class="whs5">&nbsp;</p>\r
 \r
-<p class="whs6"># create a path mesh</p>\r
+<p class="whs5"># create a path mesh</p>\r
 \r
-<p class="whs5">circlemesh = smesh.Mesh(circle, \r
+<p class="whs4">circlemesh = smesh.Mesh(circle, \r
  &quot;Path mesh&quot;)</p>\r
 \r
-<p class="whs5">algo = circlemesh.Segment()</p>\r
+<p class="whs4">algo = circlemesh.Segment()</p>\r
 \r
-<p class="whs5">algo.NumberOfSegments(10)</p>\r
+<p class="whs4">algo.NumberOfSegments(10)</p>\r
 \r
-<p class="whs5">circlemesh.Compute()</p>\r
+<p class="whs4">circlemesh.Compute()</p>\r
 \r
-<p class="whs6">&nbsp;</p>\r
+<p class="whs5">&nbsp;</p>\r
 \r
-<p class="whs6"># extrusion of the \r
+<p class="whs5"># extrusion of the \r
  mesh</p>\r
 \r
-<p class="whs5">aMeshEditor = tri_mesh.GetMeshEditor()</p>\r
+<p class="whs4"><span style="font-family: 'Lucida Console', monospace;">trias.ExtrusionAlongPath([], \r
+ circlemesh, circle,</span></p>\r
 \r
-<p class="whs5">aMeshEditor.ExtrusionAlongPathObject(tri_mesh\r
circlemesh.GetMesh(), circle,</p>\r
+<p class="whs4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1\r
0, [], 0, smesh.PointStruct(0, 0, 0))</p>\r
 \r
-<p class="whs5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1, \r
- 0, [], 0, SMESH.PointStruct(0, 0, 0))</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># merge nodes</p>\r
+<p class="whs5"># merge nodes</p>\r
 \r
-<p class="whs5">print &quot;Number \r
- of nodes before MergeNodes:&quot;, tri_mesh.NbNodes()</p>\r
+<p class="whs4">print &quot;Number \r
+ of nodes before MergeNodes:&quot;, </p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">trias.NbNodes()</p>\r
 \r
-<p class="whs5">tolerance = 0.001</p>\r
+<p class="whs4">tolerance = 0.001</p>\r
 \r
-<p class="whs5">array_of_nodes_groups \r
- = aMeshEditor.FindCoincidentNodes(tolerance)</p>\r
+<p class="whs4">array_of_nodes_groups \r
+ = trias.FindCoincidentNodes(tolerance)</p>\r
 \r
-<p class="whs5">aMeshEditor.MergeNodes(array_of_nodes_groups)</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">trias.MergeNodes(array_of_nodes_groups)</p>\r
 \r
-<p class="whs5">print &quot;Number \r
- of nodes after MergeNodes:&quot;, tri_mesh.NbNodes()</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">print &quot;&quot;</p>\r
+<p class="whs4">print &quot;Number \r
+ of nodes after MergeNodes:&quot;, trias.NbNodes()</p>\r
 \r
-<p class="whs5">print &quot;Number \r
+<p class="whs4">print &quot;&quot;</p>\r
+\r
+<p class="whs4">print &quot;Number \r
  of elements before MergeEqualElements:&quot;</p>\r
 \r
-<p class="whs5">print &quot;Edges \r
+<p class="whs4">print &quot;Edges \r
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbEdges()</p>\r
+ &quot;, trias.NbEdges()</p>\r
 \r
-<p class="whs5">print &quot;Triangles \r
+<p class="whs4">print &quot;Triangles \r
  &nbsp;: &quot;, \r
- tri_mesh.NbTriangles()</p>\r
+ trias.NbTriangles()</p>\r
 \r
-<p class="whs5">print &quot;Quadrangles: \r
- &quot;, tri_mesh.NbQuadrangles()</p>\r
+<p class="whs4">print &quot;Quadrangles: \r
+ &quot;, trias.NbQuadrangles()</p>\r
 \r
-<p class="whs5">print &quot;Volumes \r
+<p class="whs4">print &quot;Volumes \r
  &nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbVolumes()</p>\r
+ &quot;, trias.NbVolumes()</p>\r
 \r
-<p class="whs6">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># merge elements</p>\r
+<p class="whs5"># merge elements</p>\r
 \r
-<p class="whs5">aMeshEditor.MergeEqualElements()</p>\r
+<p class="whs4">trias.MergeEqualElements()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">print &quot;Number \r
+<p class="whs4">print &quot;Number \r
  of elements after MergeEqualElements:&quot;</p>\r
 \r
-<p class="whs5">print &quot;Edges \r
+<p class="whs4">print &quot;Edges \r
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbEdges()</p>\r
+ &quot;, trias.NbEdges()</p>\r
 \r
-<p class="whs5">print &quot;Triangles \r
+<p class="whs4">print &quot;Triangles \r
  &nbsp;: &quot;, \r
- tri_mesh.NbTriangles()</p>\r
+ trias.NbTriangles()</p>\r
 \r
-<p class="whs5">print &quot;Quadrangles: \r
- &quot;, tri_mesh.NbQuadrangles()</p>\r
+<p class="whs4">print &quot;Quadrangles: \r
+ &quot;, trias.NbQuadrangles()</p>\r
 \r
-<p class="whs5">print &quot;Volumes \r
+<p class="whs4">print &quot;Volumes \r
  &nbsp;&nbsp;&nbsp;: \r
- &quot;, tri_mesh.NbVolumes()</p>\r
+ &quot;, trias.NbVolumes()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">salome.sg.updateObjBrowser(1) \r
+<p class="whs4">salome.sg.updateObjBrowser(1) \r
  </p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
 <h3>Sewing Meshes</h3>\r
 \r
 <h4><a name=bookmark4>Sew Meshes Border to Border</a></h4>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew meshes border to border. </p>\r
+<p class="whs4">import geompy</p>\r
 \r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
+<p class="whs4">import smesh</p>\r
 \r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
-\r
-<p class="whs5">import smesh</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create two faces \r
+<p class="whs5"># create two faces \r
  of a box</p>\r
 \r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
+<p class="whs4">box1 = geompy.MakeBox(0., \r
  0., -10., 30., 20., 25.)</p>\r
 \r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face1 = facesList1[2]</p>\r
+<p class="whs4">face1 = facesList1[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
+<p class="whs4">box2 = geompy.MakeBox(0., \r
  5., 0., 20., 20., 15.)</p>\r
 \r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face2 = facesList2[1]</p>\r
+<p class="whs4">face2 = facesList2[1]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, \r
  geompy.ShapeType[&quot;EDGE&quot;])</p>\r
 \r
-<p class="whs5">edge1 = edgesList[2]</p>\r
+<p class="whs4">edge1 = edgesList[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
+<p class="whs4">aComp = geompy.MakeCompound([face1, \r
  face2])</p>\r
 \r
-<p class="whs5">geompy.addToStudy(aComp, \r
+<p class="whs4">geompy.addToStudy(aComp, \r
  &quot;Two faces&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a mesh on \r
+<p class="whs5"># create a mesh on \r
  two faces</p>\r
 \r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
+<p class="whs4">mesh = smesh.Mesh(aComp, \r
  &quot;Two faces : quadrangle mesh&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
+<p class="whs4">algo1D = mesh.Segment()</p>\r
 \r
-<p class="whs5">algo1D.NumberOfSegments(9)</p>\r
+<p class="whs4">algo1D.NumberOfSegments(9)</p>\r
 \r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
+<p class="whs4">algo2D = mesh.Quadrangle()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>\r
 \r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
+<p class="whs4">algo_local.Arithmetic1D(1, \r
  4)</p>\r
 \r
-<p class="whs5">algo_local.Propagation()</p>\r
+<p class="whs4">algo_local.Propagation()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">mesh.Compute()</p>\r
+<p class="whs4">mesh.Compute()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
+<p class="whs5"># sew border to side</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># sew border to side</p>\r
-\r
-<p class="whs6"># FirstNodeIDOnFreeBorder, \r
+<p class="whs5"># FirstNodeIDOnFreeBorder, \r
  SecondNodeIDOnFreeBorder, LastNodeIDOnFreeBorder,</p>\r
 \r
-<p class="whs6"># FirstNodeIDOnSide, \r
+<p class="whs5"># FirstNodeIDOnSide, \r
  LastNodeIDOnSide,</p>\r
 \r
-<p class="whs6"># CreatePolygons, CreatePolyedrs</p>\r
+<p class="whs5"># CreatePolygons, CreatePolyedrs</p>\r
 \r
-<p class="whs5">anEditor.SewBorderToSide(5, \r
+<p class="whs4">mesh.SewBorderToSide(5, \r
  45, 6, 113, 109, 0, 0) </p>\r
 \r
 <h4><a name=bookmark5>Sew Conform Free Borders</a></h4>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew conform free borders. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
+<p class="whs4">import geompy</p>\r
 \r
-<p class="whs5">import smesh</p>\r
+<p class="whs4">import smesh</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create two faces \r
+<p class="whs5"># create two faces \r
  of the box</p>\r
 \r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
+<p class="whs4">box1 = geompy.MakeBox(0., \r
  0., -10., 20., 20., 15.)</p>\r
 \r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face1 = facesList1[2]</p>\r
+<p class="whs4">face1 = facesList1[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
+<p class="whs4">box2 = geompy.MakeBox(0., \r
  5., 0., 20., 20., 15.)</p>\r
 \r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face2 = facesList2[1]</p>\r
+<p class="whs4">face2 = facesList2[1]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, \r
  geompy.ShapeType[&quot;EDGE&quot;])</p>\r
 \r
-<p class="whs5">edge1 = edgesList[2]</p>\r
+<p class="whs4">edge1 = edgesList[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
+<p class="whs4">aComp = geompy.MakeCompound([face1, \r
  face2])</p>\r
 \r
-<p class="whs5">geompy.addToStudy(aComp, \r
+<p class="whs4">geompy.addToStudy(aComp, \r
  &quot;Two faces&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a mesh on \r
+<p class="whs5"># create a mesh on \r
  two faces</p>\r
 \r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
+<p class="whs4">mesh = smesh.Mesh(aComp, \r
  &quot;Two faces : quadrangle mesh&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
+<p class="whs4">algo1D = mesh.Segment()</p>\r
 \r
-<p class="whs5">algo1D.NumberOfSegments(9)</p>\r
+<p class="whs4">algo1D.NumberOfSegments(9)</p>\r
 \r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
+<p class="whs4">algo2D = mesh.Quadrangle()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>\r
 \r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
+<p class="whs4">algo_local.Arithmetic1D(1, \r
  4)</p>\r
 \r
-<p class="whs5">algo_local.Propagation()</p>\r
+<p class="whs4">algo_local.Propagation()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">mesh.Compute()</p>\r
+<p class="whs4">mesh.Compute()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># sew conform free \r
+<p class="whs5"># sew conform free \r
  borders</p>\r
 \r
-<p class="whs6"># FirstNodeID1, SecondNodeID1, \r
+<p class="whs5"># FirstNodeID1, SecondNodeID1, \r
  LastNodeID1, FirstNodeID2, SecondNodeID2</p>\r
 \r
-<p class="whs5">anEditor.SewConformFreeBorders(5, \r
- 45, 6, 3, 24) </p>\r
+<p class="whs4">mesh.SewConformFreeBorders(5, \r
+ 45, 6, 3, 24) &nbsp;</p>\r
 \r
 <h4><a name=bookmark6>Sew Free Borders</a></h4>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew free borders. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
-\r
-<p class="whs7">&nbsp;</p>\r
-\r
-<p class="whs5">import geompy</p>\r
+<p class="whs4">import geompy</p>\r
 \r
-<p class="whs5">import smesh</p>\r
+<p class="whs4">import smesh</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create two faces \r
+<p class="whs5"># create two faces \r
  of the box</p>\r
 \r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
+<p class="whs4">box1 = geompy.MakeBox(0., \r
  0., 0., 20., 20., 15.)</p>\r
 \r
-<p class="whs5">facesList1 = geompy.SubShapeAll(box1, \r
+<p class="whs4">facesList1 = geompy.SubShapeAll(box1, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face1 = facesList1[2]</p>\r
+<p class="whs4">face1 = facesList1[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
+<p class="whs4">box2 = geompy.MakeBox(0., \r
  5., 0., 20., 20., 15.)</p>\r
 \r
-<p class="whs5">facesList2 = geompy.SubShapeAll(box2, \r
+<p class="whs4">facesList2 = geompy.SubShapeAll(box2, \r
  geompy.ShapeType[&quot;FACE&quot;])</p>\r
 \r
-<p class="whs5">face2 = facesList2[1]</p>\r
+<p class="whs4">face2 = facesList2[1]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">edgesList = geompy.SubShapeAll(face2, \r
+<p class="whs4">edgesList = geompy.SubShapeAll(face2, \r
  geompy.ShapeType[&quot;EDGE&quot;])</p>\r
 \r
-<p class="whs5">edge1 = edgesList[2]</p>\r
+<p class="whs4">edge1 = edgesList[2]</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">aComp = geompy.MakeCompound([face1, \r
+<p class="whs4">aComp = geompy.MakeCompound([face1, \r
  face2])</p>\r
 \r
-<p class="whs5">geompy.addToStudy(aComp, \r
+<p class="whs4">geompy.addToStudy(aComp, \r
  &quot;Two faces&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a mesh on \r
+<p class="whs5"># create a mesh on \r
  two faces</p>\r
 \r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
+<p class="whs4">mesh = smesh.Mesh(aComp, \r
  &quot;Two faces : quadrangle mesh&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
+<p class="whs4">algo1D = mesh.Segment()</p>\r
 \r
-<p class="whs5">algo1D.NumberOfSegments(4)</p>\r
+<p class="whs4">algo1D.NumberOfSegments(4)</p>\r
 \r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
+<p class="whs4">algo2D = mesh.Quadrangle()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo_local = mesh.Segment(edge1)</p>\r
+<p class="whs4">algo_local = mesh.Segment(edge1)</p>\r
 \r
-<p class="whs5">algo_local.Arithmetic1D(1, \r
+<p class="whs4">algo_local.Arithmetic1D(1, \r
  4)</p>\r
 \r
-<p class="whs5">algo_local.Propagation()</p>\r
+<p class="whs4">algo_local.Propagation()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">mesh.Compute()</p>\r
+<p class="whs4">mesh.Compute()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># sew free borders</p>\r
+<p class="whs5"># sew free borders</p>\r
 \r
-<p class="whs6"># FirstNodeID1, SecondNodeID1, \r
+<p class="whs5"># FirstNodeID1, SecondNodeID1, \r
  LastNodeID1,</p>\r
 \r
-<p class="whs6"># FirstNodeID2, SecondNodeID2, \r
+<p class="whs5"># FirstNodeID2, SecondNodeID2, \r
  LastNodeID2, CreatePolygons, CreatePolyedrs</p>\r
 \r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
-\r
-<p class="whs7"><span style="font-family: 'Lucida Console', monospace;">anEditor.SewFreeBorders(6, \r
- 21, 5, 1, 12, 3, 0, 0)</span> </p>\r
+<p class="whs6">mesh.SewFreeBorders(6, \r
+ 21, 5, 1, 12, 3, 0, 0) </p>\r
 \r
 <h4><a name=bookmark7>Sew Side Elements</a></h4>\r
 \r
-<p class="whs4"><span style="font-weight: bold; color: #ff0000;"><font color=red ><B># \r
- Attention! This script has been written using the old approach basing \r
- on direct usage of SMESH idl interface.</B></font></span></p>\r
-\r
-<p class="whs4"># For the moment smesh package doesn't provide \r
- methods to sew side elements. </p>\r
-\r
-<p class="whs4"># In the next SALOME version the scripts will \r
- be updated to use only the commands from smesh package.</p>\r
+<p class="whs4">import geompy</p>\r
 \r
-<p class="whs5">import geompy</p>\r
+<p class="whs4">import smesh</p>\r
 \r
-<p class="whs5">import smesh</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs6"># create two boxes</p>\r
+<p class="whs5"># create two boxes</p>\r
 \r
-<p class="whs5">box1 = geompy.MakeBox(0., \r
+<p class="whs4">box1 = geompy.MakeBox(0., \r
  &nbsp;0., 0., \r
  10., 10., 10.)</p>\r
 \r
-<p class="whs5">box2 = geompy.MakeBox(0., \r
+<p class="whs4">box2 = geompy.MakeBox(0., \r
  15., 0., 20., 25., 10.)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">EdgesList = geompy.SubShapeAll(box2, \r
+<p class="whs4">EdgesList = geompy.SubShapeAll(box2, \r
  geompy.ShapeType[&quot;EDGE&quot;])</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">aComp = geompy.MakeCompound([box1, \r
+<p class="whs4">aComp = geompy.MakeCompound([box1, \r
  box2])</p>\r
 \r
-<p class="whs5">geompy.addToStudy(aComp, \r
+<p class="whs4">geompy.addToStudy(aComp, \r
  &quot;Two boxes&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># create a mesh on \r
+<p class="whs5"># create a mesh on \r
  two boxes</p>\r
 \r
-<p class="whs5">mesh = smesh.Mesh(aComp, \r
+<p class="whs4">mesh = smesh.Mesh(aComp, \r
  &quot;Two faces : quadrangle mesh&quot;)</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
-\r
-<p class="whs5">algo1D = mesh.Segment()</p>\r
-\r
-<p class="whs5">algo1D.NumberOfSegments(2)</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo2D = mesh.Quadrangle()</p>\r
+<p class="whs4">algo1D = mesh.Segment()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">algo1D.NumberOfSegments(2)</p>\r
 \r
-<p class="whs5">algo_local = mesh.Segment(EdgesList[8])</p>\r
+<p class="whs4">algo2D = mesh.Quadrangle()</p>\r
 \r
-<p class="whs5">algo_local.NumberOfSegments(4)</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">algo_local.Propagation()</p>\r
+<p class="whs4">algo_local = mesh.Segment(EdgesList[8])</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">algo_local.NumberOfSegments(4)</p>\r
 \r
-<p class="whs5">mesh.Compute()</p>\r
+<p class="whs4">algo_local.Propagation()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>\r
+<p class="whs4">mesh.Compute()</p>\r
 \r
-<p class="whs5">&nbsp;</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs6"># sew side elements</p>\r
+<p class="whs5"># sew side elements</p>\r
 \r
-<p class="whs6"># IDsOfSide1Elements, \r
+<p class="whs5"># IDsOfSide1Elements, \r
  IDsOfSide2Elements,</p>\r
 \r
-<p class="whs6"># NodeID1OfSide1ToMerge, \r
+<p class="whs5"># NodeID1OfSide1ToMerge, \r
  NodeID1OfSide2ToMerge, NodeID2OfSide1ToMerge, NodeID2OfSide2ToMerge</p>\r
 \r
-<p class="whs5">anEditor.SewSideElements([69, \r
- 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58)</p>\r
+<p class="whs4">mesh.SewSideElements([69, \r
+ 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58) </p>\r
 \r
 <script type="text/javascript" language="javascript1.2">\r
 <!--\r