h4.whs4 { margin-top:0pt; margin-bottom:0pt; }\r
p.whs5 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
p.whs6 { margin-top:0.5pt; margin-bottom:0pt; }\r
-p.whs7 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
-p.whs8 { font-family:'Lucida Console' , monospace; }\r
-p.whs9 { font-family:'Times New Roman' , serif; }\r
-p.whs10 { margin-left:36px; font-family:'Lucida Console' , monospace; }\r
-p.whs11 { margin-left:36px; }\r
-p.whs12 { margin-left:0px; font-family:'Times New Roman' , serif; }\r
-p.whs13 { font-family:'Lucida Console' , monospace; margin-left:0px; }\r
+p.whs7 { margin-top:0pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; font-weight:bold; font-size:13.5pt; }\r
+p.whs8 { margin-top:0.5pt; margin-bottom:0pt; font-family:'Times New Roman' , serif; }\r
+p.whs9 { font-family:'Lucida Console' , monospace; }\r
+p.whs10 { font-family:'Times New Roman' , serif; }\r
+p.whs11 { margin-left:36px; font-family:'Lucida Console' , monospace; }\r
+p.whs12 { margin-left:36px; }\r
+p.whs13 { margin-left:0px; font-family:'Times New Roman' , serif; }\r
+p.whs14 { font-family:'Lucida Console' , monospace; margin-left:0px; }\r
-->\r
</style><script type="text/javascript" language="JavaScript">\r
<!--\r
strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
strNSS += "p.whs6 {margin-top:1pt;margin-bottom:1pt; }";\r
strNSS += "p.whs7 {margin-top:1pt;margin-bottom:1pt; }";\r
- strNSS += "p.whs12 {margin-left:1pt; }";\r
+ strNSS += "p.whs8 {margin-top:1pt;margin-bottom:1pt; }";\r
strNSS += "p.whs13 {margin-left:1pt; }";\r
+ strNSS += "p.whs14 {margin-left:1pt; }";\r
strNSS +="</style>";\r
document.write(strNSS);\r
}\r
<p class="whs1">mesh.MoveNode(38, \r
20., 10., 0.) </p>\r
\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs2"> </p>\r
+\r
+<p class="whs7"><a name=bookmark14\r
+ style="font-weight: bold; font-size: 13.5pt;">Mesh \r
+ through point</a></p>\r
+\r
<p class="whs3"> </p>\r
\r
+<p class="whs1">from geompy import \r
+ *</p>\r
+\r
+<p class="whs1">from smesh import \r
+ *</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">box = MakeBoxDXDYDZ(200, \r
+ 200, 200)</p>\r
+\r
+<p class="whs1"> </p>\r
+\r
+<p class="whs1">mesh = Mesh( box \r
+ )</p>\r
+\r
+<p class="whs1">mesh.Segment().AutomaticLength(0.1)</p>\r
+\r
+<p class="whs1">mesh.Quadrangle()</p>\r
+\r
+<p class="whs1">mesh.Compute()</p>\r
+\r
+<p class="whs3"> </p>\r
+\r
+<p class="whs3"># find node at (0,0,0)</p>\r
+\r
+<p class="whs1">node000 = None</p>\r
+\r
+<p class="whs1">for vId in SubShapeAllIDs( \r
+ box, ShapeType["VERTEX"]):</p>\r
+\r
+<p class="whs1"> if \r
+ node000: break</p>\r
+\r
+<p class="whs1"> nodeIds \r
+ = mesh.GetSubMeshNodesId( vId, True )</p>\r
+\r
+<p class="whs1"> for \r
+ node in nodeIds:</p>\r
+\r
+<p class="whs1"> xyz \r
+ = mesh.GetNodeXYZ( node )</p>\r
+\r
+<p class="whs1"> if \r
+ xyz[0] == 0 and xyz[1] == 0 and xyz[2] == 0 :</p>\r
+\r
+<p class="whs1"> node000 \r
+ = node</p>\r
+\r
+<p class="whs1"> pass</p>\r
+\r
+<p class="whs1"> pass</p>\r
+\r
+<p class="whs1"> pass</p>\r
+\r
+<p class="whs1">if not node000:</p>\r
+\r
+<p class="whs1"> raise \r
+ "node000 not found"</p>\r
+\r
+<p class="whs3"> </p>\r
+\r
+<p class="whs3"># find node000 using the \r
+ tested function </p>\r
+\r
+<p class="whs1">n = mesh.FindNodeClosestTo( \r
+ -1,-1,-1 )</p>\r
+\r
+<p class="whs1">if not n == node000:</p>\r
+\r
+<p class="whs1"> raise \r
+ "FindNodeClosestTo() returns " + str( n ) + " != " \r
+ + str( node000 )</p>\r
+\r
+<p class="whs3"> </p>\r
+\r
+<p class="whs3"># check if any node will \r
+ be found for a point inside a box</p>\r
+\r
+<p class="whs1">n = mesh.FindNodeClosestTo( \r
+ 100, 100, 100 )</p>\r
+\r
+<p class="whs1">if not n > 0:</p>\r
+\r
+<p class="whs1"> raise \r
+ "FindNodeClosestTo( 100, 100, 100 ) fails"</p>\r
+\r
+<p class="whs3"> </p>\r
+\r
+<p class="whs3"># move node000 to a new \r
+ location</p>\r
+\r
+<p class="whs1">x,y,z = -10, -10, \r
+ -10</p>\r
+\r
+<p class="whs1">n = mesh.MeshToPassThroughAPoint( \r
+ x,y,z )</p>\r
+\r
+<p class="whs1">if not n == node000:</p>\r
+\r
+<p class="whs1"> raise \r
+ "FindNodeClosestTo() returns " + str( n ) + " != " \r
+ + str( node000 )</p>\r
+\r
+<p class="whs3"> </p>\r
+\r
+<p class="whs3"># check the coordinates \r
+ of the node000</p>\r
+\r
+<p class="whs1">xyz = mesh.GetNodeXYZ( \r
+ node000 )</p>\r
+\r
+<p class="whs1">if not ( xyz[0] \r
+ == x and xyz[1] == y and xyz[2] == z) :</p>\r
+\r
+<p class="whs1"> raise \r
+ "Wrong coordinates: " + str( xyz ) + " != " + str( \r
+ [x,y,z] )</p>\r
+\r
<h3><a name=bookmark4>Diagonal Inversion</a></h3>\r
\r
<p class="whs5">import salome</p>\r
\r
<p class="whs5"> </p>\r
\r
-<p class="whs7"># create an empty mesh \r
+<p class="whs8"># create an empty mesh \r
structure</p>\r
\r
<p class="whs5">mesh = smesh.Mesh() \r
\r
<p class="whs5"> </p>\r
\r
-<p class="whs7"># create the following \r
+<p class="whs8"># create the following \r
mesh:</p>\r
\r
<p class="whs5"># .----.----.----.</p>\r
\r
<p class="whs5"> </p>\r
\r
-<p class="whs7"># inverse the diagonal \r
+<p class="whs8"># inverse the diagonal \r
bb[1] - tt[2]</p>\r
\r
<p class="whs5">print "\nDiagonal \r
\r
<h3><a name=bookmark5>Uniting two Triangles</a></h3>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8">import smesh</p>\r
+<p class="whs9">import smesh</p>\r
\r
<p> </p>\r
\r
<p># create an empty mesh structure</p>\r
\r
-<p class="whs8">mesh = smesh.Mesh() \r
+<p class="whs9">mesh = smesh.Mesh() \r
</p>\r
\r
<p> </p>\r
\r
<p># create the following mesh:</p>\r
\r
-<p class="whs8"># .----.----.----.</p>\r
+<p class="whs9"># .----.----.----.</p>\r
\r
-<p class="whs8"># | /| \r
+<p class="whs9"># | /| \r
/| \r
/|</p>\r
\r
-<p class="whs8"># | / \r
+<p class="whs9"># | / \r
| / | / \r
|</p>\r
\r
-<p class="whs8"># | / | \r
+<p class="whs9"># | / | \r
/ | / |</p>\r
\r
-<p class="whs8"># |/ |/ \r
+<p class="whs9"># |/ |/ \r
|/ \r
|</p>\r
\r
-<p class="whs8"># .----.----.----.</p>\r
+<p class="whs9"># .----.----.----.</p>\r
\r
<p> </p>\r
\r
-<p class="whs8">bb = [0, 0, 0, 0]</p>\r
+<p class="whs9">bb = [0, 0, 0, 0]</p>\r
\r
-<p class="whs8">tt = [0, 0, 0, 0]</p>\r
+<p class="whs9">tt = [0, 0, 0, 0]</p>\r
\r
-<p class="whs8">ff = [0, 0, 0, 0, \r
+<p class="whs9">ff = [0, 0, 0, 0, \r
0, 0]</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">bb[0] \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">bb[0] \r
= mesh.AddNode( 0., 0., 0.)</span></p>\r
\r
-<p class="whs8">bb[1] = mesh.AddNode(10., \r
+<p class="whs9">bb[1] = mesh.AddNode(10., \r
0., 0.)</p>\r
\r
-<p class="whs8">bb[2] = mesh.AddNode(20., \r
+<p class="whs9">bb[2] = mesh.AddNode(20., \r
0., 0.)</p>\r
\r
-<p class="whs8">bb[3] = mesh.AddNode(30., \r
+<p class="whs9">bb[3] = mesh.AddNode(30., \r
0., 0.)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">tt[0] = mesh.AddNode( \r
+<p class="whs9">tt[0] = mesh.AddNode( \r
0., 15., 0.)</p>\r
\r
-<p class="whs8">tt[1] = mesh.AddNode(10., \r
+<p class="whs9">tt[1] = mesh.AddNode(10., \r
15., 0.)</p>\r
\r
-<p class="whs8">tt[2] = mesh.AddNode(20., \r
+<p class="whs9">tt[2] = mesh.AddNode(20., \r
15., 0.)</p>\r
\r
-<p class="whs8">tt[3] = mesh.AddNode(30., \r
+<p class="whs9">tt[3] = mesh.AddNode(30., \r
15., 0.)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">ff[0] = mesh.AddFace([bb[0], \r
+<p class="whs9">ff[0] = mesh.AddFace([bb[0], \r
bb[1], tt[1]])</p>\r
\r
-<p class="whs8">ff[1] = mesh.AddFace([bb[0], \r
+<p class="whs9">ff[1] = mesh.AddFace([bb[0], \r
tt[1], tt[0]])</p>\r
\r
-<p class="whs8">ff[2] = mesh.AddFace([bb[1], \r
+<p class="whs9">ff[2] = mesh.AddFace([bb[1], \r
bb[2], tt[2]])</p>\r
\r
-<p class="whs8">ff[3] = mesh.AddFace([bb[1], \r
+<p class="whs9">ff[3] = mesh.AddFace([bb[1], \r
tt[2], tt[1]])</p>\r
\r
-<p class="whs8">ff[4] = mesh.AddFace([bb[2], \r
+<p class="whs9">ff[4] = mesh.AddFace([bb[2], \r
bb[3], tt[3]])</p>\r
\r
-<p class="whs8">ff[5] = mesh.AddFace([bb[2], \r
+<p class="whs9">ff[5] = mesh.AddFace([bb[2], \r
tt[3], tt[2]]) </p>\r
\r
<p> </p>\r
\r
<p># delete the diagonal bb[1] - tt[2]</p>\r
\r
-<p class="whs8">print "\nUnite \r
+<p class="whs9">print "\nUnite \r
two triangles ... ",</p>\r
\r
-<p class="whs8">res = mesh.DeleteDiag(bb[1], \r
+<p class="whs9">res = mesh.DeleteDiag(bb[1], \r
tt[2])</p>\r
\r
-<p class="whs8">if not res: print \r
+<p class="whs9">if not res: print \r
"failed!"</p>\r
\r
-<p class="whs8">else: print \r
+<p class="whs9">else: print \r
"done."</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
<p><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
</p>\r
\r
<h3><a name=bookmark6>Uniting a Set of Triangles</a></h3>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8">import smesh</p>\r
+<p class="whs9">import smesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># create an empty mesh \r
+<p class="whs10"># create an empty mesh \r
structure</p>\r
\r
-<p class="whs8">mesh = smesh.Mesh() \r
+<p class="whs9">mesh = smesh.Mesh() \r
</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># create the following \r
+<p class="whs10"># create the following \r
mesh:</p>\r
\r
-<p class="whs8"># .----.----.----.</p>\r
+<p class="whs9"># .----.----.----.</p>\r
\r
-<p class="whs8"># | /| \r
+<p class="whs9"># | /| \r
/| \r
/|</p>\r
\r
-<p class="whs8"># | / \r
+<p class="whs9"># | / \r
| / | / \r
|</p>\r
\r
-<p class="whs8"># | / | \r
+<p class="whs9"># | / | \r
/ | / |</p>\r
\r
-<p class="whs8"># |/ |/ \r
+<p class="whs9"># |/ |/ \r
|/ \r
|</p>\r
\r
-<p class="whs8"># .----.----.----.</p>\r
+<p class="whs9"># .----.----.----.</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">bb = [0, 0, 0, 0]</p>\r
+<p class="whs9">bb = [0, 0, 0, 0]</p>\r
\r
-<p class="whs8">tt = [0, 0, 0, 0]</p>\r
+<p class="whs9">tt = [0, 0, 0, 0]</p>\r
\r
-<p class="whs8">ff = [0, 0, 0, 0, \r
+<p class="whs9">ff = [0, 0, 0, 0, \r
0, 0]</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">bb[0] \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">bb[0] \r
= mesh.AddNode( 0., 0., 0.)</span></p>\r
\r
-<p class="whs8">bb[1] = mesh.AddNode(10., \r
+<p class="whs9">bb[1] = mesh.AddNode(10., \r
0., 0.)</p>\r
\r
-<p class="whs8">bb[2] = mesh.AddNode(20., \r
+<p class="whs9">bb[2] = mesh.AddNode(20., \r
0., 0.)</p>\r
\r
-<p class="whs8">bb[3] = mesh.AddNode(30., \r
+<p class="whs9">bb[3] = mesh.AddNode(30., \r
0., 0.)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">tt[0] = mesh.AddNode( \r
+<p class="whs9">tt[0] = mesh.AddNode( \r
0., 15., 0.)</p>\r
\r
-<p class="whs8">tt[1] = mesh.AddNode(10., \r
+<p class="whs9">tt[1] = mesh.AddNode(10., \r
15., 0.)</p>\r
\r
-<p class="whs8">tt[2] = mesh.AddNode(20., \r
+<p class="whs9">tt[2] = mesh.AddNode(20., \r
15., 0.)</p>\r
\r
-<p class="whs8">tt[3] = mesh.AddNode(30., \r
+<p class="whs9">tt[3] = mesh.AddNode(30., \r
15., 0.)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">ff[0] = mesh.AddFace([bb[0], \r
+<p class="whs9">ff[0] = mesh.AddFace([bb[0], \r
bb[1], tt[1]])</p>\r
\r
-<p class="whs8">ff[1] = mesh.AddFace([bb[0], \r
+<p class="whs9">ff[1] = mesh.AddFace([bb[0], \r
tt[1], tt[0]])</p>\r
\r
-<p class="whs8">ff[2] = mesh.AddFace([bb[1], \r
+<p class="whs9">ff[2] = mesh.AddFace([bb[1], \r
bb[2], tt[2]])</p>\r
\r
-<p class="whs8">ff[3] = mesh.AddFace([bb[1], \r
+<p class="whs9">ff[3] = mesh.AddFace([bb[1], \r
tt[2], tt[1]])</p>\r
\r
-<p class="whs8">ff[4] = mesh.AddFace([bb[2], \r
+<p class="whs9">ff[4] = mesh.AddFace([bb[2], \r
bb[3], tt[3]])</p>\r
\r
-<p class="whs8">ff[5] = mesh.AddFace([bb[2], \r
+<p class="whs9">ff[5] = mesh.AddFace([bb[2], \r
tt[3], tt[2]])</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># unite a set of triangles</p>\r
+<p class="whs10"># unite a set of triangles</p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">print \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">print \r
"\nUnite a set of triangles ... ",</span></p>\r
\r
-<p class="whs8">res = mesh.TriToQuad([ff[2], \r
+<p class="whs9">res = mesh.TriToQuad([ff[2], \r
ff[3], ff[4], ff[5]], smesh.FT_MinimumAngle, 60.)</p>\r
\r
-<p class="whs8">if not res: print \r
+<p class="whs9">if not res: print \r
"failed!"</p>\r
\r
-<p class="whs8">else: print \r
+<p class="whs9">else: print \r
"done."</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">salome.sg.updateObjBrowser(1) \r
+<p class="whs9">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
<h3><a name=bookmark12>Orientation</a></h3>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8">import smesh</p>\r
+<p class="whs9">import smesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
<p># create an empty mesh structure</p>\r
\r
-<p class="whs8">mesh = smesh.Mesh() \r
+<p class="whs9">mesh = smesh.Mesh() \r
</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># build five quadrangles:</p>\r
+<p class="whs10"># build five quadrangles:</p>\r
\r
-<p class="whs8">dx = 10</p>\r
+<p class="whs9">dx = 10</p>\r
\r
-<p class="whs8">dy = 20</p>\r
+<p class="whs9">dy = 20</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">n1 \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">n1 \r
= mesh.AddNode(0.0 \r
* dx, 0, 0)</span></p>\r
\r
-<p class="whs8">n2 = \r
+<p class="whs9">n2 = \r
mesh.AddNode(1.0 * dx, 0, 0)</p>\r
\r
-<p class="whs8">n3 = \r
+<p class="whs9">n3 = \r
mesh.AddNode(2.0 * dx, 0, 0)</p>\r
\r
-<p class="whs8">n4 = \r
+<p class="whs9">n4 = \r
mesh.AddNode(3.0 * dx, 0, 0)</p>\r
\r
-<p class="whs8">n5 = \r
+<p class="whs9">n5 = \r
mesh.AddNode(4.0 * dx, 0, 0)</p>\r
\r
-<p class="whs8">n6 = \r
+<p class="whs9">n6 = \r
mesh.AddNode(5.0 * dx, 0, 0)</p>\r
\r
-<p class="whs8">n7 = \r
+<p class="whs9">n7 = \r
mesh.AddNode(0.0 * dx, dy, 0)</p>\r
\r
-<p class="whs8">n8 = \r
+<p class="whs9">n8 = \r
mesh.AddNode(1.0 * dx, dy, 0)</p>\r
\r
-<p class="whs8">n9 = \r
+<p class="whs9">n9 = \r
mesh.AddNode(2.0 * dx, dy, 0)</p>\r
\r
-<p class="whs8">n10 = mesh.AddNode(3.0 \r
+<p class="whs9">n10 = mesh.AddNode(3.0 \r
* dx, dy, 0)</p>\r
\r
-<p class="whs8">n11 = mesh.AddNode(4.0 \r
+<p class="whs9">n11 = mesh.AddNode(4.0 \r
* dx, dy, 0)</p>\r
\r
-<p class="whs8">n12 = mesh.AddNode(5.0 \r
+<p class="whs9">n12 = mesh.AddNode(5.0 \r
* dx, dy, 0)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">f1 = mesh.AddFace([n1, \r
+<p class="whs9">f1 = mesh.AddFace([n1, \r
n2, n8 , n7 ])</p>\r
\r
-<p class="whs8">f2 = mesh.AddFace([n2, \r
+<p class="whs9">f2 = mesh.AddFace([n2, \r
n3, n9 , n8 ])</p>\r
\r
-<p class="whs8">f3 = mesh.AddFace([n3, \r
+<p class="whs9">f3 = mesh.AddFace([n3, \r
n4, n10, n9 ])</p>\r
\r
-<p class="whs8">f4 = mesh.AddFace([n4, \r
+<p class="whs9">f4 = mesh.AddFace([n4, \r
n5, n11, n10])</p>\r
\r
-<p class="whs8">f5 = mesh.AddFace([n5, \r
+<p class="whs9">f5 = mesh.AddFace([n5, \r
n6, n12, n11]) </p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># Change the orientation \r
+<p class="whs10"># Change the orientation \r
of the second and the fourth faces.</p>\r
\r
-<p class="whs8">mesh.Reorient([2, \r
+<p class="whs9">mesh.Reorient([2, \r
4])</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">salome.sg.updateObjBrowser(1) \r
+<p class="whs9">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
<h3><a name=bookmark7>Cutting Quadrangles</a></h3>\r
\r
-<p class="whs8">import SMESH_mechanic</p>\r
+<p class="whs9">import SMESH_mechanic</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">smesh = SMESH_mechanic.smesh</p>\r
+<p class="whs9">smesh = SMESH_mechanic.smesh</p>\r
\r
-<p class="whs8">mesh = \r
+<p class="whs9">mesh = \r
SMESH_mechanic.mesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># cut two quadrangles: \r
+<p class="whs10"># cut two quadrangles: \r
405 and 406</p>\r
\r
-<p class="whs8">mesh.QuadToTri([405, \r
+<p class="whs9">mesh.QuadToTri([405, \r
406], smesh.FT_MinimumAngle) </p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<h3><a name=bookmark8>Smoothing</a></h3>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8">import geompy</p>\r
+<p class="whs9">import geompy</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">import SMESH_mechanic</p>\r
+<p class="whs9">import SMESH_mechanic</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">smesh \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">smesh \r
= SMESH_mechanic.smesh</span></p>\r
\r
-<p class="whs8">mesh = SMESH_mechanic.mesh</p>\r
+<p class="whs9">mesh = SMESH_mechanic.mesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># select the top face</p>\r
+<p class="whs10"># select the top face</p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">faces \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">faces \r
= geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, geompy.ShapeType["FACE"])</span></p>\r
\r
-<p class="whs8">face = faces[3]</p>\r
+<p class="whs9">face = faces[3]</p>\r
\r
-<p class="whs8">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
+<p class="whs9">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
face, "face planar with hole")</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># create a group of \r
+<p class="whs9"># create a group of \r
faces to be smoothed</p>\r
\r
-<p class="whs8">GroupSmooth = mesh.GroupOnGeom(face, \r
+<p class="whs9">GroupSmooth = mesh.GroupOnGeom(face, \r
"Group of faces (smooth)", smesh.FACE)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># perform smoothing</p>\r
+<p class="whs9"># perform smoothing</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># boolean SmoothObject(Object, \r
+<p class="whs9"># boolean SmoothObject(Object, \r
IDsOfFixedNodes, MaxNbOfIterations, MaxAspectRatio, Method)</p>\r
\r
-<p class="whs8">res = mesh.SmoothObject(GroupSmooth, \r
+<p class="whs9">res = mesh.SmoothObject(GroupSmooth, \r
[], 20, 2., smesh.CENTROIDAL_SMOOTH)</p>\r
\r
-<p class="whs8">print "\nSmoothing \r
+<p class="whs9">print "\nSmoothing \r
... ",</p>\r
\r
-<p class="whs8">if not res: print \r
+<p class="whs9">if not res: print \r
"failed!"</p>\r
\r
-<p class="whs8">else: print \r
+<p class="whs9">else: print \r
"done."</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">salome.sg.updateObjBrowser(1) \r
+<p class="whs9">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
<h3><a name=bookmark9>Extrusion</a></h3>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8">import geompy</p>\r
+<p class="whs9">import geompy</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">import SMESH_mechanic</p>\r
+<p class="whs9">import SMESH_mechanic</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">smesh \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">smesh \r
= SMESH_mechanic.smesh</span></p>\r
\r
-<p class="whs8">mesh = SMESH_mechanic.mesh \r
+<p class="whs9">mesh = SMESH_mechanic.mesh \r
</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># select the top face</p>\r
+<p class="whs10"># select the top face</p>\r
\r
-<p class="whs8">faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, \r
+<p class="whs9">faces = geompy.SubShapeAllSorted(SMESH_mechanic.shape_mesh, \r
geompy.ShapeType["FACE"])</p>\r
\r
-<p class="whs8">face = faces[7]</p>\r
+<p class="whs9">face = faces[7]</p>\r
\r
-<p class="whs8">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
+<p class="whs9">geompy.addToStudyInFather(SMESH_mechanic.shape_mesh, \r
face, "face circular top")</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># create a vector \r
+<p class="whs9"># create a vector \r
for extrusion</p>\r
\r
-<p class="whs8">point = smesh.PointStruct(0., \r
+<p class="whs9">point = smesh.PointStruct(0., \r
0., 5.)</p>\r
\r
-<p class="whs8">vector = smesh.DirStruct(point)</p>\r
+<p class="whs9">vector = smesh.DirStruct(point)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># create a group to \r
+<p class="whs9"># create a group to \r
be extruded</p>\r
\r
-<p class="whs8">GroupTri = mesh.GroupOnGeom(face, \r
+<p class="whs9">GroupTri = mesh.GroupOnGeom(face, \r
"Group of faces (extrusion)", smesh.FACE)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># perform extrusion \r
+<p class="whs9"># perform extrusion \r
of the group</p>\r
\r
-<p class="whs8">mesh.ExtrusionSweepObject(GroupTri, \r
+<p class="whs9">mesh.ExtrusionSweepObject(GroupTri, \r
vector, 5)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
+<p class="whs10"><span style="font-family: 'Lucida Console', monospace;">salome.sg.updateObjBrowser(1)</span> \r
</p>\r
\r
<h3><a name=bookmark10>Extrusion along a Path</a></h3>\r
\r
-<p class="whs8">import math</p>\r
+<p class="whs9">import math</p>\r
\r
-<p class="whs8">import salome</p>\r
+<p class="whs9">import salome</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># Geometry</p>\r
+<p class="whs10"># Geometry</p>\r
\r
-<p class="whs8">import geompy</p>\r
+<p class="whs9">import geompy</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9"># 1. Create points</p>\r
+<p class="whs10"># 1. Create points</p>\r
\r
-<p class="whs8">points = [[0, 0], \r
+<p class="whs9">points = [[0, 0], \r
[50, 30], [50, 110], [0, 150], [-80, 150], [-130, 70], [-130, -20]]</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">iv = 1</p>\r
+<p class="whs9">iv = 1</p>\r
\r
-<p class="whs8">vertices = []</p>\r
+<p class="whs9">vertices = []</p>\r
\r
-<p class="whs8">for point in points:</p>\r
+<p class="whs9">for point in points:</p>\r
\r
-<p class="whs10">vert \r
+<p class="whs11">vert \r
= geompy.MakeVertex(point[0], point[1], 0)</p>\r
\r
-<p class="whs10">geompy.addToStudy(vert, \r
+<p class="whs11">geompy.addToStudy(vert, \r
"Vertex_" + `iv`)</p>\r
\r
-<p class="whs10">vertices.append(vert)</p>\r
+<p class="whs11">vertices.append(vert)</p>\r
\r
-<p class="whs10">iv \r
+<p class="whs11">iv \r
+= 1</p>\r
\r
-<p class="whs10">pass</p>\r
+<p class="whs11">pass</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9"># 2. Create edges and \r
+<p class="whs10"># 2. Create edges and \r
wires</p>\r
\r
-<p class="whs8">Edge_straight = geompy.MakeEdge(vertices[0], \r
+<p class="whs9">Edge_straight = geompy.MakeEdge(vertices[0], \r
vertices[4])</p>\r
\r
-<p class="whs8">Edge_bezierrr = geompy.MakeBezier(vertices)</p>\r
+<p class="whs9">Edge_bezierrr = geompy.MakeBezier(vertices)</p>\r
\r
-<p class="whs8">Wire_polyline = geompy.MakePolyline(vertices)</p>\r
+<p class="whs9">Wire_polyline = geompy.MakePolyline(vertices)</p>\r
\r
-<p class="whs8">Edge_Circle = \r
+<p class="whs9">Edge_Circle = \r
geompy.MakeCircleThreePnt(vertices[0], vertices[1], vertices[2])</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">geompy.addToStudy(Edge_straight, \r
+<p class="whs9">geompy.addToStudy(Edge_straight, \r
"Edge_straight")</p>\r
\r
-<p class="whs8">geompy.addToStudy(Edge_bezierrr, \r
+<p class="whs9">geompy.addToStudy(Edge_bezierrr, \r
"Edge_bezierrr")</p>\r
\r
-<p class="whs8">geompy.addToStudy(Wire_polyline, \r
+<p class="whs9">geompy.addToStudy(Wire_polyline, \r
"Wire_polyline")</p>\r
\r
-<p class="whs8">geompy.addToStudy(Edge_Circle \r
+<p class="whs9">geompy.addToStudy(Edge_Circle \r
, "Edge_Circle")</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9"># 3. Explode wire on \r
+<p class="whs10"># 3. Explode wire on \r
edges, as they will be used for mesh extrusion</p>\r
\r
-<p class="whs8">Wire_polyline_edges \r
+<p class="whs9">Wire_polyline_edges \r
= geompy.SubShapeAll(Wire_polyline, geompy.ShapeType["EDGE"])</p>\r
\r
-<p class="whs8">for ii in range(len(Wire_polyline_edges)):</p>\r
+<p class="whs9">for ii in range(len(Wire_polyline_edges)):</p>\r
\r
-<p class="whs10">geompy.addToStudyInFather(Wire_polyline, \r
+<p class="whs11">geompy.addToStudyInFather(Wire_polyline, \r
Wire_polyline_edges[ii], "Edge_" + `ii + 1`)</p>\r
\r
-<p class="whs10">pass</p>\r
+<p class="whs11">pass</p>\r
\r
-<p class="whs11"> </p>\r
+<p class="whs12"> </p>\r
\r
-<p class="whs9"># Mesh</p>\r
+<p class="whs10"># Mesh</p>\r
\r
-<p class="whs8">import smesh</p>\r
+<p class="whs9">import smesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs12"># Mesh \r
+<p class="whs13"># Mesh \r
the given shape with the given 1d hypothesis</p>\r
\r
-<p class="whs13">def \r
+<p class="whs14">def \r
Mesh1D(shape1d, nbSeg, name):</p>\r
\r
-<p class="whs13"> mesh1d_tool \r
+<p class="whs14"> mesh1d_tool \r
= smesh.Mesh(shape1d, name)</p>\r
\r
-<p class="whs13"> algo \r
+<p class="whs14"> algo \r
= mesh1d_tool.Segment()</p>\r
\r
-<p class="whs13"> hyp \r
+<p class="whs14"> hyp \r
= algo.NumberOfSegments(nbSeg)</p>\r
\r
-<p class="whs13"> isDone \r
+<p class="whs14"> isDone \r
= mesh1d_tool.Compute()</p>\r
\r
-<p class="whs13"> if \r
+<p class="whs14"> if \r
not isDone: print 'Mesh ', name, ': computation failed'</p>\r
\r
-<p class="whs13"> return \r
+<p class="whs14"> return \r
mesh1d_tool</p>\r
\r
-<p class="whs12"># Create \r
+<p class="whs13"># Create \r
a mesh with six nodes, seven edges and two quadrangle faces</p>\r
\r
-<p class="whs13">def \r
+<p class="whs14">def \r
MakeQuadMesh2(mesh_name):</p>\r
\r
-<p class="whs13"> quad_1 \r
+<p class="whs14"> quad_1 \r
= smesh.Mesh(name = mesh_name)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs13"> <span \r
+<p class="whs14"> <span \r
style="font-family: 'Times New Roman', serif;"># \r
six nodes</span></p>\r
\r
-<p class="whs13"> n1 \r
+<p class="whs14"> n1 \r
= quad_1.AddNode(0, 20, 10)</p>\r
\r
-<p class="whs13"> n2 \r
+<p class="whs14"> n2 \r
= quad_1.AddNode(0, 40, 10)</p>\r
\r
-<p class="whs13"> n3 \r
+<p class="whs14"> n3 \r
= quad_1.AddNode(0, 40, 30)</p>\r
\r
-<p class="whs13"> n4 \r
+<p class="whs14"> n4 \r
= quad_1.AddNode(0, 20, 30)</p>\r
\r
-<p class="whs13"> n5 \r
+<p class="whs14"> n5 \r
= quad_1.AddNode(0, 0, \r
30)</p>\r
\r
-<p class="whs13"> n6 \r
+<p class="whs14"> n6 \r
= quad_1.AddNode(0, 0, \r
10)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs13"> <span \r
+<p class="whs14"> <span \r
style="font-family: 'Times New Roman', serif;"># \r
seven edges</span></p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n1, \r
+<p class="whs14"> quad_1.AddEdge([n1, \r
n2]) # 1</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n2, \r
+<p class="whs14"> quad_1.AddEdge([n2, \r
n3]) # 2</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n3, \r
+<p class="whs14"> quad_1.AddEdge([n3, \r
n4]) # 3</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n4, \r
+<p class="whs14"> quad_1.AddEdge([n4, \r
n1]) # 4</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n4, \r
+<p class="whs14"> quad_1.AddEdge([n4, \r
n5]) # 5</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n5, \r
+<p class="whs14"> quad_1.AddEdge([n5, \r
n6]) # 6</p>\r
\r
-<p class="whs13"> quad_1.AddEdge([n6, \r
+<p class="whs14"> quad_1.AddEdge([n6, \r
n1]) # 7</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs13"> <span \r
+<p class="whs14"> <span \r
style="font-family: 'Times New Roman', serif;"># \r
two quadrangle faces</span></p>\r
\r
-<p class="whs13"> quad_1.AddFace([n1, \r
+<p class="whs14"> quad_1.AddFace([n1, \r
n2, n3, n4]) # 8</p>\r
\r
-<p class="whs13"> quad_1.AddFace([n1, \r
+<p class="whs14"> quad_1.AddFace([n1, \r
n4, n5, n6]) # 9</p>\r
\r
-<p class="whs13"> return \r
+<p class="whs14"> return \r
[quad_1, [1,2,3,4,5,6,7], [8,9]]</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># Path \r
+<p class="whs13"># Path \r
meshes</p>\r
\r
-<p class="whs13">Edge_straight_mesh \r
+<p class="whs14">Edge_straight_mesh \r
= Mesh1D(Edge_straight, 7, "Edge_straight")</p>\r
\r
-<p class="whs13">Edge_bezierrr_mesh \r
+<p class="whs14">Edge_bezierrr_mesh \r
= Mesh1D(Edge_bezierrr, 7, "Edge_bezierrr")</p>\r
\r
-<p class="whs13">Wire_polyline_mesh \r
+<p class="whs14">Wire_polyline_mesh \r
= Mesh1D(Wire_polyline, 3, "Wire_polyline")</p>\r
\r
-<p class="whs13">Edge_Circle_mesh \r
+<p class="whs14">Edge_Circle_mesh \r
= \r
Mesh1D(Edge_Circle , \r
8, "Edge_Circle")</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># Initial \r
+<p class="whs13"># Initial \r
meshes (to be extruded)</p>\r
\r
-<p class="whs13">[quad_1, \r
+<p class="whs14">[quad_1, \r
ee_1, ff_1] = MakeQuadMesh2("quad_1")</p>\r
\r
-<p class="whs13">[quad_2, \r
+<p class="whs14">[quad_2, \r
ee_2, ff_2] = MakeQuadMesh2("quad_2")</p>\r
\r
-<p class="whs13">[quad_3, \r
+<p class="whs14">[quad_3, \r
ee_3, ff_3] = MakeQuadMesh2("quad_3")</p>\r
\r
-<p class="whs13">[quad_4, \r
+<p class="whs14">[quad_4, \r
ee_4, ff_4] = MakeQuadMesh2("quad_4")</p>\r
\r
-<p class="whs13">[quad_5, \r
+<p class="whs14">[quad_5, \r
ee_5, ff_5] = MakeQuadMesh2("quad_5")</p>\r
\r
-<p class="whs13">[quad_6, \r
+<p class="whs14">[quad_6, \r
ee_6, ff_6] = MakeQuadMesh2("quad_6")</p>\r
\r
-<p class="whs13">[quad_7, \r
+<p class="whs14">[quad_7, \r
ee_7, ff_7] = MakeQuadMesh2("quad_7")</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># ExtrusionAlongPath</p>\r
+<p class="whs13"># ExtrusionAlongPath</p>\r
\r
-<p class="whs12"># IDsOfElements, \r
+<p class="whs13"># IDsOfElements, \r
PathMesh, PathShape, NodeStart,</p>\r
\r
-<p class="whs12"># HasAngles, \r
+<p class="whs13"># HasAngles, \r
Angles, HasRefPoint, RefPoint</p>\r
\r
-<p class="whs13">refPoint \r
+<p class="whs14">refPoint \r
= smesh.PointStruct(0, 0, 0)</p>\r
\r
-<p class="whs13">a10 \r
+<p class="whs14">a10 \r
= 10.0*math.pi/180.0</p>\r
\r
-<p class="whs13">a45 \r
+<p class="whs14">a45 \r
= 45.0*math.pi/180.0</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 1. \r
+<p class="whs13"># 1. \r
Extrusion of two mesh edges along a straight path</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_1.ExtrusionAlongPath([1,2], Edge_straight_mesh, Edge_straight, \r
1,</p>\r
\r
-<p class="whs13"> 0, \r
+<p class="whs14"> 0, \r
[], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 2. \r
+<p class="whs13"># 2. \r
Extrusion of one mesh edge along a curved path</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_2.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>\r
\r
-<p class="whs13"> 0, \r
+<p class="whs14"> 0, \r
[], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 3. \r
+<p class="whs13"># 3. \r
Extrusion of one mesh edge along a curved path with usage of angles</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_3.ExtrusionAlongPath([2], Edge_bezierrr_mesh, Edge_bezierrr, 1,</p>\r
\r
-<p class="whs13"> 1, \r
+<p class="whs14"> 1, \r
[a45, a45, a45, 0, -a45, -a45, -a45], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 4. \r
+<p class="whs13"># 4. \r
Extrusion of one mesh edge along the path, which is a part of a meshed \r
wire</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_4.ExtrusionAlongPath([4], Wire_polyline_mesh, Wire_polyline_edges[0], \r
1,</p>\r
\r
-<p class="whs13"> 1, \r
+<p class="whs14"> 1, \r
[a10, a10, a10], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 5. \r
+<p class="whs13"># 5. \r
Extrusion of two mesh faces along the path, which is a part of a meshed \r
wire</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_5.ExtrusionAlongPath(ff_5 , Wire_polyline_mesh, Wire_polyline_edges[2], \r
4,</p>\r
\r
-<p class="whs13"> 0, \r
+<p class="whs14"> 0, \r
[], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 6. \r
+<p class="whs13"># 6. \r
Extrusion of two mesh faces along a closed path</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_6.ExtrusionAlongPath(ff_6 , Edge_Circle_mesh, Edge_Circle, 1,</p>\r
\r
-<p class="whs13"> 0, \r
+<p class="whs14"> 0, \r
[], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs12"># 7. \r
+<p class="whs13"># 7. \r
Extrusion of two mesh faces along a closed path with usage of angles</p>\r
\r
-<p class="whs13">error \r
+<p class="whs14">error \r
= quad_7.ExtrusionAlongPath(ff_7, Edge_Circle_mesh, Edge_Circle, 1,</p>\r
\r
-<p class="whs13"> 1, \r
+<p class="whs14"> 1, \r
[a45, -a45, a45, -a45, a45, -a45, a45, -a45], 0, refPoint)</p>\r
\r
-<p class="whs13"> </p>\r
+<p class="whs14"> </p>\r
\r
-<p class="whs13">salome.sg.updateObjBrowser(1) \r
+<p class="whs14">salome.sg.updateObjBrowser(1) \r
</p>\r
\r
<h3><a name=bookmark11>Revolution</a></h3>\r
\r
-<p class="whs8">import math</p>\r
+<p class="whs9">import math</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">import SMESH_mechanic</p>\r
+<p class="whs9">import SMESH_mechanic</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"><span style="font-family: 'Lucida Console', monospace;">mesh \r
+<p class="whs9"><span style="font-family: 'Lucida Console', monospace;">mesh \r
= SMESH_mechanic.mesh</span></p>\r
\r
-<p class="whs8">smesh = SMESH_mechanic.smesh</p>\r
+<p class="whs9">smesh = SMESH_mechanic.smesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># create a group of faces \r
+<p class="whs10"># create a group of faces \r
to be revolved</p>\r
\r
-<p class="whs8">FacesRotate = [492, \r
+<p class="whs9">FacesRotate = [492, \r
493, 502, 503]</p>\r
\r
-<p class="whs8">GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group \r
+<p class="whs9">GroupRotate = mesh.CreateGroup(SMESH.FACE,"Group \r
of faces (rotate)")</p>\r
\r
-<p class="whs8">GroupRotate.Add(FacesRotate)</p>\r
+<p class="whs9">GroupRotate.Add(FacesRotate)</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9"># define revolution angle \r
+<p class="whs10"># define revolution angle \r
and axis</p>\r
\r
-<p class="whs8">angle45 = 45 * math.pi \r
+<p class="whs9">angle45 = 45 * math.pi \r
/ 180</p>\r
\r
-<p class="whs8">axisXYZ = SMESH.AxisStruct(-38.3128, \r
+<p class="whs9">axisXYZ = SMESH.AxisStruct(-38.3128, \r
-73.3658, -23.321, -13.3402, -13.3265, 6.66632)</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs9"># perform revolution \r
+<p class="whs10"># perform revolution \r
of an object</p>\r
\r
-<p class="whs8">mesh.RotationSweepObject(GroupRotate, \r
+<p class="whs9">mesh.RotationSweepObject(GroupRotate, \r
axisXYZ, angle45, 4, 1e-5) </p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
<h3><a name=bookmark13>Pattern Mapping</a></h3>\r
\r
-<p class="whs8">import geompy</p>\r
+<p class="whs9">import geompy</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8">import smesh</p>\r
+<p class="whs9">import smesh</p>\r
\r
-<p class="whs8"> </p>\r
+<p class="whs9"> </p>\r
\r
-<p class="whs8"># define the geometry</p>\r
+<p class="whs9"># define the geometry</p>\r
\r
-<p class="whs9">Box_1 = geompy.MakeBoxDXDYDZ(200., \r
+<p class="whs10">Box_1 = geompy.MakeBoxDXDYDZ(200., \r
200., 200.)</p>\r
\r
-<p class="whs9">geompy.addToStudy(Box_1, \r
+<p class="whs10">geompy.addToStudy(Box_1, \r
"Box_1")</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">faces = geompy.SubShapeAll(Box_1, \r
+<p class="whs10">faces = geompy.SubShapeAll(Box_1, \r
geompy.ShapeType["FACE"])</p>\r
\r
-<p class="whs9">Face_1 = faces[0]</p>\r
+<p class="whs10">Face_1 = faces[0]</p>\r
\r
-<p class="whs9">Face_2 = faces[1]</p>\r
+<p class="whs10">Face_2 = faces[1]</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">geompy.addToStudyInFather(Box_1, \r
+<p class="whs10">geompy.addToStudyInFather(Box_1, \r
Face_1, "Face_1")</p>\r
\r
-<p class="whs9">geompy.addToStudyInFather(Box_1, \r
+<p class="whs10">geompy.addToStudyInFather(Box_1, \r
Face_2, "Face_2")</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs8"># build a quadrangle \r
+<p class="whs9"># build a quadrangle \r
mesh 3x3 on Face_1</p>\r
\r
-<p class="whs9">Mesh_1 = smesh.Mesh(Face_1)</p>\r
+<p class="whs10">Mesh_1 = smesh.Mesh(Face_1)</p>\r
\r
-<p class="whs9">algo1D = Mesh_1.Segment()</p>\r
+<p class="whs10">algo1D = Mesh_1.Segment()</p>\r
\r
-<p class="whs9">algo1D.NumberOfSegments(3)</p>\r
+<p class="whs10">algo1D.NumberOfSegments(3)</p>\r
\r
-<p class="whs9">Mesh_1.Quadrangle()</p>\r
+<p class="whs10">Mesh_1.Quadrangle()</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">isDone = Mesh_1.Compute()</p>\r
+<p class="whs10">isDone = Mesh_1.Compute()</p>\r
\r
-<p class="whs9">if not isDone: print \r
+<p class="whs10">if not isDone: print \r
'Mesh Mesh_1 : computation failed'</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs8"># build a triangle \r
+<p class="whs9"># build a triangle \r
mesh on Face_2</p>\r
\r
-<p class="whs9">Mesh_2 = smesh.Mesh(Face_2)</p>\r
+<p class="whs10">Mesh_2 = smesh.Mesh(Face_2)</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">algo1D = Mesh_2.Segment()</p>\r
+<p class="whs10">algo1D = Mesh_2.Segment()</p>\r
\r
-<p class="whs9">algo1D.NumberOfSegments(1)</p>\r
+<p class="whs10">algo1D.NumberOfSegments(1)</p>\r
\r
-<p class="whs9">algo2D = Mesh_2.Triangle()</p>\r
+<p class="whs10">algo2D = Mesh_2.Triangle()</p>\r
\r
-<p class="whs9">algo2D.MaxElementArea(240)</p>\r
+<p class="whs10">algo2D.MaxElementArea(240)</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">isDone = Mesh_2.Compute()</p>\r
+<p class="whs10">isDone = Mesh_2.Compute()</p>\r
\r
-<p class="whs9">if not isDone: print \r
+<p class="whs10">if not isDone: print \r
'Mesh Mesh_2 : computation failed'</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs8"># create a pattern</p>\r
+<p class="whs9"># create a pattern</p>\r
\r
-<p class="whs9">pattern = smesh.GetPattern()</p>\r
+<p class="whs10">pattern = smesh.GetPattern()</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), \r
+<p class="whs10">isDone = pattern.LoadFromFace(Mesh_2.GetMesh(), \r
Face_2, 0)</p>\r
\r
-<p class="whs9">if (isDone != 1): print \r
+<p class="whs10">if (isDone != 1): print \r
'LoadFromFace :', pattern.GetErrorCode()</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs8"># apply the pattern \r
+<p class="whs9"># apply the pattern \r
to a face of the first mesh</p>\r
\r
-<p class="whs9">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), \r
+<p class="whs10">pattern.ApplyToMeshFaces(Mesh_1.GetMesh(), \r
[17], 0, 0)</p>\r
\r
-<p class="whs9"> </p>\r
+<p class="whs10"> </p>\r
\r
-<p class="whs9">isDone = pattern.MakeMesh(Mesh_1.GetMesh(), \r
+<p class="whs10">isDone = pattern.MakeMesh(Mesh_1.GetMesh(), \r
0, 0)</p>\r
\r
-<p class="whs9">if (isDone != 1): print \r
+<p class="whs10">if (isDone != 1): print \r
'MakeMesh :', pattern.GetErrorCode() </p>\r
\r
<script type="text/javascript" language="javascript1.2">\r