Salome HOME
Warn about direct SMESH idl usage: smesh python package have to be used where it... V3_2_0
authorjfa <jfa@opencascade.com>
Thu, 8 Jun 2006 14:05:08 +0000 (14:05 +0000)
committerjfa <jfa@opencascade.com>
Thu, 8 Jun 2006 14:05:08 +0000 (14:05 +0000)
doc/salome/gui/SMESH/constructing_meshes.htm
doc/salome/gui/SMESH/defining_hypotheses_tui.htm
doc/salome/gui/SMESH/grouping_elements.htm
doc/salome/gui/SMESH/modifying_meshes.htm
doc/salome/gui/SMESH/quality_controls.htm
doc/salome/gui/SMESH/smesh_py_introduction.htm [new file with mode: 0755]
doc/salome/gui/SMESH/smeshpy_doc/namespacesmesh.html
doc/salome/gui/SMESH/viewing_meshes.htm
doc/salome/gui/SMESH/whdata/whtdata0.htm
doc/salome/gui/SMESH/whgdata/whlstt9.htm
doc/salome/gui/SMESH/whxdata/whtdata0.xml

index ca895c64011386dedf875c9e645ce89a82007e7f..d460c302f464e4a8658b49ddde3a67a8936f8645 100755 (executable)
@@ -89,8 +89,14 @@ if (window.writeIntopicBar)
 </script>\r
 <h1>Creating Meshes</h1>\r
 \r
+<p>At first see <a href="smesh_py_introduction.htm">Example of 3d mesh generation</a>, using <b>smesh</b> package.\r
+<p>Other examples of python scripts will be also updated soon to use <b>smesh</b> package instead of direct usage of idl interface.\r
+\r
 <h3><a name=bookmark>Construction of a Mesh</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
@@ -417,6 +423,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark2>Editing of a mesh</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs3">&nbsp;</p>\r
 \r
 <p class="whs3"><span style="font-family: 'Lucida Console', monospace;">import \r
@@ -548,6 +557,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark3>Export of a Mesh</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs4">&nbsp;</p>\r
 \r
 <p class="whs1"><span style="font-family: 'Lucida Console', monospace;">import \r
index 9ef8f93c3f83c92d3cd70e26e50065fb98c6ae3b..3fe7884bdff4f6e525a0f0d2e5550a7279c5e344 100755 (executable)
@@ -858,6 +858,9 @@ if (window.writeIntopicBar)
 \r
 <h4><a name=bookmark5>Maximum Element Volume</a></h4>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import \r
  salome</span></p>\r
 \r
@@ -1294,6 +1297,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark8>Defining Meshing Algorithms</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs4"><span style="font-family: 'Lucida Console', monospace;">import \r
  salome</span></p>\r
 \r
index 64da11cf2a86f43209fdf513ebd2deabfdc5ddfa..822a2cfd3a7d502aa26f6baaab081fd3116ad98a 100755 (executable)
@@ -181,6 +181,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark5>Create a Group on Geometry</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
index 2d488e688d9d02315db14e42ccf21f1dffd42790..8708a02b0c5606a2cff4e908b99a768cbb2a2902 100755 (executable)
@@ -1443,6 +1443,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark13>Pattern Mapping</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs7">import salome</p>\r
 \r
 <p class="whs7">import geompy</p>\r
index b1dc4c472081d10f9adaef3fc8906c7b688ed0a3..2af942145135939c5a285bd6b576989cb1a20909 100755 (executable)
@@ -87,6 +87,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark>Free Borders</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
@@ -233,6 +236,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark1>Borders at Multiconnection</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
@@ -399,6 +405,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark2>Length 1D</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs2">&nbsp;</p>\r
 \r
 <p class="whs1">import salome</p>\r
