1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
6 <title>Transforming Meshes</title>
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">
10 h3.whs1 { margin-top:0pt; margin-bottom:0pt; }
11 h4.whs2 { margin-top:0pt; margin-bottom:0pt; }
12 p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0pt; margin-bottom:0pt; }
13 p.whs4 { margin-top:0pt; margin-bottom:0pt; }
14 p.whs5 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
16 </style><script type="text/javascript" language="JavaScript">
18 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
20 var strNSS = "<style type='text/css'>";
21 strNSS += "h3.whs1 {margin-top:1pt;margin-bottom:1pt; }";
22 strNSS += "h4.whs2 {margin-top:1pt;margin-bottom:1pt; }";
23 strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
24 strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";
25 strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
27 document.write(strNSS);
31 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
34 if (innerWidth != origWidth || innerHeight != origHeight)
37 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
38 origWidth = innerWidth;
39 origHeight = innerHeight;
45 <style type="text/css">
47 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
48 p.WebHelpNavBar { text-align:right; }
50 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
51 <script type="text/javascript" language="javascript" src="whver.js"></script>
52 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
53 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
54 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
55 <script type="text/javascript" language="javascript1.2">
59 if (window.setRelStartPage)
61 addTocInfo("MESH module\nTUI Scripts\nTransforming Meshes");
62 addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");
63 addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");
68 if (window.setRelStartPage)
70 setRelStartPage("index.htm");
80 document.location.reload();
84 <body><script type="text/javascript" language="javascript1.2">
86 if (window.writeIntopicBar)
90 <h1>Transforming Meshes</h1>
92 <h3 class="whs1">Transforming Meshes</h3>
94 <h4 class="whs2"> </h4>
96 <h4 class="whs2"><a name=bookmark>Translation</a></h4>
98 <p class="whs3"> </p>
100 <p class="whs3">import SMESH</p>
102 <p class="whs3">import SMESH_mechanic</p>
104 <p class="whs3"> </p>
106 <p class="whs3">mesh =
107 SMESH_mechanic.mesh</p>
109 <p class="whs3">salome = SMESH_mechanic.salome</p>
111 <p class="whs4"> </p>
113 <p class="whs4"># translate a mesh</p>
115 <p class="whs3">anEditor = mesh.GetMeshEditor()</p>
117 <p class="whs3">point = SMESH.PointStruct(-150, -150,
120 <p class="whs3">vector = SMESH.DirStruct(point) </p>
122 <p class="whs3">anEditor.TranslateObject(mesh, vector,
125 <p class="whs4"> </p>
127 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
130 <p class="whs4"> </p>
132 <h4 class="whs2"><a name=bookmark1>Rotation</a></h4>
134 <p class="whs3"> </p>
136 <p class="whs3">import SMESH</p>
138 <p class="whs3">import SMESH_mechanic</p>
140 <p class="whs3"> </p>
142 <p class="whs3">import math</p>
144 <p class="whs3">mesh =
145 SMESH_mechanic.mesh</p>
147 <p class="whs3">salome = SMESH_mechanic.salome</p>
149 <p class="whs4"> </p>
151 <p class="whs4"># rotate a mesh </p>
153 <p class="whs3">anEditor = mesh.GetMeshEditor()</p>
155 <p class="whs3">axisXYZ = SMESH.AxisStruct(0, 0, 0, 5,
158 <p class="whs3">angle180 = 1.5*math.pi</p>
160 <p class="whs3">anEditor.RotateObject(mesh, axisXYZ, angle180,
163 <p class="whs3"> </p>
165 <p class="whs5">salome.sg.updateObjBrowser(1)</p>
167 <p class="whs4"> </p>
169 <p class="whs4"> </p>
171 <h4 class="whs2"><a name=bookmark2>Symmetry</a></h4>
173 <p class="whs3"> </p>
175 <p class="whs3">import SMESH</p>
177 <p class="whs3">import SMESH_mechanic</p>
179 <p class="whs3"> </p>
181 <p class="whs3">import math</p>
183 <p class="whs3">mesh =
184 SMESH_mechanic.mesh</p>
186 <p class="whs3">salome = SMESH_mechanic.salome</p>
188 <p class="whs4"> </p>
190 <p class="whs4"># create a symmetrical
191 copy of the mesh mirrored through a point</p>
193 <p class="whs3">anEditor = mesh.GetMeshEditor()</p>
195 <p class="whs3">anEditor.MirrorObject(mesh, SMESH.AxisStruct(0,
196 0, 0, 0, 0, 0), SMESH.SMESH_MeshEditor.POINT, 1) </p>
198 <p class="whs3"> </p>
200 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
203 <p class="whs4"> </p>
205 <p class="whs4"> </p>
207 <h4 class="whs2"><a name=bookmark3>Merging
210 <p class="whs3"> </p>
212 <p class="whs3">import SMESH</p>
214 <p class="whs3">import SMESH_mechanic</p>
216 <p class="whs3"> </p>
218 <p class="whs3">smesh =
219 SMESH_mechanic.smesh</p>
221 <p class="whs3">mesh =
222 SMESH_mechanic.mesh</p>
224 <p class="whs3">salome = SMESH_mechanic.salome</p>
226 <p class="whs4"> </p>
228 <p class="whs4"># merge nodes</p>
230 <p class="whs3">aMeshEditor = mesh.GetMeshEditor()</p>
232 <p class="whs3">Tolerance = 25.0</p>
234 <p class="whs3"> </p>
236 <p class="whs3">GroupsOfNodes = aMeshEditor.FindCoincidentNodes(Tolerance)</p>
238 <p class="whs3">aMeshEditor.MergeNodes(GroupsOfNodes)</p>
240 <p class="whs3"> </p>
242 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
245 <p class="whs4"> </p>
247 <h4><a name=bookmark8>Merging Elements</a></h4>
249 <p class="whs5">import geompy</p>
251 <p class="whs5">import smesh</p>
253 <p class="whs5">import salome</p>
255 <p class="whs5">import SMESH</p>
257 <p class="whs4"> </p>
259 <p class="whs4"># create a face to be meshed</p>
261 <p class="whs5">px = geompy.MakeVertex(100.,
265 <p class="whs5">py = geompy.MakeVertex(0.
269 <p class="whs5">pz = geompy.MakeVertex(0.
273 <p class="whs5"> </p>
275 <p class="whs5">vxy = geompy.MakeVector(px,
278 <p class="whs5">arc = geompy.MakeArc(py,
281 <p class="whs5"> </p>
283 <p class="whs5">wire = geompy.MakeWire([vxy,
286 <p class="whs5">isPlanarFace = 1</p>
288 <p class="whs5"> </p>
290 <p class="whs5">face1 = geompy.MakeFace(wire,
293 <p class="whs5">id_face1 = geompy.addToStudy(face1,
294 "Face1")</p>
296 <p class="whs4"> </p>
298 <p class="whs4"># create a 2D mesh on the
301 <p class="whs5">trias = smesh.Mesh(face1,
302 "Face : 2D mesh")</p>
304 <p class="whs5"> </p>
306 <p class="whs5">algo = trias.Segment()</p>
308 <p class="whs5">algo.NumberOfSegments(6)</p>
310 <p class="whs5"> </p>
312 <p class="whs5">algo = trias.Triangle()</p>
314 <p class="whs5">algo.LengthFromEdges()</p>
316 <p class="whs5"> </p>
318 <p class="whs5">trias.Compute()</p>
320 <p class="whs5"> </p>
322 <p class="whs5">tri_mesh = trias.GetMesh()</p>
324 <p class="whs4"> </p>
326 <p class="whs4"># create a path mesh</p>
328 <p class="whs5">px1 = geompy.MakeVertex(100.,
332 <p class="whs5">py1 = geompy.MakeVertex(-100.
336 <p class="whs5">pz1 = geompy.MakeVertex(0.
340 <p class="whs5"> </p>
342 <p class="whs5">circle = geompy.MakeCircleThreePnt(py1,
345 <p class="whs5">id_circle = geompy.addToStudy(circle,
346 "Path")</p>
348 <p class="whs5"> </p>
350 <p class="whs5">circlemesh = smesh.Mesh(circle,
351 "Path mesh")</p>
353 <p class="whs5"> </p>
355 <p class="whs5">algo = circlemesh.Segment()</p>
357 <p class="whs5">algo.NumberOfSegments(10)</p>
359 <p class="whs5"> </p>
361 <p class="whs5">circlemesh.Compute()</p>
363 <p class="whs4"> </p>
365 <p class="whs4"># extrusion of the mesh</p>
367 <p class="whs5">aMeshEditor = tri_mesh.GetMeshEditor()</p>
369 <p class="whs5">aMeshEditor.ExtrusionAlongPathObject(tri_mesh,
370 circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))</p>
372 <p class="whs4"> </p>
374 <p class="whs4"># merge nodes</p>
376 <p class="whs5">print "Number
377 of nodes before MergeNodes:", tri_mesh.NbNodes()</p>
379 <p class="whs5"> </p>
381 <p class="whs5">tolerance = 0.001</p>
383 <p class="whs5">array_of_nodes_groups
384 = aMeshEditor.FindCoincidentNodes(tolerance)</p>
386 <p class="whs5">aMeshEditor.MergeNodes(array_of_nodes_groups)</p>
388 <p class="whs5"> </p>
390 <p class="whs5">print "Number
391 of nodes after MergeNodes:", tri_mesh.NbNodes()</p>
393 <p class="whs5">print ""</p>
395 <p class="whs5">print "Number
396 of elements before MergeEqualElements:"</p>
398 <p class="whs5">print "Edges
399 :
400 ", tri_mesh.NbEdges()</p>
402 <p class="whs5">print "Triangles
404 tri_mesh.NbTriangles()</p>
406 <p class="whs5">print "Quadrangles:
407 ", tri_mesh.NbQuadrangles()</p>
409 <p class="whs5">print "Volumes
411 ", tri_mesh.NbVolumes()</p>
413 <p class="whs4"> </p>
415 <p class="whs4"># merge elements</p>
417 <p class="whs5">aMeshEditor.MergeEqualElements()</p>
419 <p class="whs5"> </p>
421 <p class="whs5">print "Number
422 of elements after MergeEqualElements:"</p>
424 <p class="whs5">print "Edges
425 :
426 ", tri_mesh.NbEdges()</p>
428 <p class="whs5">print "Triangles
430 tri_mesh.NbTriangles()</p>
432 <p class="whs5">print "Quadrangles:
433 ", tri_mesh.NbQuadrangles()</p>
435 <p class="whs5">print "Volumes
437 ", tri_mesh.NbVolumes()</p>
439 <p class="whs5"> </p>
441 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
444 <h3>Sewing Meshes</h3>
446 <h4><a name=bookmark4>Sew Meshes Border to Border</a></h4>
448 <p class="whs5">import salome</p>
450 <p class="whs5">import geompy</p>
452 <p class="whs5">import smesh</p>
454 <p class="whs4"> </p>
456 <p class="whs4"># create two faces of a
459 <p class="whs5">box1 = geompy.MakeBox(0.,
460 0., -10., 30., 20., 25.)</p>
462 <p class="whs5">subShapeList1 =
463 geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])</p>
465 <p class="whs5"> </p>
467 <p class="whs5">box2 = geompy.MakeBox(0.,
468 5., 0., 20., 20., 15.)</p>
470 <p class="whs5">subShapeList2 =
471 geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])</p>
473 <p class="whs5">EdgesList = geompy.SubShapeAll(subShapeList2[
474 1 ], geompy.ShapeType["EDGE"])</p>
476 <p class="whs5"> </p>
478 <p class="whs5">aComp = geompy.MakeCompound(
479 [subShapeList1[ 2 ], subShapeList2[ 1 ]] )</p>
481 <p class="whs5">idComp = geompy.addToStudy(
482 aComp, "Two faces" )</p>
484 <p class="whs5">aCompobj =
485 salome.IDToObject( idComp )</p>
487 <p class="whs5"> </p>
489 <p class="whs4"># create a mesh on two
492 <p class="whs4"> </p>
494 <p class="whs5">mesh = smesh.Mesh(aCompobj,
495 "Two faces : quadrangle mesh")</p>
497 <p class="whs5">algo = mesh.Segment()</p>
499 <p class="whs5"> </p>
501 <p class="whs4"># define "NumberOfSegments"
502 hypothesis to cut an edge in a fixed number of segments</p>
504 <p class="whs5">algo.NumberOfSegments(9)</p>
506 <p class="whs4"> </p>
508 <p class="whs4"># create a quadrangle 2D
509 algorithm for faces</p>
511 <p class="whs5">mesh.Quadrangle()</p>
513 <p class="whs4"> </p>
515 <p class="whs4"># create a local hypothesis</p>
517 <p class="whs5">algo = mesh.Segment(EdgesList[2])</p>
519 <p class="whs4"> </p>
521 <p class="whs4"># define "Arithmetic1D"
522 hypothesis to cut an edge in several segments with increasing arithmetic
525 <p class="whs5">algo.Arithmetic1D(1,
528 <p class="whs4"> </p>
530 <p class="whs4"># define "Propagation"
531 hypothesis that propagates all other hypothesis on all edges on the opposite
532 side in case of quadrangular faces</p>
534 <p class="whs5">algo.Propagation()</p>
536 <p class="whs5">mesh.Compute()</p>
538 <p class="whs4"> </p>
540 <p class="whs4"># sew free borders</p>
542 <p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>
544 <p class="whs5">anEditor.SewBorderToSide(5,
545 45, 6, 113, 109, 0, 0)</p>
547 <p class="whs5"> </p>
549 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
552 <p class="whs4"> </p>
554 <h4><a name=bookmark5>Sew Conform Free Borders</a></h4>
556 <p class="whs5">import salome</p>
558 <p class="whs5">import geompy</p>
560 <p class="whs5">import smesh</p>
562 <p class="whs4"> </p>
564 <p class="whs4"># create two faces of the
567 <p class="whs5">box1 = geompy.MakeBox(0.,
568 0., -10., 20., 20., 15.)</p>
570 <p class="whs5">subShapeList1 =
571 geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])</p>
573 <p class="whs5"> </p>
575 <p class="whs5">box2 = geompy.MakeBox(0.,
576 5., 0., 20., 20., 15.)</p>
578 <p class="whs5">subShapeList2 =
579 geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])</p>
581 <p class="whs5">EdgesList = geompy.SubShapeAll(subShapeList2[
582 1 ], geompy.ShapeType["EDGE"])</p>
584 <p class="whs5"> </p>
586 <p class="whs5">aComp = geompy.MakeCompound(
587 [subShapeList1[ 2 ], subShapeList2[ 1 ]] )</p>
589 <p class="whs5">idComp = geompy.addToStudy(
590 aComp, "Two faces" )</p>
592 <p class="whs5">aCompobj =
593 salome.IDToObject( idComp )</p>
595 <p class="whs4"> </p>
597 <p class="whs4"># create a mesh on two
600 <p class="whs5">mesh = smesh.Mesh(aCompobj,
601 "Two faces : quadrangle mesh")</p>
603 <p class="whs5">algo = mesh.Segment()</p>
605 <p class="whs4"> </p>
607 <p class="whs4"># define "NumberOfSegments"
608 hypothesis to cut an edge in a fixed number of segments</p>
610 <p class="whs5">algo.NumberOfSegments(9)</p>
612 <p class="whs4"> </p>
614 <p class="whs4"># create a quadrangle 2D
615 algorithm for faces</p>
617 <p class="whs5">mesh.Quadrangle()</p>
619 <p class="whs4"> </p>
621 <p class="whs4"># create a local hypothesis</p>
623 <p class="whs5">algo = mesh.Segment(EdgesList[2])</p>
625 <p class="whs4"> </p>
627 <p class="whs4"># define "Arithmetic1D"
628 hypothesis to cut an edge in several segments with increasing arithmetic
631 <p class="whs5">algo.Arithmetic1D(1,
634 <p class="whs4"> </p>
636 <p class="whs4"># define "Propagation"
637 hypothesis that propagate all other hypothesis on all edges on<span style="margin-top: 0pt; margin-bottom: 0pt;">
638 the opposite side in case of quadrangular faces</span></p>
640 <p class="whs5">algo.Propagation()</p>
642 <p class="whs5">mesh.Compute()</p>
644 <p class="whs4"> </p>
646 <p class="whs4"># sew free borders</p>
648 <p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>
650 <p class="whs5">anEditor.SewConformFreeBorders(5,
653 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
656 <p class="whs4"> </p>
658 <h4><a name=bookmark6>Sew Free Borders</a></h4>
660 <p class="whs5">import salome</p>
662 <p class="whs5">import geompy</p>
664 <p class="whs5">import smesh</p>
666 <p class="whs4"> </p>
668 <p class="whs4"># create two faces of the
671 <p class="whs5">box1 = geompy.MakeBox(0.,
672 0., 0., 20., 20., 15.)</p>
674 <p class="whs5">subShapeList1 =
675 geompy.SubShapeAll(box1, geompy.ShapeType["FACE"])</p>
677 <p class="whs4"> </p>
679 <p class="whs5">box2 = geompy.MakeBox(0.,
680 5., 0., 20., 20., 15.)</p>
682 <p class="whs5">subShapeList2 =
683 geompy.SubShapeAll(box2, geompy.ShapeType["FACE"])</p>
685 <p class="whs5">EdgesList = geompy.SubShapeAll(subShapeList2[
686 1 ], geompy.ShapeType["EDGE"])</p>
688 <p class="whs5"> </p>
690 <p class="whs5">aComp = geompy.MakeCompound(
691 [subShapeList1[ 2 ], subShapeList2[ 1 ]] )</p>
693 <p class="whs5">idComp = geompy.addToStudy(
694 aComp, "Two faces" )</p>
696 <p class="whs5">aCompobj =
697 salome.IDToObject( idComp )</p>
699 <p class="whs5"> </p>
701 <p class="whs4"># create a mesh on two
704 <p class="whs5">mesh = smesh.Mesh(aCompobj,
705 "Two faces : quadrangle mesh")</p>
707 <p class="whs5">algo = mesh.Segment()</p>
709 <p class="whs4"> </p>
711 <p class="whs4"># define "NumberOfSegments"
712 hypothesis to cut an edge in a fixed number of segments</p>
714 <p class="whs5">algo.NumberOfSegments(4)</p>
716 <p class="whs4"> </p>
718 <p class="whs4"># creates a quadrangle
719 2D algorithm for faces</p>
721 <p class="whs5">mesh.Quadrangle()</p>
723 <p class="whs4"> </p>
725 <p class="whs4"># create a local hypothesis</p>
727 <p class="whs5">algo = mesh.Segment(EdgesList[2])</p>
729 <p class="whs4"> </p>
731 <p class="whs4"># define "Arithmetic1D"
732 hypothesis to cut an edge in several segments with increasing
733 arithmetic length</p>
735 <p class="whs5">algo.Arithmetic1D(1,
738 <p class="whs4"> </p>
740 <p class="whs4"># define "Propagation"
741 hypothesis that propagate all other hypothesis on all edges on<span style="margin-top: 0pt; margin-bottom: 0pt;">
742 the opposite side in case of quadrangular faces</span></p>
744 <p class="whs5">algo.Propagation()</p>
746 <p class="whs5">mesh.Compute()</p>
748 <p class="whs4"> </p>
750 <p class="whs4"># sew free borders</p>
752 <p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>
754 <p class="whs5">anEditor.SewFreeBorders(6,
755 21, 5, 1, 12, 3, 0, 0)</p>
757 <p class="whs5"> </p>
759 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
762 <p class="whs4"> </p>
764 <h4><a name=bookmark7>Sew Side Elements</a></h4>
766 <p class="whs5">import salome</p>
768 <p class="whs5">import geompy</p>
770 <p class="whs5">import smesh</p>
772 <p class="whs5"> </p>
774 <p class="whs4"># create two faces of the
777 <p class="whs5">box1 = geompy.MakeBox(0.,
781 <p class="whs5">box2 = geompy.MakeBox(0.,
782 15., 0., 20., 25., 10.)</p>
784 <p class="whs5">EdgesList = geompy.SubShapeAll(box2,
785 geompy.ShapeType["EDGE"])</p>
787 <p class="whs4"> </p>
789 <p class="whs5">aComp = geompy.MakeCompound(
792 <p class="whs5">idComp = geompy.addToStudy(
793 aComp, "Two faces" )</p>
795 <p class="whs5">aCompobj =
796 salome.IDToObject( idComp )</p>
798 <p class="whs5"> </p>
800 <p class="whs4"># create a mesh on two
803 <p class="whs5">mesh = smesh.Mesh(aCompobj,
804 "Two faces : quadrangle mesh")</p>
806 <p class="whs5">algo = mesh.Segment()</p>
808 <p class="whs4"> </p>
810 <p class="whs4"># define "NumberOfSegments"
811 hypothesis to cut an edge in a fixed number of segments</p>
813 <p class="whs5">algo.NumberOfSegments(2)</p>
815 <p class="whs4"> </p>
817 <p class="whs4"># create a quadrangle 2D
818 algorithm for faces</p>
820 <p class="whs5">mesh.Quadrangle()</p>
822 <p class="whs4"> </p>
824 <p class="whs4"># create a local hypothesis</p>
826 <p class="whs5">algo = mesh.Segment(EdgesList[8])</p>
828 <p class="whs4"> </p>
830 <p class="whs4"># define "Arithmetic1D"
831 hypothesis to cut an edge in several segments with increasing arithmetic
834 <p class="whs5">algo.NumberOfSegments(4)</p>
836 <p class="whs4"> </p>
838 <p class="whs4"># define "Propagation"
839 hypothesis that propagates all other hypothesis on all edges on <span
840 style="margin-top: 0pt; margin-bottom: 0pt;">the opposite side in case
841 of quadrangular faces</span></p>
843 <p class="whs5">algo.Propagation()</p>
845 <p class="whs5">mesh.Compute()</p>
847 <p class="whs4"> </p>
849 <p class="whs4"># sew free borders</p>
851 <p class="whs5">anEditor = mesh.GetMesh().GetMeshEditor()</p>
853 <p class="whs5">anEditor.SewSideElements([69,
854 70, 71, 72], [91, 92, 89, 90], 8, 38, 23, 58)</p>
856 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
859 <script type="text/javascript" language="javascript1.2">
861 if (window.writeIntopicBar)