mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-14 17:48:34 +05:00
156 lines
6.0 KiB
Plaintext
156 lines
6.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 \b Extrusion, the main difference is that we define not a vector,
|
|
but a path of extrusion which must be a 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 common for line and planar elements will appear:
|
|
|
|
\image html extrusion_along_path_dlg.png
|
|
</li>
|
|
|
|
<li>In this dialog:
|
|
<ul>
|
|
<li>select the type of elements which will be extruded (1D or 2D),</li>
|
|
<li>specify the <b>IDs of the elements</b> which will be extruded
|
|
|
|
<ul>
|
|
<li><b>Select the whole mesh, sub-mesh or group</b> activating the corresponding check-box; or</li>
|
|
<li>Choose mesh elements with the mouse in the 3D Viewer. It is
|
|
possible to select a whole area with a mouse frame; or</li>
|
|
<li>Input the element IDs directly in <b>ID Elements</b> field. The selected elements will be highlighted in the
|
|
viewer; or</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 selection_filter_library_page "Selection filter library" 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 submesh</b> - 1D mesh or sub-mesh, along which proceeds the extrusion</li>
|
|
<li><b>Start node</b> - the start node. It is used to define the direction of extrusion </li>
|
|
</ul>
|
|
</li>
|
|
<li>Activate <b>Generate Groups</b> check-box if it is necessary to copy the groups of
|
|
elements of the source mesh to the newly created one. </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, 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.
|
|
|
|
*/
|