@@ -561,6 +570,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark3>Free Edges</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -672,6 +684,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark4>Length 2D</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
@@ -837,6 +852,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark5>Borders at Multiconnection 2D</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
@@ -994,6 +1012,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark6>Area</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -1073,6 +1094,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark7>Taper</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -1152,6 +1176,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark8>Aspect Ratio</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -1231,6 +1258,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark9>Minimum Angle</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">&nbsp;</p>\r
 \r
 <p class="whs1">import SMESH</p>\r
@@ -1312,6 +1342,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark10>Warping</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -1389,6 +1422,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark12>Skew</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic</p>\r
@@ -1468,6 +1504,9 @@ if (window.writeIntopicBar)
 \r
 <h3><a name=bookmark11>Aspect Ratio 3D</a></h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import SMESH</p>\r
 \r
 <p class="whs1">import SMESH_mechanic_tetra</p>\r
diff --git a/doc/salome/gui/SMESH/smesh_py_introduction.htm b/doc/salome/gui/SMESH/smesh_py_introduction.htm
new file mode 100755 (executable)
index 0000000..405ec01
--- /dev/null
@@ -0,0 +1,208 @@
+<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">\r
+\r
+<html>\r
+\r
+<head>\r
+<title>Introduction to MESH module python interface</title>\r
+<meta http-equiv="content-type" content="text/html; charset=windows-1252">\r
+<meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"><style type="text/css">\r
+<!--\r
+p.whs1 { margin-top:0pt; margin-bottom:0pt; font-family:'Lucida Console' , monospace; }\r
+p.whs2 { margin-top:0pt; margin-bottom:0pt; }\r
+p.whs3 { font-family:'Lucida Console' , monospace; margin-top:0px; margin-bottom:0px; }\r
+p.whs4 { margin-top:0px; margin-bottom:0px; }\r
+p.whs5 { margin-top:0px; margin-bottom:0px; font-family:'Times New Roman' , serif; }\r
+-->\r
+</style><script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs1 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs2 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs3 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs4 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS += "p.whs5 {margin-top:1pt;margin-bottom:1pt; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
+<script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
+<!--\r
+function reDo() {\r
+  if (innerWidth != origWidth || innerHeight != origHeight)\r
+     location.reload();\r
+}\r
+if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {\r
+       origWidth = innerWidth;\r
+       origHeight = innerHeight;\r
+       onresize = reDo;\r
+}\r
+onerror = null; \r
+//-->\r
+</script>\r
+<style type="text/css">\r
+<!--\r
+div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; }\r
+p.WebHelpNavBar { text-align:right; }\r
+-->\r
+</style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>\r
+<script type="text/javascript" language="javascript" src="whver.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>\r
+<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.gbWhTopic)\r
+{\r
+       if (window.setRelStartPage)\r
+       {\r
+       addTocInfo("MESH module\nTUI Scripts\nIntroduction to MESH module python interface");\r
+addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif");\r
+addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif");\r
+\r
+       }\r
+\r
+\r
+       if (window.setRelStartPage)\r
+       {\r
+       setRelStartPage("index.htm");\r
+\r
+               autoSync(1);\r
+               sendSyncInfo();\r
+               sendAveInfoOut();\r
+       }\r
+\r
+}\r
+else\r
+       if (window.gbIE4)\r
+               document.location.reload();\r
+//-->\r
+</script>\r
+</head>\r
+<body><script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(4);\r
+//-->\r
+</script>\r
+<h1>Introduction to MESH module python interface</h1>\r
+\r
+<p><a href="smeshpy_doc/namespacesmesh.html">Package smesh</a> provides a standard API for meshes creation and edition.\r
+<p>Below you can see an example of package <b>smesh</b> usage for 3d mesh generation.\r
+<p>&nbsp;\r
+<h3><a name=bookmark>Example of 3d mesh generation with NETGEN</a></h3>\r
+\r
+<br>from geompy import *\r
+<br>\r
+<br>import smesh\r
+<br>\r
+<br># Geometry\r
+<br># ========\r
+<br>\r
+<br># an assembly of a box, a cylinder and a truncated cone meshed with tetrahedral.\r
+<br>\r
+<br># Define values\r
+<br># -------------\r
+<br>\r
+<br>name = "ex21_lamp"\r
+<br>\r
+<br>cote = 60\r
+<br>\r
+<br>section = 20\r
+<br>size    = 200\r
+<br>\r
+<br>radius_1 = 80\r
+<br>radius_2 = 40\r
+<br>height   = 100\r
+<br>\r
+<br># Build a box\r
+<br># -----------\r
+<br>\r
+<br>box  = MakeBox(-cote, -cote, -cote,  +cote, +cote, +cote)\r
+<br>\r
+<br># Build a cylinder\r
+<br># ----------------\r
+<br>\r
+<br>pt1 = MakeVertex(0, 0, cote/3)\r
+<br>di1 = MakeVectorDXDYDZ(0, 0, 1)\r
+<br>cyl = MakeCylinder(pt1, di1, section, size)\r
+<br>\r
+<br># Build a truncated cone\r
+<br># ----------------------\r
+<br>\r
+<br>pt2 = MakeVertex(0, 0, size)\r
+<br>cone = MakeCone(pt2, di1, radius_1, radius_2, height)\r
+<br>\r
+<br># Fuse\r
+<br># ----\r
+<br>\r
+<br>box_cyl = MakeFuse(box, cyl)\r
+<br>piece = MakeFuse(box_cyl, cone)\r
+<br>\r
+<br># Add in study\r
+<br># ------------\r
+<br>\r
+<br>addToStudy(piece, name)\r
+<br>\r
+<br># Create a group of faces\r
+<br># -----------------------\r
+<br>\r
+<br>group = CreateGroup(piece, ShapeType["FACE"])\r
+<br>\r
+<br>group_name = name + "_grp"\r
+<br>addToStudy(group, group_name)\r
+<br>group.SetName(group_name)\r
+<br>\r
+<br># Add faces in the group\r
+<br># ----------------------\r
+<br>\r
+<br>faces = SubShapeAllIDs(piece, ShapeType["FACE"])\r
+<br>\r
+<br>UnionIDs(group, faces)\r
+<br>\r
+<br># Create a mesh\r
+<br># =============\r
+<br>\r
+<br># Define a mesh on a geometry\r
+<br># ---------------------------\r
+<br>\r
+<br>tetra = smesh.Mesh(piece, name)\r
+<br>\r
+<br># Define 1D hypothesis\r
+<br># --------------------\r
+<br>\r
+<br>algo1d = tetra.Segment()\r
+<br>algo1d.LocalLength(10)\r
+<br>\r
+<br># Define 2D hypothesis\r
+<br># --------------------\r
+<br>\r
+<br>algo2d = tetra.Triangle()\r
+<br>algo2d.LengthFromEdges()\r
+<br>\r
+<br># Define 3D hypothesis\r
+<br># --------------------\r
+<br>\r
+<br>algo3d = tetra.Tetrahedron(smesh.NETGEN)\r
+<br>algo3d.MaxElementVolume(100)\r
+<br>\r
+<br># Compute the mesh\r
+<br># ----------------\r
+<br>\r
+<br>tetra.Compute()\r
+<br>\r
+<br># Create a groupe of faces\r
+<br># ------------------------\r
+<br>\r
+<br>tetra.Group(group)\r
+\r
+<script type="text/javascript" language="javascript1.2">\r
+<!--\r
+if (window.writeIntopicBar)\r
+       writeIntopicBar(0);\r
+//-->\r
+</script>\r
+</body>\r
+</html>\r
index 5b3964358b44d2a9551d857068cccd5fef2f614b..130b8881fc2794cb8f730c0370cb7c3d7ad3c0f0 100644 (file)
@@ -7,6 +7,9 @@
 <!-- Generated by Doxygen 1.4.6 -->
 <h1>Package smesh</h1>
 <p>
