mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-28 18:30:35 +05:00
177 lines
7.0 KiB
Plaintext
177 lines
7.0 KiB
Plaintext
/*!
|
|
|
|
\page extrusion_along_path_page Extrusion along Path
|
|
|
|
\n In principle, <b>Extrusion along Path</b> works in the same way
|
|
as \ref extrusion_page "Extrusion", the main difference is that we
|
|
define not a vector, but a path of extrusion which must be an 1D mesh
|
|
or 1D sub-mesh.
|
|
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 the examples the sample mesh will be extruded along different
|
|
paths and with different parameters.
|
|
This 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:
|
|
|
|
\image html mesh_for_extr_along_path.png
|
|
|
|
<br><center><h2>Extrusion along a straight edge</h2>(not using base point
|
|
or angles)</center>
|
|
|
|
\image html straight_before.png
|
|
<center>The image shows a 1D path mesh, built on a linear edge, and the initial 2D mesh.</center>
|
|
|
|
\image html straight_after.png
|
|
<center> The image shows the result of extrusion of two edges
|
|
(#1 and #2) of the initial mesh along the path. \n Node #1 of path mesh
|
|
has been selected as Start node.</center>
|
|
|
|
<br><center><h2>Extrusion along a curvilinear edge</h2>(with and
|
|
without angles)</center>
|
|
|
|
\image html curvi_simple_before.png
|
|
<center>The image shows a 1D path mesh, built on curvilinear edge, and
|
|
the initial 2D mesh.</center>
|
|
|
|
\image html curvi_simple_after.png
|
|
<center>The central image shows the result of extrusion of one edge
|
|
(#2) of the initial mesh along the path. \n Node #1 of path mesh has
|
|
been selected as <b>Start node</b>.</center>
|
|
|
|
\image html curvi_angles_after.png
|
|
<center>The same, but using angles {45, 45, 45, 0, -45, -45, -45}</center>
|
|
|
|
<br><center><h2>Extrusion of a 2D face along a mesh built on a wire</h2></center>
|
|
|
|
In this example the path mesh has been built on a wire containing 3
|
|
edges. Node 1 is a start node. Linear angle variation by 180 degrees
|
|
has also been applied.
|
|
|
|
\image html extr_along_wire_before.png
|
|
<center><em>Meshed wire</em></center>
|
|
|
|
\image html extr_along_wire_after.png
|
|
<center><em>The resulting extrusion</em></center>
|
|
|
|
<br><center><h2>Extrusion of 2d elements along a closed path</h2></center>
|
|
|
|
\image html circle_simple_before.png
|
|
<center>The image shows a path mesh built on a closed edge
|
|
(circle).</center>
|
|
|
|
\image html circle_simple_after.png
|
|
<center>The central image shows the result of extrusion of both faces
|
|
of the initial mesh. \n Note, that no sewing has been done, so, there are
|
|
six coincident nodes and two coincident faces in the resulting
|
|
mesh.</center>
|
|
|
|
\image html circle_angles_after.png
|
|
<center>The same, but using angles {45, -45, 45, -45, 45, -45, 45, -45}
|
|
</center>
|
|
|
|
<br><em>To use Extrusion along Path:</em>
|
|
<ol>
|
|
<li>From the \b Modification menu choose the <b>Extrusion along a
|
|
path</b> item or click <em>"Extrusion along a path"</em> button in the toolbar.
|
|
|
|
\image html image101.png
|
|
<center><em>"Extrusion along a path" button</em></center>
|
|
|
|
The following dialog will appear:
|
|
|
|
\image html extrusion_along_path_dlg.png
|
|
</li>
|
|
|
|
<li>In this dialog:
|
|
<ul>
|
|
<li>Use \a Selection button to specify what you are going to
|
|
select at a given moment, \b Nodes, \b Edges or \b Faces.
|
|
\image html image120.png
|
|
<center><em>"Selection" button</em></center>
|
|
</li>
|
|
<li>Specify \b Nodes, \b Edges and \b Faces, which will be extruded, by one
|
|
of following means:
|
|
<ul>
|
|
<li><b>Select the whole mesh, sub-mesh or group</b> activating this
|
|
check-box.</li>
|
|
<li>Choose mesh elements with the mouse in the 3D Viewer. It is
|
|
possible to select a whole area with a mouse frame.</li>
|
|
<li>Input the element IDs directly in <b>Node IDs</b>, <b>Edge
|
|
IDs</b> and <b>Face IDs</b> fields. The selected elements will
|
|
be highlighted in the viewer, if the mesh is shown there.</li>
|
|
<li>Apply Filters. <b>Set filter</b> button allows to apply a
|
|
filter to the selection of elements. See more about filters in
|
|
the \ref filtering_elements "Selection filters" page.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Define the \b Path along which the elements will be extruded.<br>
|
|
Path definition consists of several elements:
|
|
<ul>
|
|
<li><b>Mesh or sub-mesh</b> - 1D mesh or sub-mesh, along which
|
|
proceeds the extrusion.</li>
|
|
<li><b>Start node</b> - the start node of the Path. It is used
|
|
to define the direction of extrusion. </li>
|
|
</ul>
|
|
</li>
|
|
<li>If you activate <b>Generate Groups</b> check-box, the <em>result elements</em>
|
|
created from <em>selected elements</em> contained in groups will be
|
|
included into new groups named by pattern "<old group
|
|
name>_extruded" and "<old group name>_top". For example if a
|
|
selected quadrangle is included in \a g_Faces group (see figures
|
|
below) then result hexahedra will be included in \a
|
|
g_Faces_extruded group and a quadrangle created at the "top" of
|
|
extruded mesh will be included in \a g_Faces_top group. <br>
|
|
\image html extrusion_groups.png
|
|
\image html extrusion_groups_res.png
|
|
<p> This check-box is active only if there are some groups in the mesh.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>There are two optional parameters, which can be very useful:
|
|
<ul>
|
|
<li>If the path of extrusion is curvilinear, at each iteration the
|
|
extruded elements are rotated to keep its initial angularity to the
|
|
curve. By default, the <b>Base Point</b> around which the elements
|
|
are rotated is the mass center of the elements (note that it can
|
|
differ from the gravity center computed by \a Geometry module for the
|
|
underlying shape), however, you can specify any point as the <b>Base
|
|
Point</b> and the elements will be rotated with respect to this
|
|
point.<br>
|
|
Note that only the displacement of the <b>Base Point</b> exactly
|
|
equals to the path, and all other extruded elements simply keep
|
|
their position relatively to the <b>Base Point</b> at each
|
|
iteration.</li>
|
|
<li>The elements 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 <em>"Add"</em> button and remove them from the list by
|
|
pressing the <em>"Remove"</em> button.
|
|
\image html add.png
|
|
<center><em>"Add" button</em></center>
|
|
\image html remove.png
|
|
<center><em>"Remove" button</em></center>
|
|
|
|
<b>Linear variation of the angles</b> option allows defining the angle
|
|
of gradual rotation for the whole path. At each step the elements will
|
|
be rotated by <code>( angle / nb. of steps )</code>.
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
|
|
<li>Click \b Apply or <b> Apply and Close</b> button to confirm the
|
|
operation. 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.
|
|
</li>
|
|
</ol>
|
|
|
|
<br><b>See Also</b> a sample TUI Script of an
|
|
\ref tui_extrusion_along_path "Extrusion along a Path" operation.
|
|
|
|
*/
|