<!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>&nbsp;</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">&nbsp;&nbsp;&nbsp;</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">&nbsp;</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 &nbsp;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. &nbsp;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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</p>

<p>&nbsp;</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">&nbsp;</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">&nbsp;</p>

<p class="whs12">2. In the dialog box you should &nbsp;</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;">&nbsp;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">&nbsp;</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">&nbsp;</p>

<p>&nbsp;<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. &nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<script type="text/javascript" language="javascript1.2">
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);
//-->
</script>
</body>
</html>