+Python package smesh defines several classes, destined for easy and clear mesh creation and edition.
+<p class="whs2"><a href="../smesh_py_introduction.htm">Example.</a></p>
+<p>
 <table border="0" cellpadding="0" cellspacing="0">
 <tr><td></td></tr>
 <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
index b32bcc84a6d71eb7fb1aae8ba97c398f0195a36e..a04fe708b641e85b5b8d4a08717ccf7c073b8849 100755 (executable)
@@ -85,6 +85,9 @@ if (window.writeIntopicBar)
 \r
 <h3>Viewing Mesh Infos</h3>\r
 \r
+<p>Attention! This script was written using old approach, based on direct usage of SMESH idl interface. To be updated for version 3.2.1 to use <b>smesh</b> package.\r
+<br>&nbsp;\r
+\r
 <p class="whs1">import salome</p>\r
 \r
 <p class="whs1">import geompy</p>\r
index 29ccd8d0496902a0e17de6edd3ff399264f2e4fc..a39e4b36923d740fb729c14f14442d9e449bdfd3 100755 (executable)
@@ -81,6 +81,7 @@
      aTE(2,0,"Pattern mapping","pattern_mapping.htm");\r
    aTE(2,0,"Access to Mesh module functionality from Python (using smesh.py)","smeshpy_doc/namespacesmesh.html");\r
    aTE(1,7,"TUI Scripts");\r
