Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1
[modules/smesh.git] / doc / salome / gui / SMESH / modifying_meshes.htm
1 <!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
2 \r
3 <html>\r
4 \r
5 <head>\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
9 <!--\r
10 P { margin-top:0pt; margin-bottom:0pt; }\r
11 LI.kadov-P {  }\r
12 -->\r
13 </style><style type="text/css">\r
14 <!--\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
24 -->\r
25 </style><script type="text/javascript" language="JavaScript">\r
26 <!--\r
27 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
28 {\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
38 }\r
39 //-->\r
40 </script>\r
41 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
42 <!--\r
43 function reDo() {\r
44   if (innerWidth != origWidth || innerHeight != origHeight)\r
45      location.reload();\r
46 }\r
47 if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
48         origWidth = innerWidth;\r
49         origHeight = innerHeight;\r
50         onresize = reDo;\r
51 }\r
52 onerror = null; \r
53 //-->\r
54 </script>\r
55 <style type="text/css">\r
56 <!--\r
57 div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
58 -->\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
64 </head>\r
65 <body><script type="text/javascript" language="javascript1.2">\r
66 <!--\r
67 if (window.gbWhTopic)\r
68 {\r
69         if (window.addTocInfo)\r
70         {\r
71         addTocInfo("MESH module\nTUI Scripts\nModifying Meshes");\r
72 addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");\r
73 \r
74         }\r
75         if (window.writeBtnStyle)\r
76                 writeBtnStyle();\r
77 \r
78         if (window.writeIntopicBar)\r
79                 writeIntopicBar(1);\r
80 \r
81         if (window.setRelStartPage)\r
82         {\r
83         setRelStartPage("smesh.htm");\r
84 \r
85                 autoSync(1);\r
86                 sendSyncInfo();\r
87                 sendAveInfoOut();\r
88         }\r
89 }\r
90 else\r
91         if (window.gbIE4)\r
92                 document.location.reload();\r
93 //-->\r
94 </script>\r
95 <h1>Modifying Meshes</h1>\r
96 \r
97 <h3><a name=bookmark>Adding Nodes and Elements</a></h3>\r
98 \r
99 <h4>Add Node</h4>\r
100 \r
101 <p class="whs1">import SMESH</p>\r
102 \r
103 <p class="whs1">import SMESH_mechanic</p>\r
104 \r
105 <p class="whs1">&nbsp;</p>\r
106 \r
107 <p class="whs1">smesh &nbsp;= \r
108  SMESH_mechanic.smesh</p>\r
109 \r
110 <p class="whs1">mesh &nbsp;&nbsp;= \r
111  SMESH_mechanic.mesh</p>\r
112 \r
113 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
114 \r
115 <p class="whs2">&nbsp;</p>\r
116 \r
117 <p class="whs2"># add node</p>\r
118 \r
119 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
120 \r
121 <p class="whs1">if aMeshEditor.AddNode(50, \r
122  10, 0) == 1:</p>\r
123 \r
124 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
125  &quot;Node addition is OK!&quot;</p>\r
126 \r
127 <p class="whs1">else:</p>\r
128 \r
129 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
130  &quot;KO node addition.&quot;</p>\r
131 \r
132 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
133 \r
134 <p class="whs1">salome.sg.updateObjBrowser(1) \r
135  </p>\r
136 \r
137 <p class="whs1">&nbsp;</p>\r
138 \r
139 <h4>Add Edge</h4>\r
140 \r
141 <p class="whs1">import SMESH</p>\r
142 \r
143 <p class="whs1">import SMESH_mechanic</p>\r
144 \r
145 <p class="whs1">&nbsp;</p>\r
146 \r
147 <p class="whs1">smesh &nbsp;= \r
148  SMESH_mechanic.smesh</p>\r
149 \r
150 <p class="whs1">mesh &nbsp;&nbsp;= \r
151  SMESH_mechanic.mesh</p>\r
152 \r
153 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
154 \r
155 <p class="whs2">&nbsp;</p>\r
156 \r
157 <p class="whs2"># add node</p>\r
158 \r
159 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
160 \r
161 <p class="whs1">if aMeshEditor.AddNode(50, \r
162  10, 0) == 1:</p>\r
163 \r
164 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
165  &quot;Node addition is OK!&quot;</p>\r
166 \r
167 <p class="whs1">else:</p>\r
168 \r
169 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
170  &quot;KO node addition.&quot;</p>\r
171 \r
172 <p class="whs1">&nbsp;</p>\r
173 \r
174 <p class="whs2"># add edge</p>\r
175 \r
176 <p class="whs1">LastNodeId = mesh.NbNodes()</p>\r
177 \r
178 <p class="whs1">if aMeshEditor.AddEdge([LastNodeId, \r
179  38]) == 1:</p>\r
180 \r
181 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
182  &quot;Edge addition is OK!&quot;</p>\r
183 \r
184 <p class="whs1">else:</p>\r
185 \r
186 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
187  &quot;KO edge addition.&quot;</p>\r
188 \r
189 <p class="whs1">&nbsp;</p>\r
190 \r
191 <p class="whs1">salome.sg.updateObjBrowser(1) \r
192  </p>\r
193 \r
194 <p class="whs1">&nbsp;</p>\r
195 \r
196 <h4>Add Triangle</h4>\r
197 \r
198 <p class="whs1">import SMESH</p>\r
199 \r
200 <p class="whs1">import SMESH_mechanic</p>\r
201 \r
202 <p class="whs1">&nbsp;</p>\r
203 \r
204 <p class="whs1">smesh &nbsp;= \r
205  SMESH_mechanic.smesh</p>\r
206 \r
207 <p class="whs1">mesh &nbsp;&nbsp;= \r
208  SMESH_mechanic.mesh</p>\r
209 \r
210 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
211 \r
212 <p class="whs1">&nbsp;</p>\r
213 \r
214 <p class="whs2"># add node</p>\r
215 \r
216 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
217 \r
218 <p class="whs1">if aMeshEditor.AddNode(50, \r
219  10, 0) == 1:</p>\r
220 \r
221 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
222  &quot;Node addition is OK!&quot;</p>\r
223 \r
224 <p class="whs1">else:</p>\r
225 \r
226 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
227  &quot;KO node addition.&quot;</p>\r
228 \r
229 <p class="whs1">&nbsp;</p>\r
230 \r
231 <p class="whs1">LastNodeId = mesh.NbNodes()</p>\r
232 \r
233 <p class="whs2">&nbsp;</p>\r
234 \r
235 <p class="whs2"># add triangle</p>\r
236 \r
237 <p class="whs1">if aMeshEditor.AddFace([LastNodeId, \r
238  38, 39]) == 1:</p>\r
239 \r
240 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
241  &quot;Triangle addition is OK!&quot;</p>\r
242 \r
243 <p class="whs1">else:</p>\r
244 \r
245 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
246  &quot;KO triangle addition.&quot;</p>\r
247 \r
248 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
249 \r
250 <p class="whs1">salome.sg.updateObjBrowser(1) \r
251  </p>\r
252 \r
253 <p class="whs1">&nbsp;</p>\r
254 \r
255 <h4>Add Quadrangle</h4>\r
256 \r
257 <p class="whs1">import SMESH</p>\r
258 \r
259 <p class="whs1">import SMESH_mechanic</p>\r
260 \r
261 <p class="whs1">&nbsp;</p>\r
262 \r
263 <p class="whs1">smesh &nbsp;= \r
264  SMESH_mechanic.smesh</p>\r
265 \r
266 <p class="whs1">mesh &nbsp;&nbsp;= \r
267  SMESH_mechanic.mesh</p>\r
268 \r
269 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
270 \r
271 <p class="whs1">&nbsp;</p>\r
272 \r
273 <p class="whs2"># add node</p>\r
274 \r
275 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
276 \r
277 <p class="whs1">if aMeshEditor.AddNode(50, \r
278  10, 0) == 1:</p>\r
279 \r
280 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
281  &quot;Node addition is OK!&quot;</p>\r
282 \r
283 <p class="whs1">else:</p>\r
284 \r
285 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
286  &quot;KO node addition.&quot;</p>\r
287 \r
288 <p class="whs1">&nbsp;</p>\r
289 \r
290 <p class="whs1">LastNodeId = mesh.NbNodes()</p>\r
291 \r
292 <p class="whs2">&nbsp;</p>\r
293 \r
294 <p class="whs2"># add quadrangle</p>\r
295 \r
296 <p class="whs1">if aMeshEditor.AddNode(40, \r
297  20, 0) == 1:</p>\r
298 \r
299 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
300  &quot;Node addition is OK!&quot;</p>\r
301 \r
302 <p class="whs1">else:</p>\r
303 \r
304 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
305  &quot;KO node addition.&quot;</p>\r
306 \r
307 <p class="whs1">if aMeshEditor.AddFace([mesh.NbNodes(), \r
308  LastNodeId, 38, 39]) == 1:</p>\r
309 \r
310 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
311  &quot;Quadrangle addition is OK!&quot;</p>\r
312 \r
313 <p class="whs1">else:</p>\r
314 \r
315 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
316  &quot;KO quadrangle addition.&quot;</p>\r
317 \r
318 <p class="whs1">&nbsp;</p>\r
319 \r
320 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
321  </p>\r
322 \r
323 <p class="whs2">&nbsp;</p>\r
324 \r
325 <h4>Add Tetrahedron</h4>\r
326 \r
327 <p class="whs1">import SMESH</p>\r
328 \r
329 <p class="whs1">import SMESH_mechanic</p>\r
330 \r
331 <p class="whs1">&nbsp;</p>\r
332 \r
333 <p class="whs1">smesh &nbsp;= \r
334  SMESH_mechanic.smesh</p>\r
335 \r
336 <p class="whs1">mesh &nbsp;&nbsp;= \r
337  SMESH_mechanic.mesh</p>\r
338 \r
339 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
340 \r
341 <p class="whs1">&nbsp;</p>\r
342 \r
343 <p class="whs2"># add node</p>\r
344 \r
345 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
346 \r
347 <p class="whs1">if aMeshEditor.AddNode(50, \r
348  10, 0) == 1:</p>\r
349 \r
350 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
351  &quot;Node addition is OK!&quot;</p>\r
352 \r
353 <p class="whs1">else:</p>\r
354 \r
355 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
356  &quot;KO node addition.&quot;</p>\r
357 \r
358 <p class="whs1">&nbsp;</p>\r
359 \r
360 <p class="whs1">LastNodeId = mesh.NbNodes()</p>\r
361 \r
362 <p class="whs2">&nbsp;</p>\r
363 \r
364 <p class="whs2"># add tetrahedron</p>\r
365 \r
366 <p class="whs1">if aMeshEditor.AddVolume([LastNodeId, \r
367  38, 39, 246]) == 1:</p>\r
368 \r
369 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
370  &quot;Tetrahedron addition is OK!&quot;</p>\r
371 \r
372 <p class="whs1">else:</p>\r
373 \r
374 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
375  &quot;KO tetrahedron addition.&quot;</p>\r
376 \r
377 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
378 \r
379 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
380  </p>\r
381 \r
382 <p class="whs2">&nbsp;</p>\r
383 \r
384 <h4>Add Hexahedron</h4>\r
385 \r
386 <p class="whs1">import SMESH</p>\r
387 \r
388 <p class="whs1">import SMESH_mechanic</p>\r
389 \r
390 <p class="whs1">&nbsp;</p>\r
391 \r
392 <p class="whs1">smesh &nbsp;= \r
393  SMESH_mechanic.smesh</p>\r
394 \r
395 <p class="whs1">mesh &nbsp;&nbsp;= \r
396  SMESH_mechanic.mesh</p>\r
397 \r
398 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
399 \r
400 <p class="whs1">&nbsp;</p>\r
401 \r
402 <p class="whs2"># add nodes</p>\r
403 \r
404 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
405 \r
406 <p class="whs1">if aMeshEditor.AddNode(50, \r
407  10, 0) == 1:</p>\r
408 \r
409 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
410  &quot;Node addition is OK!&quot;</p>\r
411 \r
412 <p class="whs1">else:</p>\r
413 \r
414 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
415  &quot;KO node addition.&quot;</p>\r
416 \r
417 <p class="whs1">aNodeId1 = mesh.NbNodes()</p>\r
418 \r
419 <p class="whs1">&nbsp;</p>\r
420 \r
421 <p class="whs1">if aMeshEditor.AddNode(47, \r
422  12, 0) == 1:</p>\r
423 \r
424 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
425  &quot;Node addition is OK!&quot;</p>\r
426 \r
427 <p class="whs1">else:</p>\r
428 \r
429 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
430  &quot;KO node addition.&quot;</p>\r
431 \r
432 <p class="whs1">aNodeId2 = mesh.NbNodes()</p>\r
433 \r
434 <p class="whs1">&nbsp;</p>\r
435 \r
436 <p class="whs1">if aMeshEditor.AddNode(50, \r
437  10, 10) == 1:</p>\r
438 \r
439 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
440  &quot;Node addition is OK!&quot;</p>\r
441 \r
442 <p class="whs1">else:</p>\r
443 \r
444 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
445  &quot;KO node addition.&quot;</p>\r
446 \r
447 <p class="whs1">aNodeId3 = mesh.NbNodes()</p>\r
448 \r
449 <p class="whs1">&nbsp;</p>\r
450 \r
451 <p class="whs1">if aMeshEditor.AddNode(47, \r
452  12, 10) == 1:</p>\r
453 \r
454 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
455  &quot;Node addition is OK!&quot;</p>\r
456 \r
457 <p class="whs1">else:</p>\r
458 \r
459 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
460  &quot;KO node addition.&quot;</p>\r
461 \r
462 <p class="whs1">aNodeId4 = mesh.NbNodes()</p>\r
463 \r
464 <p class="whs1">&nbsp;</p>\r
465 \r
466 <p class="whs2"># add hexahedron</p>\r
467 \r
468 <p class="whs1">if aMeshEditor.AddVolume([aNodeId2, \r
469  aNodeId1, 38, 39, aNodeId4, aNodeId3, 245, 246]) == 1:</p>\r
470 \r
471 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
472  &quot;Hexahedron addition is OK!&quot;</p>\r
473 \r
474 <p class="whs1">else:</p>\r
475 \r
476 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
477  &quot;KO Hexahedron addition.&quot;</p>\r
478 \r
479 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
480 \r
481 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
482  </p>\r
483 \r
484 <p class="whs2">&nbsp;</p>\r
485 \r
486 <h4>Add Polygon</h4>\r
487 \r
488 <p class="whs1">import salome</p>\r
489 \r
490 <p class="whs1">import geompy</p>\r
491 \r
492 <p class="whs1">import math</p>\r
493 \r
494 <p class="whs1">&nbsp;</p>\r
495 \r
496 <p class="whs1">import StdMeshers</p>\r
497 \r
498 <p class="whs1">&nbsp;</p>\r
499 \r
500 <p class="whs2"># GEOM module </p>\r
501 \r
502 <p class="whs1">shape_mesh = geompy.MakeCylinderRH(13, \r
503  77)</p>\r
504 \r
505 <p class="whs1">geompy.addToStudy(shape_mesh, \r
506  &quot;cylinder&quot;)</p>\r
507 \r
508 <p class="whs1">&nbsp;</p>\r
509 \r
510 <p class="whs2"># SMESH module</p>\r
511 \r
512 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, \r
513  &quot;SMESH&quot;)</p>\r
514 \r
515 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>\r
516 \r
517 <p class="whs1">mesh = smesh.CreateMesh(shape_mesh)</p>\r
518 \r
519 <p class="whs1">MeshEditor = mesh.GetMeshEditor()</p>\r
520 \r
521 <p class="whs1">&nbsp;</p>\r
522 \r
523 <p class="whs2"># a method to build a polygonal \r
524  mesh element with nb_vert angles:</p>\r
525 \r
526 <p class="whs1">def MakePolygon \r
527  (a_mesh, x0, y0, z0, radius, nb_vert):</p>\r
528 \r
529 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;node_start_id \r
530  = a_mesh.NbNodes() + 1</p>\r
531 \r
532 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;al \r
533  = 2.0 * math.pi / nb_vert</p>\r
534 \r
535 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;node_ids \r
536  = []</p>\r
537 \r
538 <p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
539 \r
540 <p class="whs2"># Create nodes for a polyhedron</p>\r
541 \r
542 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;for \r
543  ii in range(nb_vert):</p>\r
544 \r
545 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MeshEditor.AddNode(x0 \r
546  + radius * math.cos(ii*al),</p>\r
547 \r
548 <p class="whs1">&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;y0 \r
549  + radius * math.sin(ii*al),</p>\r
550 \r
551 <p class="whs1">&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;z0)</p>\r
552 \r
553 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node_ids.append(node_start_id \r
554  + ii)</p>\r
555 \r
556 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass</p>\r
557 \r
558 <p class="whs2">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
559 \r
560 <p class="whs2"># Create a polygon</p>\r
561 \r
562 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;MeshEditor.AddPolygonalFace(node_ids)</p>\r
563 \r
564 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;return \r
565  0</p>\r
566 \r
567 <p class="whs1">&nbsp;</p>\r
568 \r
569 <p class="whs2"># Create three polygons</p>\r
570 \r
571 <p class="whs1">MakePolygon(mesh, \r
572  0, 0, &nbsp;0, \r
573  30, 13)</p>\r
574 \r
575 <p class="whs1">MakePolygon(mesh, \r
576  0, 0, 10, 21, &nbsp;9)</p>\r
577 \r
578 <p class="whs1">MakePolygon(mesh, \r
579  0, 0, 20, 13, &nbsp;6)</p>\r
580 \r
581 <p class="whs1">&nbsp;</p>\r
582 \r
583 <p class="whs1">salome.sg.updateObjBrowser(1) \r
584  &nbsp;</p>\r
585 \r
586 <p class="whs1">&nbsp;</p>\r
587 \r
588 <h4>Add polyhedron</h4>\r
589 \r
590 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
591  salome</span></p>\r
592 \r
593 <p class="whs1">import geompy</p>\r
594 \r
595 <p class="whs1">import math</p>\r
596 \r
597 <p class="whs1">&nbsp;</p>\r
598 \r
599 <p class="whs1">#import SMESH</p>\r
600 \r
601 <p class="whs1">import StdMeshers</p>\r
602 \r
603 <p class="whs1">&nbsp;</p>\r
604 \r
605 <p class="whs3"># GEOM</p>\r
606 \r
607 <p class="whs1">shape_mesh = geompy.MakeCylinderRH(13, \r
608  77)</p>\r
609 \r
610 <p class="whs1">geompy.addToStudy(shape_mesh, \r
611  &quot;cylinder&quot;)</p>\r
612 \r
613 <p class="whs1">&nbsp;</p>\r
614 \r
615 <p class="whs3"># SMESH</p>\r
616 \r
617 <p class="whs1">smesh = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, \r
618  &quot;SMESH&quot;)</p>\r
619 \r
620 <p class="whs1">smesh.SetCurrentStudy(salome.myStudy)</p>\r
621 \r
622 <p class="whs1">mesh = smesh.CreateMesh(shape_mesh)</p>\r
623 \r
624 <p class="whs1">MeshEditor = mesh.GetMeshEditor()</p>\r
625 \r
626 <p class="whs1">&nbsp;</p>\r
627 \r
628 <p class="whs3"># Now we are going \r
629  to create a 12-hedron:</p>\r
630 \r
631 <p class="whs3">&nbsp;</p>\r
632 \r
633 <p class="whs3"># Create nodes for \r
634  polyhedron</p>\r
635 \r
636 <p class="whs1">al = 2 * math.pi \r
637  / 5.0</p>\r
638 \r
639 <p class="whs1">cosal = math.cos(al)</p>\r
640 \r
641 <p class="whs1">&nbsp;</p>\r
642 \r
643 <p class="whs1">aa = 13</p>\r
644 \r
645 <p class="whs1">rr = aa / (2.0 * \r
646  math.sin(al/2.0))</p>\r
647 \r
648 <p class="whs1">dr = 2.0 * rr * \r
649  cosal</p>\r
650 \r
651 <p class="whs1">r1 = rr + dr</p>\r
652 \r
653 <p class="whs1">dh = rr * math.sqrt(2.0 \r
654  * (1.0 - cosal * (1.0 + 2.0 * cosal)))</p>\r
655 \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
658 \r
659 <p class="whs1">&nbsp;</p>\r
660 \r
661 <p class="whs1">for i in range(5):</p>\r
662 \r
663 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;MeshEditor.AddNode(rr*math.cos(i*al), \r
664  rr*math.sin(i*al), &nbsp;0) \r
665  <span style="font-family: 'Times New Roman', serif;"># 1,3,5,7, 9 # bottom</span></p>\r
666 \r
667 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;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
670 \r
671 <p class="whs1">&nbsp;</p>\r
672 \r
673 <p class="whs1">for i in range(5):</p>\r
674 \r
675 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;MeshEditor.AddNode(rr*math.cos(i*al \r
676  + al/2.0),</p>\r
677 \r
678 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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
680  top</span></p>\r
681 \r
682 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;MeshEditor.AddNode(r1*math.cos(i*al \r
683  + al/2.0),</p>\r
684 \r
685 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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
688 \r
689 <p class="whs1">&nbsp;</p>\r
690 \r
691 <p class="whs3"># Create a polyhedral \r
692  volume</p>\r
693 \r
694 <p class="whs1">MeshEditor.AddPolyhedralVolume([ \r
695  1, &nbsp;3, &nbsp;5, \r
696  &nbsp;7, &nbsp;9, \r
697  &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
698  bottom</span></p>\r
699 \r
700 <p class="whs1">&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
701  &nbsp;2, 12, \r
702  &nbsp;4, &nbsp;3, \r
703  &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
704  .</span></p>\r
705 \r
706 <p class="whs1">&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;3, \r
707  &nbsp;4, 14, \r
708  &nbsp;6, &nbsp;5, \r
709  &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
710  .</span></p>\r
711 \r
712 <p class="whs1">&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;5, \r
713  &nbsp;6, 16, \r
714  &nbsp;8, &nbsp;7, \r
715  &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
716  . above bottom</span></p>\r
717 \r
718 <p class="whs1">&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;7, \r
719  &nbsp;8, 18, \r
720  10, &nbsp;9, \r
721  &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
722  .</span></p>\r
723 \r
724 <p class="whs1">&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;9, \r
725  10, 20, &nbsp;2, \r
726  &nbsp;1, &nbsp;<span \r
727  style="font-family: 'Times New Roman', serif;"># \r
728  .</span></p>\r
729 \r
730 <p class="whs1">&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;11, \r
731  12, &nbsp;4, \r
732  14, 13, &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
733  -</span></p>\r
734 \r
735 <p class="whs1">&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;13, \r
736  14, &nbsp;6, \r
737  16, 15, &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
738  -</span></p>\r
739 \r
740 <p class="whs1">&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;15, \r
741  16, &nbsp;8, \r
742  18, 17, &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
743  - below top</span></p>\r
744 \r
745 <p class="whs1">&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;17, \r
746  18, 10, 20, 19, &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
747  -</span></p>\r
748 \r
749 <p class="whs1">&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;19, \r
750  20, &nbsp;2, \r
751  12, 11, &nbsp;<span style="font-family: 'Times New Roman', serif;"># \r
752  -</span></p>\r
753 \r
754 <p class="whs1">&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;11, \r
755  13, 15, 17, 19], <span style="font-family: 'Times New Roman', serif;"># \r
756  top</span></p>\r
757 \r
758 <p class="whs1">&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;[5,5,5,5,5,5,5,5,5,5,5,5])</p>\r
759 \r
760 <p class="whs1">&nbsp;</p>\r
761 \r
762 <p class="whs1">salome.sg.updateObjBrowser(1) \r
763  &nbsp;</p>\r
764 \r
765 <p class="whs1">&nbsp;</p>\r
766 \r
767 <h3><a name=bookmark1>Removing Nodes and Elements</a></h3>\r
768 \r
769 <h4 class="whs4">Removing Nodes</h4>\r
770 \r
771 <p class="whs2">&nbsp;</p>\r
772 \r
773 <p class="whs1">import SMESH</p>\r
774 \r
775 <p class="whs1">import SMESH_mechanic</p>\r
776 \r
777 <p class="whs1">&nbsp;</p>\r
778 \r
779 <p class="whs1">smesh &nbsp;= \r
780  SMESH_mechanic.smesh</p>\r
781 \r
782 <p class="whs1">mesh &nbsp;&nbsp;= \r
783  SMESH_mechanic.mesh</p>\r
784 \r
785 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
786 \r
787 <p class="whs2">&nbsp;</p>\r
788 \r
789 <p class="whs2"># add node</p>\r
790 \r
791 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
792 \r
793 <p class="whs1">if aMeshEditor.RemoveNodes([246, \r
794  255]) == 1:</p>\r
795 \r
796 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
797  &quot;Node removing is OK!&quot;</p>\r
798 \r
799 <p class="whs1">else:</p>\r
800 \r
801 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;print \r
802  &quot;KO node removing.&quot;</p>\r
803 \r
804 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
805 \r
806 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
807  </p>\r
808 \r
809 <p class="whs2">&nbsp;</p>\r
810 \r
811 <h4>Removing Elements</h4>\r
812 \r
813 <p class="whs1">import SMESH</p>\r
814 \r
815 <p class="whs1">import SMESH_mechanic</p>\r
816 \r
817 <p class="whs1">&nbsp;</p>\r
818 \r
819 <p class="whs1">smesh &nbsp;= \r
820  SMESH_mechanic.smesh</p>\r
821 \r
822 <p class="whs1">mesh &nbsp;&nbsp;= \r
823  SMESH_mechanic.mesh</p>\r
824 \r
825 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
826 \r
827 <p class="whs1">&nbsp;</p>\r
828 \r
829 <p class="whs1">anEditor = mesh.GetMeshEditor()</p>\r
830 \r
831 <p class="whs1">anEditor.RemoveElements([850, \r
832  859, 814])</p>\r
833 \r
834 <p class="whs1">&nbsp;</p>\r
835 \r
836 <p class="whs1">salome.sg.updateObjBrowser(1) \r
837  </p>\r
838 \r
839 <p class="whs1">&nbsp;</p>\r
840 \r
841 <h3><a name=bookmark2>Renumbering Nodes and Elements</a></h3>\r
842 \r
843 <p class="whs5">import SMESH</p>\r
844 \r
845 <p class="whs5">import SMESH_mechanic</p>\r
846 \r
847 <p class="whs5">&nbsp;</p>\r
848 \r
849 <p class="whs5">mesh &nbsp;&nbsp;= \r
850  SMESH_mechanic.mesh</p>\r
851 \r
852 <p class="whs5">salome = SMESH_mechanic.salome</p>\r
853 \r
854 <p class="whs5">&nbsp;</p>\r
855 \r
856 <p class="whs5">anEditor = mesh.GetMeshEditor()</p>\r
857 \r
858 <p class="whs5">anEditor.RenumberNodes()</p>\r
859 \r
860 <p class="whs5">&nbsp;</p>\r
861 \r
862 <p class="whs6"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
863  </p>\r
864 \r
865 <p class="whs6">&nbsp;</p>\r
866 \r
867 <p>&nbsp;</p>\r
868 \r
869 <h3><a name=bookmark3>Moving Nodes</a></h3>\r
870 \r
871 <p class="whs1">import SMESH</p>\r
872 \r
873 <p class="whs1">import SMESH_mechanic</p>\r
874 \r
875 <p class="whs1">&nbsp;</p>\r
876 \r
877 <p class="whs1">smesh &nbsp;= \r
878  SMESH_mechanic.smesh</p>\r
879 \r
880 <p class="whs1">mesh &nbsp;&nbsp;= \r
881  SMESH_mechanic.mesh</p>\r
882 \r
883 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
884 \r
885 <p class="whs1">&nbsp;</p>\r
886 \r
887 <p class="whs2"># move node</p>\r
888 \r
889 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
890 \r
891 <p class="whs1">aMeshEditor.MoveNode(38, \r
892  20, 10, 0)</p>\r
893 \r
894 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
895 \r
896 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
897  </p>\r
898 \r
899 <p class="whs2">&nbsp;</p>\r
900 \r
901 <h3><a name=bookmark4>Diagonal Inversion</a></h3>\r
902 \r
903 <p class="whs1">import SMESH</p>\r
904 \r
905 <p class="whs1">import SMESH_mechanic</p>\r
906 \r
907 <p class="whs1">&nbsp;</p>\r
908 \r
909 <p class="whs1">smesh &nbsp;= \r
910  SMESH_mechanic.smesh</p>\r
911 \r
912 <p class="whs1">mesh &nbsp;&nbsp;= \r
913  SMESH_mechanic.mesh</p>\r
914 \r
915 <p class="whs1">salome = SMESH_mechanic.salome</p>\r
916 \r
917 <p class="whs1">&nbsp;</p>\r
918 \r
919 <p class="whs2"># inverse diagonal</p>\r
920 \r
921 <p class="whs1">aMeshEditor = mesh.GetMeshEditor()</p>\r
922 \r
923 <p class="whs1">aMeshEditor.InverseDiag(700, \r
924  642)</p>\r
925 \r
926 <p class="whs1">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
927 \r
928 <p class="whs2"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
929  </p>\r
930 \r
931 <p class="whs2">&nbsp;</p>\r
932 \r
933 <h3><a name=bookmark5>Uniting two Triangles</a></h3>\r
934 \r
935 <p class="whs7">import SMESH</p>\r
936 \r
937 <p class="whs7">import SMESH_mechanic</p>\r
938 \r
939 <p class="whs7">&nbsp;</p>\r
940 \r
941 <p class="whs7">smesh &nbsp;= \r
942  SMESH_mechanic.smesh</p>\r
943 \r
944 <p class="whs7">mesh &nbsp;&nbsp;= \r
945  SMESH_mechanic.mesh</p>\r
946 \r
947 <p class="whs7">salome = SMESH_mechanic.salome</p>\r
948 \r
949 <p class="whs7">&nbsp;</p>\r
950 \r
951 <p># delete diagonal</p>\r
952 \r
953 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>\r
954 \r
955 <p class="whs7">aMeshEditor.DeleteDiag(700, \r
956  642)</p>\r
957 \r
958 <p class="whs7">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
959 \r
960 <p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
961  </p>\r
962 \r
963 <p>&nbsp;</p>\r
964 \r
965 <h3><a name=bookmark6>Uniting a Set of Triangles</a></h3>\r
966 \r
967 <p class="whs7">import SMESH</p>\r
968 \r
969 <p class="whs7">import SMESH_mechanic</p>\r
970 \r
971 <p class="whs7">&nbsp;</p>\r
972 \r
973 <p class="whs7">smesh &nbsp;= \r
974  SMESH_mechanic.smesh</p>\r
975 \r
976 <p class="whs7">mesh &nbsp;&nbsp;= \r
977  SMESH_mechanic.mesh</p>\r
978 \r
979 <p class="whs7">salome = SMESH_mechanic.salome</p>\r
980 \r
981 <p class="whs7">&nbsp;</p>\r
982 \r
983 <p># unite a set of triangles</p>\r
984 \r
985 <p class="whs7">aFilterMgr = smesh.CreateFilterManager()</p>\r
986 \r
987 <p class="whs7">aFunctor = aFilterMgr.CreateMinimumAngle()</p>\r
988 \r
989 <p class="whs7">&nbsp;</p>\r
990 \r
991 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>\r
992 \r
993 <p class="whs7">aMeshEditor.TriToQuad([1145, \r
994  1147, 1159, 1135], aFunctor, 60)</p>\r
995 \r
996 <p class="whs7">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
997 \r
998 <p class="whs7">salome.sg.updateObjBrowser(1) \r
999  </p>\r
1000 \r
1001 <p class="whs7">&nbsp;</p>\r
1002 \r
1003 <h3><a name=bookmark12>Orientation</a></h3>\r
1004 \r
1005 <p class="whs7"><span style="font-family: 'Lucida Console', monospace;">import \r
1006  salome</span></p>\r
1007 \r
1008 <p class="whs7">import geompy</p>\r
1009 \r
1010 <p class="whs7">&nbsp;</p>\r
1011 \r
1012 <p class="whs7">import StdMeshers</p>\r
1013 \r
1014 <p class="whs7">&nbsp;</p>\r
1015 \r
1016 <p class="whs8"># GEOM module</p>\r
1017 \r
1018 <p class="whs7">shape_mesh = geompy.MakeCylinderRH(13, \r
1019  77)</p>\r
1020 \r
1021 <p class="whs7">geompy.addToStudy(shape_mesh, \r
1022  &quot;cylinder&quot;)</p>\r
1023 \r
1024 <p class="whs7">&nbsp;</p>\r
1025 \r
1026 <p class="whs8"># SMESH module</p>\r
1027 \r
1028 <p class="whs7">smesh = salome.lcc.FindOrLoadComponent(&quot;FactoryServer&quot;, \r
1029  &quot;SMESH&quot;)</p>\r
1030 \r
1031 <p class="whs7">smesh.SetCurrentStudy(salome.myStudy)</p>\r
1032 \r
1033 <p class="whs7">mesh = smesh.CreateMesh(shape_mesh)</p>\r
1034 \r
1035 <p class="whs7">MeshEditor = mesh.GetMeshEditor()</p>\r
1036 \r
1037 <p class="whs7">&nbsp;</p>\r
1038 \r
1039 <p class="whs8"># build five quadrangles:</p>\r
1040 \r
1041 <p class="whs7">node_start_id = mesh.NbNodes() \r
1042  + 1</p>\r
1043 \r
1044 <p class="whs7">dx = 10</p>\r
1045 \r
1046 <p class="whs7">dy = 20</p>\r
1047 \r
1048 <p class="whs7">&nbsp;</p>\r
1049 \r
1050 <p class="whs7">MeshEditor.AddNode(0.0 \r
1051  * dx, 0, 0) # 1</p>\r
1052 \r
1053 <p class="whs7">MeshEditor.AddNode(1.0 \r
1054  * dx, 0, 0) # 2</p>\r
1055 \r
1056 <p class="whs7">MeshEditor.AddNode(2.0 \r
1057  * dx, 0, 0) # 3</p>\r
1058 \r
1059 <p class="whs7">MeshEditor.AddNode(3.0 \r
1060  * dx, 0, 0) # 4</p>\r
1061 \r
1062 <p class="whs7">MeshEditor.AddNode(4.0 \r
1063  * dx, 0, 0) # 5</p>\r
1064 \r
1065 <p class="whs7">MeshEditor.AddNode(5.0 \r
1066  * dx, 0, 0) # 6</p>\r
1067 \r
1068 <p class="whs7">&nbsp;</p>\r
1069 \r
1070 <p class="whs7">MeshEditor.AddNode(0.0 \r
1071  * dx, dy, 0) # 7</p>\r
1072 \r
1073 <p class="whs7">MeshEditor.AddNode(1.0 \r
1074  * dx, dy, 0) # 8</p>\r
1075 \r
1076 <p class="whs7">MeshEditor.AddNode(2.0 \r
1077  * dx, dy, 0) # 9</p>\r
1078 \r
1079 <p class="whs7">MeshEditor.AddNode(3.0 \r
1080  * dx, dy, 0) # 10</p>\r
1081 \r
1082 <p class="whs7">MeshEditor.AddNode(4.0 \r
1083  * dx, dy, 0) # 11</p>\r
1084 \r
1085 <p class="whs7">MeshEditor.AddNode(5.0 \r
1086  * dx, dy, 0) # 12</p>\r
1087 \r
1088 <p class="whs7">&nbsp;</p>\r
1089 \r
1090 <p class="whs7">MeshEditor.AddFace([1, \r
1091  2, &nbsp;8, &nbsp;7])</p>\r
1092 \r
1093 <p class="whs7">MeshEditor.AddFace([2, \r
1094  3, &nbsp;9, &nbsp;8])</p>\r
1095 \r
1096 <p class="whs7">MeshEditor.AddFace([3, \r
1097  4, 10, &nbsp;9])</p>\r
1098 \r
1099 <p class="whs7">MeshEditor.AddFace([4, \r
1100  5, 11, 10])</p>\r
1101 \r
1102 <p class="whs7">MeshEditor.AddFace([5, \r
1103  6, 12, 11])</p>\r
1104 \r
1105 <p class="whs7">&nbsp;</p>\r
1106 \r
1107 <p class="whs8"># Change orientation \r
1108  of the second and the fourth faces.</p>\r
1109 \r
1110 <p class="whs7">MeshEditor.Reorient([2, \r
1111  4])</p>\r
1112 \r
1113 <p class="whs7">&nbsp;</p>\r
1114 \r
1115 <p class="whs7">salome.sg.updateObjBrowser(1) \r
1116  &nbsp;</p>\r
1117 \r
1118 <p class="whs7">&nbsp;</p>\r
1119 \r
1120 <h3><a name=bookmark7>Cutting Quadrangles</a></h3>\r
1121 \r
1122 <p class="whs7">import SMESH</p>\r
1123 \r
1124 <p class="whs7">import SMESH_mechanic</p>\r
1125 \r
1126 <p class="whs7">&nbsp;</p>\r
1127 \r
1128 <p class="whs7">smesh &nbsp;= \r
1129  SMESH_mechanic.smesh</p>\r
1130 \r
1131 <p class="whs7">mesh &nbsp;&nbsp;= \r
1132  SMESH_mechanic.mesh</p>\r
1133 \r
1134 <p class="whs7">salome = SMESH_mechanic.salome</p>\r
1135 \r
1136 <p class="whs7">&nbsp;</p>\r
1137 \r
1138 <p class="whs8"># unite a set of triangles</p>\r
1139 \r
1140 <p class="whs7">aFilterMgr = smesh.CreateFilterManager()</p>\r
1141 \r
1142 <p class="whs7">aFunctor = aFilterMgr.CreateMinimumAngle()</p>\r
1143 \r
1144 <p class="whs7">&nbsp;</p>\r
1145 \r
1146 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>\r
1147 \r
1148 <p class="whs7">aMeshEditor.QuadToTri([405, \r
1149  406], aFunctor)</p>\r
1150 \r
1151 <p class="whs7">&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
1152 \r
1153 <p class="whs7">salome.sg.updateObjBrowser(1) \r
1154  </p>\r
1155 \r
1156 <p class="whs8">&nbsp;</p>\r
1157 \r
1158 <h3><a name=bookmark8>Smoothing</a></h3>\r
1159 \r
1160 <p class="whs7">import SMESH</p>\r
1161 \r
1162 <p class="whs7">import SMESH_mechanic</p>\r
1163 \r
1164 <p class="whs7">&nbsp;</p>\r
1165 \r
1166 <p class="whs7">smesh &nbsp;= \r
1167  SMESH_mechanic.smesh</p>\r
1168 \r
1169 <p class="whs7">mesh &nbsp;&nbsp;= \r
1170  SMESH_mechanic.mesh</p>\r
1171 \r
1172 <p class="whs7">salome = SMESH_mechanic.salome</p>\r
1173 \r
1174 <p class="whs7">&nbsp;</p>\r
1175 \r
1176 <p class="whs8"># smooth</p>\r
1177 \r
1178 <p class="whs7">FacesSmooth = [911, \r
1179  931, 950, 864, 932]</p>\r
1180 \r
1181 <p class="whs7">GroupSmooth = mesh.CreateGroup(SMESH.FACE,&quot;Group \r
1182  of faces (smooth)&quot;)</p>\r
1183 \r
1184 <p class="whs7">GroupSmooth.Add(FacesSmooth)</p>\r
1185 \r
1186 <p class="whs7">&nbsp;</p>\r
1187 \r
1188 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>\r
1189 \r
1190 <p class="whs7">aMeshEditor.SmoothObject(GroupSmooth, \r
1191  [], 20, 2, SMESH.SMESH_MeshEditor.CENTROIDAL_SMOOTH)</p>\r
1192 \r
1193 <p class="whs7">&nbsp;</p>\r
1194 \r
1195 <p class="whs7">salome.sg.updateObjBrowser(1) \r
1196  </p>\r
1197 \r
1198 <p class="whs7">&nbsp;</p>\r
1199 \r
1200 <p class="whs7">&nbsp;</p>\r
1201 \r
1202 <h3><a name=bookmark9>Extrusion</a></h3>\r
1203 \r
1204 <p class="whs8">import SMESH</p>\r
1205 \r
1206 <p class="whs8">import SMESH_mechanic</p>\r
1207 \r
1208 <p class="whs8">&nbsp;</p>\r
1209 \r
1210 <p class="whs8">smesh &nbsp;= \r
1211  SMESH_mechanic.smesh</p>\r
1212 \r
1213 <p class="whs8">mesh &nbsp;&nbsp;= \r
1214  SMESH_mechanic.mesh</p>\r
1215 \r
1216 <p class="whs8">salome = SMESH_mechanic.salome</p>\r
1217 \r
1218 <p class="whs7">&nbsp;</p>\r
1219 \r
1220 <p class="whs8"># extrusion of the group</p>\r
1221 \r
1222 <p class="whs8">point = SMESH.PointStruct(0, \r
1223  0, 5)</p>\r
1224 \r
1225 <p class="whs8">vector = SMESH.DirStruct(point)</p>\r
1226 \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
1232 \r
1233 <p class="whs8">&nbsp;</p>\r
1234 \r
1235 <p class="whs8">GroupTriToQuad = mesh.CreateGroup(SMESH.FACE,&quot;Group \r
1236  of faces (quad)&quot;)</p>\r
1237 \r
1238 <p class="whs8">GroupTriToQuad.Add(FacesTriToQuad)</p>\r
1239 \r
1240 <p class="whs8">&nbsp;</p>\r
1241 \r
1242 <p class="whs8">aMeshEditor = mesh.GetMeshEditor()</p>\r
1243 \r
1244 <p class="whs8">aMeshEditor.ExtrusionSweepObject(GroupTriToQuad, \r
1245  vector, 5)</p>\r
1246 \r
1247 <p class="whs8">&nbsp;</p>\r
1248 \r
1249 <p class="whs8">salome.sg.updateObjBrowser(1) \r
1250  </p>\r
1251 \r
1252 <p class="whs8">&nbsp;</p>\r
1253 \r
1254 <h3><a name=bookmark10>Extrusion along a Path</a></h3>\r
1255 \r
1256 <p class="whs7">import geompy</p>\r
1257 \r
1258 <p class="whs7">import smesh</p>\r
1259 \r
1260 <p class="whs7">import salome</p>\r
1261 \r
1262 <p class="whs7">import SMESH</p>\r
1263 \r
1264 <p class="whs7">&nbsp;</p>\r
1265 \r
1266 <p class="whs8"># create a face to be \r
1267  meshed</p>\r
1268 \r
1269 <p class="whs7">px = geompy.MakeVertex(100., \r
1270  0. &nbsp;, 0. \r
1271  &nbsp;)</p>\r
1272 \r
1273 <p class="whs7">py = geompy.MakeVertex(0. \r
1274  &nbsp;, 100., \r
1275  0. &nbsp;)</p>\r
1276 \r
1277 <p class="whs7">pz = geompy.MakeVertex(0. \r
1278  &nbsp;, 0. &nbsp;, \r
1279  100.)</p>\r
1280 \r
1281 <p class="whs7">&nbsp;</p>\r
1282 \r
1283 <p class="whs7">vxy = geompy.MakeVector(px, \r
1284  py)</p>\r
1285 \r
1286 <p class="whs7">arc = geompy.MakeArc(py, \r
1287  pz, px)</p>\r
1288 \r
1289 <p class="whs7">&nbsp;</p>\r
1290 \r
1291 <p class="whs7">wire = geompy.MakeWire([vxy, \r
1292  arc])</p>\r
1293 \r
1294 <p class="whs7">isPlanarFace = 1</p>\r
1295 \r
1296 <p class="whs7">&nbsp;</p>\r
1297 \r
1298 <p class="whs7">face1 = geompy.MakeFace(wire, \r
1299  isPlanarFace)</p>\r
1300 \r
1301 <p class="whs7">id_face1 = geompy.addToStudy(face1, \r
1302  &quot;Face1&quot;)</p>\r
1303 \r
1304 <p class="whs7">&nbsp;</p>\r
1305 \r
1306 <p class="whs8"># create a 2D mesh on \r
1307  the face</p>\r
1308 \r
1309 <p class="whs7">trias = smesh.Mesh(face1, \r
1310  &quot;Face : 2D mesh&quot;)</p>\r
1311 \r
1312 <p class="whs7">&nbsp;</p>\r
1313 \r
1314 <p class="whs7">algo = trias.Segment()</p>\r
1315 \r
1316 <p class="whs7">algo.NumberOfSegments(6)</p>\r
1317 \r
1318 <p class="whs7">&nbsp;</p>\r
1319 \r
1320 <p class="whs7">algo = trias.Triangle()</p>\r
1321 \r
1322 <p class="whs7">algo.LengthFromEdges()</p>\r
1323 \r
1324 <p class="whs7">&nbsp;</p>\r
1325 \r
1326 <p class="whs7">trias.Compute()</p>\r
1327 \r
1328 <p class="whs7">&nbsp;</p>\r
1329 \r
1330 <p class="whs8"># create a path mesh</p>\r
1331 \r
1332 <p class="whs7">px1 = geompy.MakeVertex(100., \r
1333  100. &nbsp;, \r
1334  0. &nbsp;)</p>\r
1335 \r
1336 <p class="whs7">py1 = geompy.MakeVertex(-100. \r
1337  &nbsp;, -100., \r
1338  0. &nbsp;)</p>\r
1339 \r
1340 <p class="whs7">pz1 = geompy.MakeVertex(0. \r
1341  &nbsp;, 0. &nbsp;, \r
1342  50.)</p>\r
1343 \r
1344 <p class="whs7">&nbsp;</p>\r
1345 \r
1346 <p class="whs7">circle = geompy.MakeCircleThreePnt(py1, \r
1347  pz1, px1)</p>\r
1348 \r
1349 <p class="whs7">id_circle = geompy.addToStudy(circle, \r
1350  &quot;Path&quot;)</p>\r
1351 \r
1352 <p class="whs7">&nbsp;</p>\r
1353 \r
1354 <p class="whs7">circlemesh = smesh.Mesh(circle, \r
1355  &quot;Path mesh&quot;)</p>\r
1356 \r
1357 <p class="whs7">&nbsp;</p>\r
1358 \r
1359 <p class="whs7">algo = circlemesh.Segment()</p>\r
1360 \r
1361 <p class="whs7">algo.NumberOfSegments(10)</p>\r
1362 \r
1363 <p class="whs7">&nbsp;</p>\r
1364 \r
1365 <p class="whs7">circlemesh.Compute()</p>\r
1366 \r
1367 <p class="whs7">&nbsp;</p>\r
1368 \r
1369 <p class="whs8"># extrusion of the mesh</p>\r
1370 \r
1371 <p class="whs8"># The mesh &quot;trias&quot; \r
1372  will be extruded along another mesh, which is a sub-mesh of &quot;circlemesh&quot;,</p>\r
1373 \r
1374 <p class="whs8"><span style="font-family: 'Times New Roman', serif;"># \r
1375  corresponding to geometry &quot;circle&quot;. In this particular case \r
1376  the path mesh will be the whole &quot;circlemesh&quot;</span></p>\r
1377 \r
1378 <p class="whs8">&nbsp;</p>\r
1379 \r
1380 <p class="whs7">aMeshEditor = trias.GetMesh().GetMeshEditor()</p>\r
1381 \r
1382 <p class="whs7">aMeshEditor.ExtrusionAlongPathObject(trias.GetMesh(), \r
1383  circlemesh.GetMesh(), circle, 1, 0, [], 0, SMESH.PointStruct(0, 0, 0))</p>\r
1384 \r
1385 <p class="whs7">&nbsp;</p>\r
1386 \r
1387 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
1388  </p>\r
1389 \r
1390 <h3><a name=bookmark11>Revolution</a></h3>\r
1391 \r
1392 <p class="whs7">import SMESH</p>\r
1393 \r
1394 <p class="whs7">import SMESH_mechanic</p>\r
1395 \r
1396 <p class="whs7">import math</p>\r
1397 \r
1398 <p class="whs7">&nbsp;</p>\r
1399 \r
1400 <p class="whs7">smesh &nbsp;= \r
1401  SMESH_mechanic.smesh</p>\r
1402 \r
1403 <p class="whs7">mesh &nbsp;&nbsp;= \r
1404  SMESH_mechanic.mesh</p>\r
1405 \r
1406 <p class="whs7">salome = SMESH_mechanic.salome</p>\r
1407 \r
1408 <p class="whs8">&nbsp;</p>\r
1409 \r
1410 <p class="whs8"># rotate a sweep object</p>\r
1411 \r
1412 <p class="whs7">FacesRotate = [492, \r
1413  493, 502, 503]</p>\r
1414 \r
1415 <p class="whs7">GroupRotate = mesh.CreateGroup(SMESH.FACE,&quot;Group \r
1416  of faces (rotate)&quot;)</p>\r
1417 \r
1418 <p class="whs7">GroupRotate.Add(FacesRotate)</p>\r
1419 \r
1420 <p class="whs7">angle45 = &nbsp;45*math.pi/180</p>\r
1421 \r
1422 <p class="whs7">axisXYZ = SMESH.AxisStruct(-38.3128, \r
1423  -73.3658, -23.321, -13.3402, -13.3265, 6.66632)</p>\r
1424 \r
1425 <p class="whs7">&nbsp;</p>\r
1426 \r
1427 <p class="whs7">aMeshEditor = mesh.GetMeshEditor()</p>\r
1428 \r
1429 <p class="whs7">aMeshEditor.RotationSweepObject(GroupRotate, \r
1430  axisXYZ, angle45, 4, 1e-5)</p>\r
1431 \r
1432 <p class="whs7">&nbsp;</p>\r
1433 \r
1434 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
1435  </p>\r
1436 \r
1437 <p class="whs8">&nbsp;</p>\r
1438 \r
1439 <h3><a name=bookmark13>Pattern Mapping</a></h3>\r
1440 \r
1441 <p class="whs7">import salome</p>\r
1442 \r
1443 <p class="whs7">import geompy</p>\r
1444 \r
1445 <p class="whs7">import SMESH, smesh</p>\r
1446 \r
1447 <p class="whs7">&nbsp;</p>\r
1448 \r
1449 <p class="whs7">geompy.init_geom(salome.myStudy)</p>\r
1450 \r
1451 <p class="whs7">smesh.smesh.SetCurrentStudy(salome.myStudy)</p>\r
1452 \r
1453 <p class="whs7">&nbsp;</p>\r
1454 \r
1455 <p class="whs8"># define geometry</p>\r
1456 \r
1457 <p class="whs7">Box_1 = geompy.MakeBoxDXDYDZ(200, \r
1458  200, 200)</p>\r
1459 \r
1460 <p class="whs7">geompy.addToStudy(Box_1, \r
1461  &quot;Box_1&quot;)</p>\r
1462 \r
1463 <p class="whs7">&nbsp;</p>\r
1464 \r
1465 <p class="whs7">faces = geompy.SubShapeAll(Box_1, \r
1466  geompy.ShapeType[&quot;FACE&quot;])</p>\r
1467 \r
1468 <p class="whs7">Face_1 = faces[0]</p>\r
1469 \r
1470 <p class="whs7">Face_2 = faces[1]</p>\r
1471 \r
1472 <p class="whs7">geompy.addToStudyInFather(Box_1, \r
1473  Face_1, &quot;Face_1&quot;)</p>\r
1474 \r
1475 <p class="whs7">geompy.addToStudyInFather(Box_1, \r
1476  Face_2, &quot;Face_2&quot;)</p>\r
1477 \r
1478 <p class="whs7">&nbsp;</p>\r
1479 \r
1480 <p class="whs8"># build quadrangle mesh \r
1481  3x3 on Face_1</p>\r
1482 \r
1483 <p class="whs7">Mesh_1 = smesh.Mesh(Face_1)</p>\r
1484 \r
1485 <p class="whs7">Wire_discretisation \r
1486  = Mesh_1.Segment()</p>\r
1487 \r
1488 <p class="whs7">Wire_discretisation.NumberOfSegments(3)</p>\r
1489 \r
1490 <p class="whs7">Mesh_1.Quadrangle()</p>\r
1491 \r
1492 <p class="whs7">&nbsp;</p>\r
1493 \r
1494 <p class="whs7">isDone = Mesh_1.Compute()</p>\r
1495 \r
1496 <p class="whs7">if not isDone: print \r
1497  'Mesh Mesh_1 : computation failed'</p>\r
1498 \r
1499 <p class="whs7">&nbsp;</p>\r
1500 \r
1501 <p class="whs8"># pattern the mesh</p>\r
1502 \r
1503 <p class="whs7">Mesh_2 = smesh.Mesh(Face_2)</p>\r
1504 \r
1505 <p class="whs7">Nb_Segments_1 = smesh.smesh.CreateHypothesis('NumberOfSegments', \r
1506  'libStdMeshersEngine.so')</p>\r
1507 \r
1508 <p class="whs7">Nb_Segments_1.SetNumberOfSegments(1)</p>\r
1509 \r
1510 <p class="whs7">status = Mesh_2.GetMesh().AddHypothesis(Face_2, \r
1511  Nb_Segments_1)</p>\r
1512 \r
1513 <p class="whs7">status = Mesh_2.GetMesh().AddHypothesis(Face_2, \r
1514  Wire_discretisation.GetAlgorithm())</p>\r
1515 \r
1516 <p class="whs7">Triangle_Mefisto = \r
1517  Mesh_2.Triangle()</p>\r
1518 \r
1519 <p class="whs7">Max_Element_Area = \r
1520  Triangle_Mefisto.MaxElementArea(240)</p>\r
1521 \r
1522 <p class="whs7">&nbsp;</p>\r
1523 \r
1524 <p class="whs7">isDone = Mesh_2.Compute()</p>\r
1525 \r
1526 <p class="whs7">if not isDone: print \r
1527  'Mesh Mesh_2 : computation failed'</p>\r
1528 \r
1529 <p class="whs7">&nbsp;</p>\r
1530 \r
1531 <p class="whs8"># create a pattern</p>\r
1532 \r
1533 <p class="whs7">pattern = smesh.smesh.GetPattern()</p>\r
1534 \r
1535 <p class="whs7">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), \r
1536  Face_2, 0)</p>\r
1537 \r
1538 <p class="whs7">if (isDone != 1):</p>\r
1539 \r
1540 <p class="whs9">print \r
1541  'LoadFromFace :', pattern.GetErrorCode()</p>\r
1542 \r
1543 <p class="whs7">&nbsp;</p>\r
1544 \r
1545 <p class="whs8"># apply the pattern to \r
1546  a face of the first mesh</p>\r
1547 \r
1548 <p class="whs7">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), \r
1549  [17], 0, 0)</p>\r
1550 \r
1551 <p class="whs7">isDone = pattern.MakeMesh(Mesh_1.GetMesh(), \r
1552  0, 0)</p>\r
1553 \r
1554 <p class="whs7">if (isDone != 1):</p>\r
1555 \r
1556 <p class="whs9">print \r
1557  'MakeMesh :', pattern.GetErrorCode()</p>\r
1558 \r
1559 <p class="whs7">&nbsp;</p>\r
1560 \r
1561 <p class="whs8"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
1562  </p>\r
1563 \r
1564 <script type="text/javascript" language="javascript1.2">\r
1565 <!--\r
1566 if (window.writeIntopicBar)\r
1567         writeIntopicBar(0);\r
1568 //-->\r
1569 </script>\r
1570 </body>\r
1571 </html>\r