<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN"> <html> <head> <title>Extrusion along a path</title> <meta http-equiv="content-type" content="text/html; charset=windows-1252"> <meta name="generator" content="RoboHelp by eHelp Corporation www.ehelp.com"> <link rel="stylesheet" href="default_ns.css"><script type="text/javascript" language="JavaScript" title="WebHelpSplitCss"> <!-- if (navigator.appName !="Netscape") { document.write("<link rel='stylesheet' href='default.css'>");} //--> </script> <style type="text/css"> <!-- img_whs1 { border:none; width:27px; height:24px; border-style:none; } img_whs2 { border:none; width:387px; height:334px; float:none; border-style:none; } ul.whs3 { list-style:disc; } table.whs4 { x-cell-content-align:top; width:100%; border-spacing:0px; } col.whs5 { width:50%; } tr.whs6 { x-cell-content-align:top; } td.whs7 { width:50%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-top-style:none; border-bottom-style:none; } p.whs8 { margin-left:0px; margin-right:53px; } img_whs9 { border:none; width:389px; height:334px; float:none; border-style:none; } td.whs10 { width:50%; padding-right:10px; padding-left:10px; border-top-style:none; border-bottom-style:none; border-right-style:none; } p.whs11 { margin-left:0px; } p.whs12 { margin-left:40px; } col.whs13 { width:33.333%; } td.whs14 { width:33.333%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-left-style:none; border-top-style:none; } td.whs15 { width:33.333%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; border-top-style:none; } td.whs16 { width:33.333%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-top-style:none; border-right-style:none; } td.whs17 { width:33.333%; padding-right:10px; padding-left:10px; border-right-style:none; border-left-style:none; border-bottom-style:none; } td.whs18 { width:33.333%; padding-right:10px; padding-left:10px; border-right-style:none; border-bottom-style:none; } td.whs19 { width:33.333%; padding-right:10px; padding-left:10px; border-bottom-style:none; border-right-style:none; } p.whs20 { font-weight:bold; margin-left:0px; } p.whs21 { font-weight:bold; } img_whs22 { border:none; width:441px; height:541px; float:none; border-style:none; } p.whs23 { margin-left:84px; } p.whs24 { margin-left:156px; } p.whs25 { margin-left:156px; font-weight:bold; } img_whs26 { border:none; width:26px; height:25px; border-style:none; } img_whs27 { border:none; width:29px; height:28px; border-style:none; } --> </style><script type="text/javascript" language="JavaScript"> <!-- if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4)) { var strNSS = "<style type='text/css'>"; strNSS += "p.whs8 {margin-left:1pt; }"; strNSS += "p.whs11 {margin-left:1pt; }"; strNSS += "p.whs20 {margin-left:1pt; }"; strNSS +="</style>"; document.write(strNSS); } //--> </script> <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript"> <!-- function reDo() { if (innerWidth != origWidth || innerHeight != origHeight) location.reload(); } if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) { origWidth = innerWidth; origHeight = innerHeight; onresize = reDo; } onerror = null; //--> </script> <style type="text/css"> <!-- div.WebHelpPopupMenu { position:absolute; left:0px; top:0px; z-index:4; visibility:hidden; } p.WebHelpNavBar { text-align:right; } --> </style><script type="text/javascript" language="javascript1.2" src="whmsg.js"></script> <script type="text/javascript" language="javascript" src="whver.js"></script> <script type="text/javascript" language="javascript1.2" src="whproxy.js"></script> <script type="text/javascript" language="javascript1.2" src="whutils.js"></script> <script type="text/javascript" language="javascript1.2" src="whtopic.js"></script> <script type="text/javascript" language="javascript1.2"> <!-- if (window.gbWhTopic) { if (window.setRelStartPage) { addTocInfo("MESH module\nModifying meshes\nExtrusion along a path"); addButton("show",BTN_IMG,"Show","","","","",0,0,"whd_show0.gif","whd_show2.gif","whd_show1.gif"); addButton("hide",BTN_IMG,"Hide","","","","",0,0,"whd_hide0.gif","whd_hide2.gif","whd_hide1.gif"); } if (window.setRelStartPage) { setRelStartPage("index.htm"); autoSync(1); sendSyncInfo(); sendAveInfoOut(); } } else if (window.gbIE4) document.location.reload(); //--> </script> </head> <body><script type="text/javascript" language="javascript1.2"> <!-- if (window.writeIntopicBar) writeIntopicBar(4); //--> </script> <h1><img src="image101.gif" width="27px" height="24px" border="0" class="img_whs1">Extrusion along a path</h1> <p>In principle, <span style="font-weight: bold;"><B>Extrusion along a path</B></span> works in the same way as <span style="font-weight: bold;"><B>Extrusion</B></span>, the main difference is that we define not a vector, but a path of extrusion which must be a meshed edge. To get an idea of how this algorithm works, examine several examples, starting from the most simple case of extrusion along a straight edge. In all examples the same mesh will be extruded along different paths and with different parameters. This sample 2D mesh has two quadrangle faces and seven edges. Look at the picture, where white digits are the node numbers and green are the element numbers:</p> <p><span style="margin-left: 40px;"><img src="pics/mesh_for_extr_along_path.png" x-maintain-ratio="TRUE" width="387px" height="334px" border="0" class="img_whs2"> .</span></p> <p> </p> <ul type="disc" class="whs3"> <li class=kadov-p><p><span style="font-weight: bold;"><B>Extrusion along a straight edge</B></span> (not using base point or angles)</p></li> </ul> <table x-use-null-cells cellspacing="0" width="100%" class="whs4"> <col class="whs5"> <col class="whs5"> <tr valign="top" class="whs6"> <td width="50%" class="whs7"> <p class="whs8"><img src="pics/straight_before.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="50%" class="whs10"> <p class="whs11"><img src="pics/straight_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td></tr> </table> <p class="whs12"> </p> <p class="whs12">The left image shows a 1D path mesh, built on a linear edge, and the initial 2D mesh. The right image shows the result of extrusion of two edges (#1 and #2) of the initial mesh along the path. Node #1 of path mesh has been selected as <span style="font-weight: bold;"><B>Start node</B></span>.</p> <p class="whs12"> </p> <ul type="disc" class="whs3"> <li class=kadov-p><p><span style="font-weight: bold;"><B>Extrusion along a curvilinear edge</B></span> (with and without angles)</p></li> </ul> <table x-use-null-cells cellspacing="0" width="100%" class="whs4"> <col class="whs13"> <col class="whs13"> <col class="whs13"> <tr valign="top" class="whs6"> <td width="33.333%" class="whs14"> <p><img src="pics/curvi_simple_before.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="33.333%" class="whs15"> <p><img src="pics/curvi_simple_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="33.333%" class="whs16"> <p><img src="pics/curvi_angles_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td></tr> <tr valign="top" class="whs6"> <td width="33.333%" class="whs17"> <p>The left image shows a 1D path mesh, built on curvilinear edge, and the initial 2D mesh.</td> <td width="33.333%" class="whs18"> <p>The central image shows the result of extrusion of one edge (#2) of the initial mesh along the path. Node #1 of path mesh has been selected as <span style="font-weight: bold;"><B>Start node</B></span>.</td> <td width="33.333%" class="whs19"> <p>The same, but using angles {45, 45, 45, 0, -45, -45, -45}</td></tr> </table> <p class="whs11"> </p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs11"><span style="font-weight: bold;"><B>Extrusion along a sub-mesh.</B></span></p></li> </ul> <table x-use-null-cells cellspacing="0" width="100%" class="whs4"> <col class="whs5"> <col class="whs5"> <tr valign="top" class="whs6"> <td width="50%" class="whs7"> <p><img src="pics/edge_wire_before.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="50%" class="whs10"> <p><img src="pics/edge_wire_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td></tr> </table> <p class="whs12"> </p> <p class="whs12">In this example the path mesh has been built on a wire (polyline with six edges). The first edge of the wire was used as <span style="font-weight: bold;"><B>Shape (edge)</B></span>, node #1 as <span style="font-weight: bold;"><B>Start node</B></span>. The angles have been defined as {10, 10, 10}. The middle edge (#4) of the initial mesh has been extruded.</p> <p class="whs12"> </p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs20">Extrusion of 2d elements along a sub-mesh.</p></li> </ul> <table x-use-null-cells cellspacing="0" width="100%" class="whs4"> <col class="whs5"> <col class="whs5"> <tr valign="top" class="whs6"> <td width="50%" class="whs7"> <p><img src="pics/edge_wire_3d_before.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="50%" class="whs10"> <p><img src="pics/edge_wire_3d_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td></tr> </table> <p class="whs12"> </p> <p class="whs12">This extrusion bases on the same path mesh as in the previous example but the third edge of the wire was set as <span style="font-weight: bold;"><B>Shape (edge)</B></span> and node #4 as <span style="font-weight: bold;"><B>Start node</B></span>. Please note, that the extrusion has been done in direction from node #4 to node #3, i.e. against the wire direction. In this example both faces of the initial mesh have been extruded.</p> <p class="whs12"> </p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs21">Extrusion of 2d elements along a closed path.</p></li> </ul> <table x-use-null-cells cellspacing="0" width="100%" class="whs4"> <col class="whs13"> <col class="whs13"> <col class="whs13"> <tr valign="top" class="whs6"> <td width="33.333%" class="whs14"> <p><img src="pics/circle_simple_before.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="33.333%" class="whs15"> <p><img src="pics/circle_simple_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td> <td width="33.333%" class="whs16"> <p><img src="pics/circle_angles_after.png" x-maintain-ratio="TRUE" width="389px" height="334px" border="0" class="img_whs9"></td></tr> <tr valign="top" class="whs6"> <td width="33.333%" class="whs17"> <p>The left image shows a path mesh built on a closed edge (circle).</td> <td width="33.333%" class="whs18"> <p>The central image shows the result of extrusion of both faces of the initial mesh. Note, that no sewing has been done, so, there are six coincident nodes and two coincident faces in the resulting mesh.</td> <td width="33.333%" class="whs19"> <p>The same, but using angles {45, -45, 45, -45, 45, -45, 45, -45}</td></tr> </table> <p class="whs12"> </p> <p> </p> <p class=TODO>To use Extrusion along a path:</p> <p class="whs12">1. From the <span style="font-weight: bold;"><B>Modification </B></span>menu choose the <span style="font-weight: bold;"><B>Extrusion along a path </B></span>item or click <img src="image101.gif" width="27px" height="24px" border="0" class="img_whs1"> button in the toolbar. The following dialog box will appear:</p> <p class="whs12"> </p> <p class=TODO style="margin-left: 80px;"><img src="pics/extrusion1.png" x-maintain-ratio="TRUE" width="441px" height="541px" border="0" class="img_whs22"></p> <p class="whs12"> </p> <p class="whs12">2. In the dialog box you should </p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs23">select the type of elements which will be extruded (1D or 2D),</p></li> <li class=kadov-p><p class="whs23">specify the <span style="font-weight: bold;"><B>IDs of the elements</B></span> which will be extruded by selecting them in the 3D viewer or <span style="font-weight: bold;"><B>Select the whole mesh, submesh or group</B></span>,</p></li> <li class=kadov-p><p class="whs23">define the <span style="font-weight: bold;"><B>Path</B></span> along which the elements will be extruded, </p></li> </ul> <p class="whs24">Path definition consists of several elements </p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs25">Mesh - <span style="font-weight: normal;">containing a 1D sub-mesh on the edge, along which proceeds the extrusion.</span></p></li> <li class=kadov-p><p class="whs25">Shape (edge) - <span style="font-weight: normal;">as the mesh can be complex, the edge is used to define the sub-mesh for the path.</span></p></li> <li class=kadov-p><p class="whs25">Start node - <span style="font-weight: normal;"> the first or the last node on the edge. It is used to define the direction of extrusion.</span></p></li> </ul> <p class="whs12"> </p> <p class="whs12">3. There are two optional parameters, which can be very useful.</p> <ul type="disc" class="whs3"> <li class=kadov-p><p class="whs23">If the path of extrusion is curvilinear, at each iteration the extruded shape is rotated to keep its initial angularity to the curve. By default, the <span style="font-weight: bold;"><B>Base Point</B></span> around which the shape is rotated is the mass center of the shape, however, you can specify any point as the <span style="font-weight: bold;"><B>Base Point</B></span> and the shape will be rotated with respect to this point.</p></li> <li class=kadov-p><p class="whs23">The shape can also be rotated around the path to get the resulting mesh in a helical fashion. You can set the values of angles at the right, add them to the list of angles at the left by pressing the <img src="image105.gif" width="26px" height="25px" border="0" class="img_whs26"> button and remove them from the list by pressing the <img src="image106.gif" width="29px" height="28px" border="0" class="img_whs27"> button. </p></li> </ul> <p class="whs12">4. Click the <span style="font-weight: bold;"><B>Apply </B></span>or <span style="font-weight: bold;"><B>OK </B></span>button. Mesh edges will be extruded into faces, faces into volumes. The external surface of the resulting 3d mesh (if faces have been extruded) is covered with faces, and corners with edges. If the path is closed, the resulting mesh can contain duplicated nodes and faces, because no sewing is done.</p> <p class="whs12"> </p> <p> <span style="font-weight: bold;"><B>See Also</B></span> a sample TUI Script of an <a href="modifying_meshes.htm#bookmark10">Extrusion along a Path</a> operation. </p> <p> </p> <p> </p> <script type="text/javascript" language="javascript1.2"> <!-- if (window.writeIntopicBar) writeIntopicBar(0); //--> </script> </body> </html>