+     aTE(2,0,"Introduction to MESH module python interface","smesh_py_introduction.htm");\r
      aTE(2,0,"Creating Meshes","constructing_meshes.htm");\r
      aTE(2,0,"Defining Hypotheses","defining_hypotheses_tui.htm");\r
      aTE(2,0,"Viewing Meshes","viewing_meshes.htm");\r
index 94e7f25a11f9a04e1926d1bb702f06888ddd1741..6b042d4c2a7bf8c8c56c340a70391cc7242dd1f3 100755 (executable)
@@ -46,6 +46,7 @@ img {vertial-align:middle;}
 &nbsp;&nbsp;&nbsp;<nobr><a name="6"></a><a href="whlstt6.htm#6" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Grouping elements</a></nobr><br>\r
 &nbsp;&nbsp;&nbsp;<nobr><a name="7"></a><a href="whlstt7.htm#7" target="_self" title="closed book"><img src="../whd_toc1.gif" border="0" align="absmiddle"> Modifying meshes</a></nobr><br>\r
 &nbsp;&nbsp;&nbsp;<nobr><a name="9"></a><a href="whlstt1.htm#9" target="_self"><img src="../whd_toc2.gif" border="0" align="absmiddle"> TUI Scripts</a></nobr><br>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../smesh_py_introduction.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Introduction to MESH module python interface</a></nobr><br>\r
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../constructing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Creating Meshes</a></nobr><br>\r
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../defining_hypotheses_tui.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Defining Hypotheses</a></nobr><br>\r
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<nobr><a href="../viewing_meshes.htm"><img src="../whd_toc3.gif" border="0" align="absmiddle"> Viewing Meshes</a></nobr><br>\r
index 3777dc98d20555aef2a6ca1624d55c4945cc6304..7f9178dda32552a50bbc88ff443e2fc1f39939df 100755 (executable)
@@ -80,6 +80,7 @@
   </book>\r
   <item name="Access to Mesh module functionality from Python (using smesh.py)" url="smeshpy_doc/namespacesmesh.html" />\r
   <book name="TUI Scripts" >\r
+    <item name="Introduction to MESH module python interface" url="smesh_py_introduction.htm" />\r
     <item name="Creating Meshes" url="constructing_meshes.htm" />\r
     <item name="Defining Hypotheses" url="defining_hypotheses_tui.htm" />\r
     <item name="Viewing Meshes" url="viewing_meshes.htm" />\r