1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
\r
6 <title>Modifying Meshes</title>
\r
7 <meta http-equiv="content-type" content="text/html; charset=windows-1252">
\r
8 <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style>
\r
10 P { margin-top:0pt; margin-bottom:0pt; }
\r
13 </style><style type="text/css">
\r
15 p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
\r
16 p.whs2 { margin-top:0pt; margin-bottom:0pt; }
\r
17 p.whs3 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }
\r
18 h4.whs4 { margin-top:0pt; margin-bottom:0pt; }
\r
19 p.whs5 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }
\r
20 p.whs6 { margin-top:0.5pt; margin-bottom:0pt; }
\r
21 p.whs7 { font-family:'Lucida Console' , monospace; }
\r
22 p.whs8 { font-family:'Times New Roman' , serif; }
\r
23 p.whs9 { margin-left:40px; font-family:'Lucida Console' , monospace; }
\r
25 </style><script type="text/javascript" language="JavaScript">
\r
27 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
\r
29 var strNSS = "<style type='text/css'>";
\r
30 strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";
\r
31 strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";
\r
32 strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";
\r
33 strNSS += "h4.whs4 {margin-top:1pt;margin-bottom:1pt; }";
\r
34 strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";
\r
35 strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";
\r
36 strNSS +="</style>";
\r
37 document.write(strNSS);
\r
41 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">
\r
44 if (innerWidth != origWidth || innerHeight != origHeight)
\r
47 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
\r
48 origWidth = innerWidth;
\r
49 origHeight = innerHeight;
\r
55 <style type="text/css">
\r
57 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }
\r
59 </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
\r
60 <script type="text/javascript" language="javascript" src="whver.js"></script>
\r
61 <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
\r
62 <script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
\r
63 <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
\r
65 <body><script type="text/javascript" language="javascript1.2">
\r
67 if (window.gbWhTopic)
\r
69 if (window.addTocInfo)
\r
71 addTocInfo("MESH module\nTUI Scripts\nModifying Meshes");
\r
72 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
\r
75 if (window.writeBtnStyle)
\r
78 if (window.writeIntopicBar)
\r
81 if (window.setRelStartPage)
\r
83 setRelStartPage("smesh.htm");
\r
92 document.location.reload();
\r
95 <h1>Modifying Meshes</h1>
\r
97 <h3><a name=bookmark>Adding Nodes and Elements</a></h3>
\r
101 <p class="whs1">import SMESH</p>
\r
103 <p class="whs1">import SMESH_mechanic</p>
\r
105 <p class="whs1"> </p>
\r
107 <p class="whs1">smesh =
\r
108 SMESH_mechanic.smesh</p>
\r
110 <p class="whs1">mesh =
\r
111 SMESH_mechanic.mesh</p>
\r
113 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
115 <p class="whs2"> </p>
\r
117 <p class="whs2"># add node</p>
\r
119 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
121 <p class="whs1">if aMeshEditor.AddNode(50,
\r
124 <p class="whs1"> print
\r
125 "Node addition is OK!"</p>
\r
127 <p class="whs1">else:</p>
\r
129 <p class="whs1"> print
\r
130 "KO node addition."</p>
\r
132 <p class="whs1"> </p>
\r
134 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
137 <p class="whs1"> </p>
\r
141 <p class="whs1">import SMESH</p>
\r
143 <p class="whs1">import SMESH_mechanic</p>
\r
145 <p class="whs1"> </p>
\r
147 <p class="whs1">smesh =
\r
148 SMESH_mechanic.smesh</p>
\r
150 <p class="whs1">mesh =
\r
151 SMESH_mechanic.mesh</p>
\r
153 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
155 <p class="whs2"> </p>
\r
157 <p class="whs2"># add node</p>
\r
159 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
161 <p class="whs1">if aMeshEditor.AddNode(50,
\r
164 <p class="whs1"> print
\r
165 "Node addition is OK!"</p>
\r
167 <p class="whs1">else:</p>
\r
169 <p class="whs1"> print
\r
170 "KO node addition."</p>
\r
172 <p class="whs1"> </p>
\r
174 <p class="whs2"># add edge</p>
\r
176 <p class="whs1">LastNodeId = mesh.NbNodes()</p>
\r
178 <p class="whs1">if aMeshEditor.AddEdge([LastNodeId,
\r
181 <p class="whs1"> print
\r
182 "Edge addition is OK!"</p>
\r
184 <p class="whs1">else:</p>
\r
186 <p class="whs1"> print
\r
187 "KO edge addition."</p>
\r
189 <p class="whs1"> </p>
\r
191 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
194 <p class="whs1"> </p>
\r
196 <h4>Add Triangle</h4>
\r
198 <p class="whs1">import SMESH</p>
\r
200 <p class="whs1">import SMESH_mechanic</p>
\r
202 <p class="whs1"> </p>
\r
204 <p class="whs1">smesh =
\r
205 SMESH_mechanic.smesh</p>
\r
207 <p class="whs1">mesh =
\r
208 SMESH_mechanic.mesh</p>
\r
210 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
212 <p class="whs1"> </p>
\r
214 <p class="whs2"># add node</p>
\r
216 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
218 <p class="whs1">if aMeshEditor.AddNode(50,
\r
221 <p class="whs1"> print
\r
222 "Node addition is OK!"</p>
\r
224 <p class="whs1">else:</p>
\r
226 <p class="whs1"> print
\r
227 "KO node addition."</p>
\r
229 <p class="whs1"> </p>
\r
231 <p class="whs1">LastNodeId = mesh.NbNodes()</p>
\r
233 <p class="whs2"> </p>
\r
235 <p class="whs2"># add triangle</p>
\r
237 <p class="whs1">if aMeshEditor.AddFace([LastNodeId,
\r
240 <p class="whs1"> print
\r
241 "Triangle addition is OK!"</p>
\r
243 <p class="whs1">else:</p>
\r
245 <p class="whs1"> print
\r
246 "KO triangle addition."</p>
\r
248 <p class="whs1"> </p>
\r
250 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
253 <p class="whs1"> </p>
\r
255 <h4>Add Quadrangle</h4>
\r
257 <p class="whs1">import SMESH</p>
\r
259 <p class="whs1">import SMESH_mechanic</p>
\r
261 <p class="whs1"> </p>
\r
263 <p class="whs1">smesh =
\r
264 SMESH_mechanic.smesh</p>
\r
266 <p class="whs1">mesh =
\r
267 SMESH_mechanic.mesh</p>
\r
269 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
271 <p class="whs1"> </p>
\r
273 <p class="whs2"># add node</p>
\r
275 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
277 <p class="whs1">if aMeshEditor.AddNode(50,
\r
280 <p class="whs1"> print
\r
281 "Node addition is OK!"</p>
\r
283 <p class="whs1">else:</p>
\r
285 <p class="whs1"> print
\r
286 "KO node addition."</p>
\r
288 <p class="whs1"> </p>
\r
290 <p class="whs1">LastNodeId = mesh.NbNodes()</p>
\r
292 <p class="whs2"> </p>
\r
294 <p class="whs2"># add quadrangle</p>
\r
296 <p class="whs1">if aMeshEditor.AddNode(40,
\r
299 <p class="whs1"> print
\r
300 "Node addition is OK!"</p>
\r
302 <p class="whs1">else:</p>
\r
304 <p class="whs1"> print
\r
305 "KO node addition."</p>
\r
307 <p class="whs1">if aMeshEditor.AddFace([mesh.NbNodes(),
\r
308 LastNodeId, 38, 39]) == 1:</p>
\r
310 <p class="whs1"> print
\r
311 "Quadrangle addition is OK!"</p>
\r
313 <p class="whs1">else:</p>
\r
315 <p class="whs1"> print
\r
316 "KO quadrangle addition."</p>
\r
318 <p class="whs1"> </p>
\r
320 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
323 <p class="whs2"> </p>
\r
325 <h4>Add Tetrahedron</h4>
\r
327 <p class="whs1">import SMESH</p>
\r
329 <p class="whs1">import SMESH_mechanic</p>
\r
331 <p class="whs1"> </p>
\r
333 <p class="whs1">smesh =
\r
334 SMESH_mechanic.smesh</p>
\r
336 <p class="whs1">mesh =
\r
337 SMESH_mechanic.mesh</p>
\r
339 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
341 <p class="whs1"> </p>
\r
343 <p class="whs2"># add node</p>
\r
345 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
347 <p class="whs1">if aMeshEditor.AddNode(50,
\r
350 <p class="whs1"> print
\r
351 "Node addition is OK!"</p>
\r
353 <p class="whs1">else:</p>
\r
355 <p class="whs1"> print
\r
356 "KO node addition."</p>
\r
358 <p class="whs1"> </p>
\r
360 <p class="whs1">LastNodeId = mesh.NbNodes()</p>
\r
362 <p class="whs2"> </p>
\r
364 <p class="whs2"># add tetrahedron</p>
\r
366 <p class="whs1">if aMeshEditor.AddVolume([LastNodeId,
\r
367 38, 39, 246]) == 1:</p>
\r
369 <p class="whs1"> print
\r
370 "Tetrahedron addition is OK!"</p>
\r
372 <p class="whs1">else:</p>
\r
374 <p class="whs1"> print
\r
375 "KO tetrahedron addition."</p>
\r
377 <p class="whs1"> </p>
\r
379 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
382 <p class="whs2"> </p>
\r
384 <h4>Add Hexahedron</h4>
\r
386 <p class="whs1">import SMESH</p>
\r
388 <p class="whs1">import SMESH_mechanic</p>
\r
390 <p class="whs1"> </p>
\r
392 <p class="whs1">smesh =
\r
393 SMESH_mechanic.smesh</p>
\r
395 <p class="whs1">mesh =
\r
396 SMESH_mechanic.mesh</p>
\r
398 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
400 <p class="whs1"> </p>
\r
402 <p class="whs2"># add nodes</p>
\r
404 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
406 <p class="whs1">if aMeshEditor.AddNode(50,
\r
409 <p class="whs1"> print
\r
410 "Node addition is OK!"</p>
\r
412 <p class="whs1">else:</p>
\r
414 <p class="whs1"> print
\r
415 "KO node addition."</p>
\r
417 <p class="whs1">aNodeId1 = mesh.NbNodes()</p>
\r
419 <p class="whs1"> </p>
\r
421 <p class="whs1">if aMeshEditor.AddNode(47,
\r
424 <p class="whs1"> print
\r
425 "Node addition is OK!"</p>
\r
427 <p class="whs1">else:</p>
\r
429 <p class="whs1"> print
\r
430 "KO node addition."</p>
\r
432 <p class="whs1">aNodeId2 = mesh.NbNodes()</p>
\r
434 <p class="whs1"> </p>
\r
436 <p class="whs1">if aMeshEditor.AddNode(50,
\r
439 <p class="whs1"> print
\r
440 "Node addition is OK!"</p>
\r
442 <p class="whs1">else:</p>
\r
444 <p class="whs1"> print
\r
445 "KO node addition."</p>
\r
447 <p class="whs1">aNodeId3 = mesh.NbNodes()</p>
\r
449 <p class="whs1"> </p>
\r
451 <p class="whs1">if aMeshEditor.AddNode(47,
\r
454 <p class="whs1"> print
\r
455 "Node addition is OK!"</p>
\r
457 <p class="whs1">else:</p>
\r
459 <p class="whs1"> print
\r
460 "KO node addition."</p>
\r
462 <p class="whs1">aNodeId4 = mesh.NbNodes()</p>
\r
464 <p class="whs1"> </p>
\r
466 <p class="whs2"># add hexahedron</p>
\r
468 <p class="whs1">if aMeshEditor.AddVolume([aNodeId2,
\r
469 aNodeId1, 38, 39, aNodeId4, aNodeId3, 245, 246]) == 1:</p>
\r
471 <p class="whs1"> print
\r
472 "Hexahedron addition is OK!"</p>
\r
474 <p class="whs1">else:</p>
\r
476 <p class="whs1"> print
\r
477 "KO Hexahedron addition."</p>
\r
479 <p class="whs1"> </p>
\r
481 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
484 <p class="whs2"> </p>
\r
486 <h4>Add Polygon</h4>
\r
488 <p class="whs1">import salome</p>
\r
490 <p class="whs1">import geompy</p>
\r
492 <p class="whs1">import math</p>
\r
494 <p class="whs1"> </p>
\r
496 <p class="whs1">import StdMeshers</p>
\r
498 <p class="whs1"> </p>
\r
500 <p class="whs2"># GEOM module </p>
\r
502 <p class="whs1">shape_mesh = geompy.MakeCylinderRH(13,
\r
505 <p class="whs1">geompy.addToStudy(shape_mesh,
\r
506 "cylinder")</p>
\r
508 <p class="whs1"> </p>
\r
510 <p class="whs2"># SMESH module</p>
\r
512 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent("FactoryServer",
\r
513 "SMESH")</p>
\r
515 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>
\r
517 <p class="whs1">mesh = smesh.CreateMesh(shape_mesh)</p>
\r
519 <p class="whs1">MeshEditor = mesh.GetMeshEditor()</p>
\r
521 <p class="whs1"> </p>
\r
523 <p class="whs2"># a method to build a polygonal
\r
524 mesh element with nb_vert angles:</p>
\r
526 <p class="whs1">def MakePolygon
\r
527 (a_mesh, x0, y0, z0, radius, nb_vert):</p>
\r
529 <p class="whs1"> node_start_id
\r
530 = a_mesh.NbNodes() + 1</p>
\r
532 <p class="whs1"> al
\r
533 = 2.0 * math.pi / nb_vert</p>
\r
535 <p class="whs1"> node_ids
\r
538 <p class="whs2"> </p>
\r
540 <p class="whs2"># Create nodes for a polyhedron</p>
\r
542 <p class="whs1"> for
\r
543 ii in range(nb_vert):</p>
\r
545 <p class="whs1"> MeshEditor.AddNode(x0
\r
546 + radius * math.cos(ii*al),</p>
\r
548 <p class="whs1"> y0
\r
549 + radius * math.sin(ii*al),</p>
\r
551 <p class="whs1"> z0)</p>
\r
553 <p class="whs1"> node_ids.append(node_start_id
\r
556 <p class="whs1"> pass</p>
\r
558 <p class="whs2"> </p>
\r
560 <p class="whs2"># Create a polygon</p>
\r
562 <p class="whs1"> MeshEditor.AddPolygonalFace(node_ids)</p>
\r
564 <p class="whs1"> return
\r
567 <p class="whs1"> </p>
\r
569 <p class="whs2"># Create three polygons</p>
\r
571 <p class="whs1">MakePolygon(mesh,
\r
575 <p class="whs1">MakePolygon(mesh,
\r
576 0, 0, 10, 21, 9)</p>
\r
578 <p class="whs1">MakePolygon(mesh,
\r
579 0, 0, 20, 13, 6)</p>
\r
581 <p class="whs1"> </p>
\r
583 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
586 <p class="whs1"> </p>
\r
588 <h4>Add polyhedron</h4>
\r
590 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import
\r
593 <p class="whs1">import geompy</p>
\r
595 <p class="whs1">import math</p>
\r
597 <p class="whs1"> </p>
\r
599 <p class="whs1">#import SMESH</p>
\r
601 <p class="whs1">import StdMeshers</p>
\r
603 <p class="whs1"> </p>
\r
605 <p class="whs3"># GEOM</p>
\r
607 <p class="whs1">shape_mesh = geompy.MakeCylinderRH(13,
\r
610 <p class="whs1">geompy.addToStudy(shape_mesh,
\r
611 "cylinder")</p>
\r
613 <p class="whs1"> </p>
\r
615 <p class="whs3"># SMESH</p>
\r
617 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent("FactoryServer",
\r
618 "SMESH")</p>
\r
620 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>
\r
622 <p class="whs1">mesh = smesh.CreateMesh(shape_mesh)</p>
\r
624 <p class="whs1">MeshEditor = mesh.GetMeshEditor()</p>
\r
626 <p class="whs1"> </p>
\r
628 <p class="whs3"># Now we are going
\r
629 to create a 12-hedron:</p>
\r
631 <p class="whs3"> </p>
\r
633 <p class="whs3"># Create nodes for
\r
636 <p class="whs1">al = 2 * math.pi
\r
639 <p class="whs1">cosal = math.cos(al)</p>
\r
641 <p class="whs1"> </p>
\r
643 <p class="whs1">aa = 13</p>
\r
645 <p class="whs1">rr = aa / (2.0 *
\r
646 math.sin(al/2.0))</p>
\r
648 <p class="whs1">dr = 2.0 * rr *
\r
651 <p class="whs1">r1 = rr + dr</p>
\r
653 <p class="whs1">dh = rr * math.sqrt(2.0
\r
654 * (1.0 - cosal * (1.0 + 2.0 * cosal)))</p>
\r
656 <p class="whs1">hh = 2.0 * dh -
\r
657 dr * (rr*(cosal - 1) + (rr + dr)*(math.cos(al/2) - 1)) / dh</p>
\r
659 <p class="whs1"> </p>
\r
661 <p class="whs1">for i in range(5):</p>
\r
663 <p class="whs1"> MeshEditor.AddNode(rr*math.cos(i*al),
\r
664 rr*math.sin(i*al), 0)
\r
665 <span style="font-family: 'Times New Roman', serif;"># 1,3,5,7, 9 # bottom</span></p>
\r
667 <p class="whs1"> MeshEditor.AddNode(r1*math.cos(i*al),
\r
668 r1*math.sin(i*al), dh) <span style="font-family: 'Times New Roman', serif;">#
\r
669 2,4,6,8,10 # above bottom</span></p>
\r
671 <p class="whs1"> </p>
\r
673 <p class="whs1">for i in range(5):</p>
\r
675 <p class="whs1"> MeshEditor.AddNode(rr*math.cos(i*al
\r
678 <p class="whs1"> rr*math.sin(i*al
\r
679 + al/2.0), hh) # 11,13,15,17,19 <span style="font-family: 'Times New Roman', serif;">#
\r
682 <p class="whs1"> MeshEditor.AddNode(r1*math.cos(i*al
\r
685 <p class="whs1"> r1*math.sin(i*al
\r
686 + al/2.0), hh - dh) # 12,14,16,18,20 <span style="font-family: 'Times New Roman', serif;">#
\r
687 below top</span></p>
\r
689 <p class="whs1"> </p>
\r
691 <p class="whs3"># Create a polyhedral
\r
694 <p class="whs1">MeshEditor.AddPolyhedralVolume([
\r
695 1, 3, 5,
\r
697 <span style="font-family: 'Times New Roman', serif;">#
\r
700 <p class="whs1"> 1,
\r
703 <span style="font-family: 'Times New Roman', serif;">#
\r
706 <p class="whs1"> 3,
\r
709 <span style="font-family: 'Times New Roman', serif;">#
\r
712 <p class="whs1"> 5,
\r
715 <span style="font-family: 'Times New Roman', serif;">#
\r
716 . above bottom</span></p>
\r
718 <p class="whs1"> 7,
\r
721 <span style="font-family: 'Times New Roman', serif;">#
\r
724 <p class="whs1"> 9,
\r
726 1, <span
\r
727 style="font-family: 'Times New Roman', serif;">#
\r
730 <p class="whs1"> 11,
\r
732 14, 13, <span style="font-family: 'Times New Roman', serif;">#
\r
735 <p class="whs1"> 13,
\r
737 16, 15, <span style="font-family: 'Times New Roman', serif;">#
\r
740 <p class="whs1"> 15,
\r
742 18, 17, <span style="font-family: 'Times New Roman', serif;">#
\r
743 - below top</span></p>
\r
745 <p class="whs1"> 17,
\r
746 18, 10, 20, 19, <span style="font-family: 'Times New Roman', serif;">#
\r
749 <p class="whs1"> 19,
\r
751 12, 11, <span style="font-family: 'Times New Roman', serif;">#
\r
754 <p class="whs1"> 11,
\r
755 13, 15, 17, 19], <span style="font-family: 'Times New Roman', serif;">#
\r
758 <p class="whs1"> [5,5,5,5,5,5,5,5,5,5,5,5])</p>
\r
760 <p class="whs1"> </p>
\r
762 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
765 <p class="whs1"> </p>
\r
767 <h3><a name=bookmark1>Removing Nodes and Elements</a></h3>
\r
769 <h4 class="whs4">Removing Nodes</h4>
\r
771 <p class="whs2"> </p>
\r
773 <p class="whs1">import SMESH</p>
\r
775 <p class="whs1">import SMESH_mechanic</p>
\r
777 <p class="whs1"> </p>
\r
779 <p class="whs1">smesh =
\r
780 SMESH_mechanic.smesh</p>
\r
782 <p class="whs1">mesh =
\r
783 SMESH_mechanic.mesh</p>
\r
785 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
787 <p class="whs2"> </p>
\r
789 <p class="whs2"># add node</p>
\r
791 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
793 <p class="whs1">if aMeshEditor.RemoveNodes([246,
\r
796 <p class="whs1"> print
\r
797 "Node removing is OK!"</p>
\r
799 <p class="whs1">else:</p>
\r
801 <p class="whs1"> print
\r
802 "KO node removing."</p>
\r
804 <p class="whs1"> </p>
\r
806 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
809 <p class="whs2"> </p>
\r
811 <h4>Removing Elements</h4>
\r
813 <p class="whs1">import SMESH</p>
\r
815 <p class="whs1">import SMESH_mechanic</p>
\r
817 <p class="whs1"> </p>
\r
819 <p class="whs1">smesh =
\r
820 SMESH_mechanic.smesh</p>
\r
822 <p class="whs1">mesh =
\r
823 SMESH_mechanic.mesh</p>
\r
825 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
827 <p class="whs1"> </p>
\r
829 <p class="whs1">anEditor = mesh.GetMeshEditor()</p>
\r
831 <p class="whs1">anEditor.RemoveElements([850,
\r
834 <p class="whs1"> </p>
\r
836 <p class="whs1">salome.sg.updateObjBrowser(1)
\r
839 <p class="whs1"> </p>
\r
841 <h3><a name=bookmark2>Renumbering Nodes and Elements</a></h3>
\r
843 <p class="whs5">import SMESH</p>
\r
845 <p class="whs5">import SMESH_mechanic</p>
\r
847 <p class="whs5"> </p>
\r
849 <p class="whs5">mesh =
\r
850 SMESH_mechanic.mesh</p>
\r
852 <p class="whs5">salome = SMESH_mechanic.salome</p>
\r
854 <p class="whs5"> </p>
\r
856 <p class="whs5">anEditor = mesh.GetMeshEditor()</p>
\r
858 <p class="whs5">anEditor.RenumberNodes()</p>
\r
860 <p class="whs5"> </p>
\r
862 <p class="whs6"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
865 <p class="whs6"> </p>
\r
869 <h3><a name=bookmark3>Moving Nodes</a></h3>
\r
871 <p class="whs1">import SMESH</p>
\r
873 <p class="whs1">import SMESH_mechanic</p>
\r
875 <p class="whs1"> </p>
\r
877 <p class="whs1">smesh =
\r
878 SMESH_mechanic.smesh</p>
\r
880 <p class="whs1">mesh =
\r
881 SMESH_mechanic.mesh</p>
\r
883 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
885 <p class="whs1"> </p>
\r
887 <p class="whs2"># move node</p>
\r
889 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
891 <p class="whs1">aMeshEditor.MoveNode(38,
\r
894 <p class="whs1"> </p>
\r
896 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
899 <p class="whs2"> </p>
\r
901 <h3><a name=bookmark4>Diagonal Inversion</a></h3>
\r
903 <p class="whs1">import SMESH</p>
\r
905 <p class="whs1">import SMESH_mechanic</p>
\r
907 <p class="whs1"> </p>
\r
909 <p class="whs1">smesh =
\r
910 SMESH_mechanic.smesh</p>
\r
912 <p class="whs1">mesh =
\r
913 SMESH_mechanic.mesh</p>
\r
915 <p class="whs1">salome = SMESH_mechanic.salome</p>
\r
917 <p class="whs1"> </p>
\r
919 <p class="whs2"># inverse diagonal</p>
\r
921 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>
\r
923 <p class="whs1">aMeshEditor.InverseDiag(700,
\r
926 <p class="whs1"> </p>
\r
928 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
931 <p class="whs2"> </p>
\r
933 <h3><a name=bookmark5>Uniting two Triangles</a></h3>
\r
935 <p class="whs7">import SMESH</p>
\r
937 <p class="whs7">import SMESH_mechanic</p>
\r
939 <p class="whs7"> </p>
\r
941 <p class="whs7">smesh =
\r
942 SMESH_mechanic.smesh</p>
\r
944 <p class="whs7">mesh =
\r
945 SMESH_mechanic.mesh</p>
\r
947 <p class="whs7">salome = SMESH_mechanic.salome</p>
\r
949 <p class="whs7"> </p>
\r
951 <p># delete diagonal</p>
\r
953 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>
\r
955 <p class="whs7">aMeshEditor.DeleteDiag(700,
\r
958 <p class="whs7"> </p>
\r
960 <p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
965 <h3><a name=bookmark6>Uniting a Set of Triangles</a></h3>
\r
967 <p class="whs7">import SMESH</p>
\r
969 <p class="whs7">import SMESH_mechanic</p>
\r
971 <p class="whs7"> </p>
\r
973 <p class="whs7">smesh =
\r
974 SMESH_mechanic.smesh</p>
\r
976 <p class="whs7">mesh =
\r
977 SMESH_mechanic.mesh</p>
\r
979 <p class="whs7">salome = SMESH_mechanic.salome</p>
\r
981 <p class="whs7"> </p>
\r
983 <p># unite a set of triangles</p>
\r
985 <p class="whs7">aFilterMgr = smesh.CreateFilterManager()</p>
\r
987 <p class="whs7">aFunctor = aFilterMgr.CreateMinimumAngle()</p>
\r
989 <p class="whs7"> </p>
\r
991 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>
\r
993 <p class="whs7">aMeshEditor.TriToQuad([1145,
\r
994 1147, 1159, 1135], aFunctor, 60)</p>
\r
996 <p class="whs7"> </p>
\r
998 <p class="whs7">salome.sg.updateObjBrowser(1)
\r
1001 <p class="whs7"> </p>
\r
1003 <h3><a name=bookmark12>Orientation</a></h3>
\r
1005 <p class="whs7"><span style="font-family: 'Lucida Console', monospace;">import
\r
1008 <p class="whs7">import geompy</p>
\r
1010 <p class="whs7"> </p>
\r
1012 <p class="whs7">import StdMeshers</p>
\r
1014 <p class="whs7"> </p>
\r
1016 <p class="whs8"># GEOM module</p>
\r
1018 <p class="whs7">shape_mesh = geompy.MakeCylinderRH(13,
\r
1021 <p class="whs7">geompy.addToStudy(shape_mesh,
\r
1022 "cylinder")</p>
\r
1024 <p class="whs7"> </p>
\r
1026 <p class="whs8"># SMESH module</p>
\r
1028 <p class="whs7">smesh = salome.lcc.FindOrLoadComponent("FactoryServer",
\r
1029 "SMESH")</p>
\r
1031 <p class="whs7">smesh.SetCurrentStudy(salome.myStudy)</p>
\r
1033 <p class="whs7">mesh = smesh.CreateMesh(shape_mesh)</p>
\r
1035 <p class="whs7">MeshEditor = mesh.GetMeshEditor()</p>
\r
1037 <p class="whs7"> </p>
\r
1039 <p class="whs8"># build five quadrangles:</p>
\r
1041 <p class="whs7">node_start_id = mesh.NbNodes()
\r
1044 <p class="whs7">dx = 10</p>
\r
1046 <p class="whs7">dy = 20</p>
\r
1048 <p class="whs7"> </p>
\r
1050 <p class="whs7">MeshEditor.AddNode(0.0
\r
1051 * dx, 0, 0) # 1</p>
\r
1053 <p class="whs7">MeshEditor.AddNode(1.0
\r
1054 * dx, 0, 0) # 2</p>
\r
1056 <p class="whs7">MeshEditor.AddNode(2.0
\r
1057 * dx, 0, 0) # 3</p>
\r
1059 <p class="whs7">MeshEditor.AddNode(3.0
\r
1060 * dx, 0, 0) # 4</p>
\r
1062 <p class="whs7">MeshEditor.AddNode(4.0
\r
1063 * dx, 0, 0) # 5</p>
\r
1065 <p class="whs7">MeshEditor.AddNode(5.0
\r
1066 * dx, 0, 0) # 6</p>
\r
1068 <p class="whs7"> </p>
\r
1070 <p class="whs7">MeshEditor.AddNode(0.0
\r
1071 * dx, dy, 0) # 7</p>
\r
1073 <p class="whs7">MeshEditor.AddNode(1.0
\r
1074 * dx, dy, 0) # 8</p>
\r
1076 <p class="whs7">MeshEditor.AddNode(2.0
\r
1077 * dx, dy, 0) # 9</p>
\r
1079 <p class="whs7">MeshEditor.AddNode(3.0
\r
1080 * dx, dy, 0) # 10</p>
\r
1082 <p class="whs7">MeshEditor.AddNode(4.0
\r
1083 * dx, dy, 0) # 11</p>
\r
1085 <p class="whs7">MeshEditor.AddNode(5.0
\r
1086 * dx, dy, 0) # 12</p>
\r
1088 <p class="whs7"> </p>
\r
1090 <p class="whs7">MeshEditor.AddFace([1,
\r
1091 2, 8, 7])</p>
\r
1093 <p class="whs7">MeshEditor.AddFace([2,
\r
1094 3, 9, 8])</p>
\r
1096 <p class="whs7">MeshEditor.AddFace([3,
\r
1097 4, 10, 9])</p>
\r
1099 <p class="whs7">MeshEditor.AddFace([4,
\r
1102 <p class="whs7">MeshEditor.AddFace([5,
\r
1105 <p class="whs7"> </p>
\r
1107 <p class="whs8"># Change orientation
\r
1108 of the second and the fourth faces.</p>
\r
1110 <p class="whs7">MeshEditor.Reorient([2,
\r
1113 <p class="whs7"> </p>
\r
1115 <p class="whs7">salome.sg.updateObjBrowser(1)
\r
1118 <p class="whs7"> </p>
\r
1120 <h3><a name=bookmark7>Cutting Quadrangles</a></h3>
\r
1122 <p class="whs7">import SMESH</p>
\r
1124 <p class="whs7">import SMESH_mechanic</p>
\r
1126 <p class="whs7"> </p>
\r
1128 <p class="whs7">smesh =
\r
1129 SMESH_mechanic.smesh</p>
\r
1131 <p class="whs7">mesh =
\r
1132 SMESH_mechanic.mesh</p>
\r
1134 <p class="whs7">salome = SMESH_mechanic.salome</p>
\r
1136 <p class="whs7"> </p>
\r
1138 <p class="whs8"># unite a set of triangles</p>
\r
1140 <p class="whs7">aFilterMgr = smesh.CreateFilterManager()</p>
\r
1142 <p class="whs7">aFunctor = aFilterMgr.CreateMinimumAngle()</p>
\r
1144 <p class="whs7"> </p>
\r
1146 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>
\r
1148 <p class="whs7">aMeshEditor.QuadToTri([405,
\r
1149 406], aFunctor)</p>
\r
1151 <p class="whs7"> </p>
\r
1153 <p class="whs7">salome.sg.updateObjBrowser(1)
\r
1156 <p class="whs8"> </p>
\r
1158 <h3><a name=bookmark8>Smoothing</a></h3>
\r
1160 <p class="whs7">import SMESH</p>
\r
1162 <p class="whs7">import SMESH_mechanic</p>
\r
1164 <p class="whs7"> </p>
\r
1166 <p class="whs7">smesh =
\r
1167 SMESH_mechanic.smesh</p>
\r
1169 <p class="whs7">mesh =
\r
1170 SMESH_mechanic.mesh</p>
\r
1172 <p class="whs7">salome = SMESH_mechanic.salome</p>
\r
1174 <p class="whs7"> </p>
\r
1176 <p class="whs8"># smooth</p>
\r
1178 <p class="whs7">FacesSmooth = [911,
\r
1179 931, 950, 864, 932]</p>
\r
1181 <p class="whs7">GroupSmooth = mesh.CreateGroup(SMESH.FACE,"Group
\r
1182 of faces (smooth)")</p>
\r
1184 <p class="whs7">GroupSmooth.Add(FacesSmooth)</p>
\r
1186 <p class="whs7"> </p>
\r
1188 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>
\r
1190 <p class="whs7">aMeshEditor.SmoothObject(GroupSmooth,
\r
1191 [], 20, 2, SMESH.SMESH_MeshEditor.CENTROIDAL_SMOOTH)</p>
\r
1193 <p class="whs7"> </p>
\r
1195 <p class="whs7">salome.sg.updateObjBrowser(1)
\r
1198 <p class="whs7"> </p>
\r
1200 <p class="whs7"> </p>
\r
1202 <h3><a name=bookmark9>Extrusion</a></h3>
\r
1204 <p class="whs8">import SMESH</p>
\r
1206 <p class="whs8">import SMESH_mechanic</p>
\r
1208 <p class="whs8"> </p>
\r
1210 <p class="whs8">smesh =
\r
1211 SMESH_mechanic.smesh</p>
\r
1213 <p class="whs8">mesh =
\r
1214 SMESH_mechanic.mesh</p>
\r
1216 <p class="whs8">salome = SMESH_mechanic.salome</p>
\r
1218 <p class="whs7"> </p>
\r
1220 <p class="whs8"># extrusion of the group</p>
\r
1222 <p class="whs8">point = SMESH.PointStruct(0,
\r
1225 <p class="whs8">vector = SMESH.DirStruct(point)</p>
\r
1227 <p class="whs8">FacesTriToQuad = [2381,
\r
1228 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393,
\r
1229 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405,
\r
1230 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417,
\r
1231 2418, 2419, 2420, 2421, 2422]</p>
\r
1233 <p class="whs8"> </p>
\r
1235 <p class="whs8">GroupTriToQuad = mesh.CreateGroup(SMESH.FACE,"Group
\r
1236 of faces (quad)")</p>
\r
1238 <p class="whs8">GroupTriToQuad.Add(FacesTriToQuad)</p>
\r
1240 <p class="whs8"> </p>
\r
1242 <p class="whs8">aMeshEditor = mesh.GetMeshEditor()</p>
\r
1244 <p class="whs8">aMeshEditor.ExtrusionSweepObject(GroupTriToQuad,
\r
1247 <p class="whs8"> </p>
\r
1249 <p class="whs8">salome.sg.updateObjBrowser(1)
\r
1252 <p class="whs8"> </p>
\r
1254 <h3><a name=bookmark10>Extrusion along a Path</a></h3>
\r
1256 <p class="whs7">import geompy</p>
\r
1258 <p class="whs7">import smesh</p>
\r
1260 <p class="whs7">import salome</p>
\r
1262 <p class="whs7">import SMESH</p>
\r
1264 <p class="whs7"> </p>
\r
1266 <p class="whs8"># create a face to be
\r
1269 <p class="whs7">px = geompy.MakeVertex(100.,
\r
1273 <p class="whs7">py = geompy.MakeVertex(0.
\r
1277 <p class="whs7">pz = geompy.MakeVertex(0.
\r
1278 , 0. ,
\r
1281 <p class="whs7"> </p>
\r
1283 <p class="whs7">vxy = geompy.MakeVector(px,
\r
1286 <p class="whs7">arc = geompy.MakeArc(py,
\r
1289 <p class="whs7"> </p>
\r
1291 <p class="whs7">wire = geompy.MakeWire([vxy,
\r
1294 <p class="whs7">isPlanarFace = 1</p>
\r
1296 <p class="whs7"> </p>
\r
1298 <p class="whs7">face1 = geompy.MakeFace(wire,
\r
1301 <p class="whs7">id_face1 = geompy.addToStudy(face1,
\r
1302 "Face1")</p>
\r
1304 <p class="whs7"> </p>
\r
1306 <p class="whs8"># create a 2D mesh on
\r
1309 <p class="whs7">trias = smesh.Mesh(face1,
\r
1310 "Face : 2D mesh")</p>
\r
1312 <p class="whs7"> </p>
\r
1314 <p class="whs7">algo = trias.Segment()</p>
\r
1316 <p class="whs7">algo.NumberOfSegments(6)</p>
\r
1318 <p class="whs7"> </p>
\r
1320 <p class="whs7">algo = trias.Triangle()</p>
\r
1322 <p class="whs7">algo.LengthFromEdges()</p>
\r
1324 <p class="whs7"> </p>
\r
1326 <p class="whs7">trias.Compute()</p>
\r
1328 <p class="whs7"> </p>
\r
1330 <p class="whs8"># create a path mesh</p>
\r
1332 <p class="whs7">px1 = geompy.MakeVertex(100.,
\r
1336 <p class="whs7">py1 = geompy.MakeVertex(-100.
\r
1340 <p class="whs7">pz1 = geompy.MakeVertex(0.
\r
1341 , 0. ,
\r
1344 <p class="whs7"> </p>
\r
1346 <p class="whs7">circle = geompy.MakeCircleThreePnt(py1,
\r
1349 <p class="whs7">id_circle = geompy.addToStudy(circle,
\r
1350 "Path")</p>
\r
1352 <p class="whs7"> </p>
\r
1354 <p class="whs7">circlemesh = smesh.Mesh(circle,
\r
1355 "Path mesh")</p>
\r
1357 <p class="whs7"> </p>
\r
1359 <p class="whs7">algo = circlemesh.Segment()</p>
\r
1361 <p class="whs7">algo.NumberOfSegments(10)</p>
\r
1363 <p class="whs7"> </p>
\r
1365 <p class="whs7">circlemesh.Compute()</p>
\r
1367 <p class="whs7"> </p>
\r
1369 <p class="whs8"># extrusion of the mesh</p>
\r
1371 <p class="whs8"># The mesh "trias"
\r
1372 will be extruded along another mesh, which is a sub-mesh of "circlemesh",</p>
\r
1374 <p class="whs8"><span style="font-family: 'Times New Roman', serif;">#
\r
1375 corresponding to geometry "circle". In this particular case
\r
1376 the path mesh will be the whole "circlemesh"</span></p>
\r
1378 <p class="whs8"> </p>
\r
1380 <p class="whs7">aMeshEditor = trias.GetMesh().GetMeshEditor()</p>
\r
1382 <p class="whs7">aMeshEditor.ExtrusionAlongPathObject(trias.GetMesh(),
\r
1383 circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))</p>
\r
1385 <p class="whs7"> </p>
\r
1387 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
1390 <h3><a name=bookmark11>Revolution</a></h3>
\r
1392 <p class="whs7">import SMESH</p>
\r
1394 <p class="whs7">import SMESH_mechanic</p>
\r
1396 <p class="whs7">import math</p>
\r
1398 <p class="whs7"> </p>
\r
1400 <p class="whs7">smesh =
\r
1401 SMESH_mechanic.smesh</p>
\r
1403 <p class="whs7">mesh =
\r
1404 SMESH_mechanic.mesh</p>
\r
1406 <p class="whs7">salome = SMESH_mechanic.salome</p>
\r
1408 <p class="whs8"> </p>
\r
1410 <p class="whs8"># rotate a sweep object</p>
\r
1412 <p class="whs7">FacesRotate = [492,
\r
1413 493, 502, 503]</p>
\r
1415 <p class="whs7">GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group
\r
1416 of faces (rotate)")</p>
\r
1418 <p class="whs7">GroupRotate.Add(FacesRotate)</p>
\r
1420 <p class="whs7">angle45 = 45*math.pi/180</p>
\r
1422 <p class="whs7">axisXYZ = SMESH.AxisStruct(-38.3128,
\r
1423 -73.3658, -23.321, -13.3402, -13.3265, 6.66632)</p>
\r
1425 <p class="whs7"> </p>
\r
1427 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>
\r
1429 <p class="whs7">aMeshEditor.RotationSweepObject(GroupRotate,
\r
1430 axisXYZ, angle45, 4, 1e-5)</p>
\r
1432 <p class="whs7"> </p>
\r
1434 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
1437 <p class="whs8"> </p>
\r
1439 <h3><a name=bookmark13>Pattern Mapping</a></h3>
\r
1441 <p class="whs7">import salome</p>
\r
1443 <p class="whs7">import geompy</p>
\r
1445 <p class="whs7">import SMESH, smesh</p>
\r
1447 <p class="whs7"> </p>
\r
1449 <p class="whs7">geompy.init_geom(salome.myStudy)</p>
\r
1451 <p class="whs7">smesh.smesh.SetCurrentStudy(salome.myStudy)</p>
\r
1453 <p class="whs7"> </p>
\r
1455 <p class="whs8"># define geometry</p>
\r
1457 <p class="whs7">Box_1 = geompy.MakeBoxDXDYDZ(200,
\r
1460 <p class="whs7">geompy.addToStudy(Box_1,
\r
1461 "Box_1")</p>
\r
1463 <p class="whs7"> </p>
\r
1465 <p class="whs7">faces = geompy.SubShapeAll(Box_1,
\r
1466 geompy.ShapeType["FACE"])</p>
\r
1468 <p class="whs7">Face_1 = faces[0]</p>
\r
1470 <p class="whs7">Face_2 = faces[1]</p>
\r
1472 <p class="whs7">geompy.addToStudyInFather(Box_1,
\r
1473 Face_1, "Face_1")</p>
\r
1475 <p class="whs7">geompy.addToStudyInFather(Box_1,
\r
1476 Face_2, "Face_2")</p>
\r
1478 <p class="whs7"> </p>
\r
1480 <p class="whs8"># build quadrangle mesh
\r
1483 <p class="whs7">Mesh_1 = smesh.Mesh(Face_1)</p>
\r
1485 <p class="whs7">Wire_discretisation
\r
1486 = Mesh_1.Segment()</p>
\r
1488 <p class="whs7">Wire_discretisation.NumberOfSegments(3)</p>
\r
1490 <p class="whs7">Mesh_1.Quadrangle()</p>
\r
1492 <p class="whs7"> </p>
\r
1494 <p class="whs7">isDone = Mesh_1.Compute()</p>
\r
1496 <p class="whs7">if not isDone: print
\r
1497 'Mesh Mesh_1 : computation failed'</p>
\r
1499 <p class="whs7"> </p>
\r
1501 <p class="whs8"># pattern the mesh</p>
\r
1503 <p class="whs7">Mesh_2 = smesh.Mesh(Face_2)</p>
\r
1505 <p class="whs7">Nb_Segments_1 = smesh.smesh.CreateHypothesis('NumberOfSegments',
\r
1506 'libStdMeshersEngine.so')</p>
\r
1508 <p class="whs7">Nb_Segments_1.SetNumberOfSegments(1)</p>
\r
1510 <p class="whs7">status = Mesh_2.GetMesh().AddHypothesis(Face_2,
\r
1511 Nb_Segments_1)</p>
\r
1513 <p class="whs7">status = Mesh_2.GetMesh().AddHypothesis(Face_2,
\r
1514 Wire_discretisation.GetAlgorithm())</p>
\r
1516 <p class="whs7">Triangle_Mefisto =
\r
1517 Mesh_2.Triangle()</p>
\r
1519 <p class="whs7">Max_Element_Area =
\r
1520 Triangle_Mefisto.MaxElementArea(240)</p>
\r
1522 <p class="whs7"> </p>
\r
1524 <p class="whs7">isDone = Mesh_2.Compute()</p>
\r
1526 <p class="whs7">if not isDone: print
\r
1527 'Mesh Mesh_2 : computation failed'</p>
\r
1529 <p class="whs7"> </p>
\r
1531 <p class="whs8"># create a pattern</p>
\r
1533 <p class="whs7">pattern = smesh.smesh.GetPattern()</p>
\r
1535 <p class="whs7">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(),
\r
1538 <p class="whs7">if (isDone != 1):</p>
\r
1540 <p class="whs9">print
\r
1541 'LoadFromFace :', pattern.GetErrorCode()</p>
\r
1543 <p class="whs7"> </p>
\r
1545 <p class="whs8"># apply the pattern to
\r
1546 a face of the first mesh</p>
\r
1548 <p class="whs7">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(),
\r
1551 <p class="whs7">isDone = pattern.MakeMesh(Mesh_1.GetMesh(),
\r
1554 <p class="whs7">if (isDone != 1):</p>
\r
1556 <p class="whs9">print
\r
1557 'MakeMesh :', pattern.GetErrorCode()</p>
\r
1559 <p class="whs7"> </p>
\r
1561 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span>
\r
1564 <script type="text/javascript" language="javascript1.2">
\r
1566 if (window.writeIntopicBar)
\r
1567 writeIntopicBar(0);
\r