Salome HOME
IMP 22792: EDF 8159 SMESH: Multi-dimensional extrusion/extrusion along a path/revolution
[modules/smesh.git] / doc / salome / gui / SMESH / input / extrusion_along_path.doc
1 /*!
2
3 \page extrusion_along_path_page Extrusion along Path
4
5 \n In principle, <b>Extrusion along Path</b> works in the same way
6 as \ref extrusion_page "Extrusion", the main difference is that we define not a vector,
7 but a path of extrusion which must be a 1D mesh or 1D sub-mesh. 
8 To get an idea of how this algorithm works, examine several examples,
9 starting from the most simple case of extrusion along a straight edge.
10 In the examples the sample mesh will be extruded along different
11 paths and with different parameters.
12 This 2D mesh has two quadrangle faces and seven edges. Look
13 at the picture, where white digits are the node numbers and green
14 are the element numbers:
15
16 \image html mesh_for_extr_along_path.png
17
18 <br><center><h2>Extrusion along a straight edge</h2>(not using base point
19 or angles)</center>
20
21 \image html straight_before.png
22 <center>The image shows a 1D path mesh, built on a linear edge, and the initial 2D mesh.</center>
23
24 \image html straight_after.png
25 <center> The image shows the result of extrusion of two edges
26 (#1 and #2) of the initial mesh along the path. \n Node #1 of path mesh
27 has been selected as Start node.</center>
28
29 <br><center><h2>Extrusion along a curvilinear edge</h2>(with and
30 without angles)</center>
31
32 \image html curvi_simple_before.png
33 <center>The image shows a 1D path mesh, built on curvilinear edge, and
34 the initial  2D mesh.</center>
35
36 \image html curvi_simple_after.png
37 <center>The central image shows the result of extrusion of one edge
38 (#2) of the initial mesh along the path. \n Node #1 of path mesh has
39 been selected as <b>Start node</b>.</center>
40
41 \image html curvi_angles_after.png
42 <center>The same, but using angles {45, 45, 45, 0, -45, -45, -45}</center>
43
44 <br><center><h2>Extrusion of a 2D face along a mesh built on a wire</h2></center>
45
46 In this example the path mesh has been built on a wire containing 3
47 edges. Node 1 is a start node. Linear angle variation by 180 degrees
48 has also been applied.
49
50 \image html extr_along_wire_before.png
51 <center><em>Meshed wire</em></center>
52
53 \image html extr_along_wire_after.png
54 <center><em>The resulting extrusion</em></center>
55
56 <br><center><h2>Extrusion of 2d elements along a closed path</h2></center>
57
58 \image html circle_simple_before.png
59 <center>The image shows a path mesh built on a closed edge
60 (circle).</center>
61
62 \image html circle_simple_after.png
63 <center>The central image shows the result of extrusion of both faces
64 of the initial mesh. \n Note, that no sewing has been done, so, there are
65 six coincident nodes and two coincident faces in the resulting
66 mesh.</center>
67
68 \image html circle_angles_after.png
69 <center>The same, but using angles {45, -45, 45, -45, 45, -45, 45,
70 -45}</center>
71
72 <br><em>To use Extrusion along Path:</em>
73 <ol>
74 <li>From the \b Modification menu choose the <b>Extrusion along a
75 path</b> item or click <em>"Extrusion along a path"</em> button in the toolbar.
76
77 \image html image101.png
78 <center><em>"Extrusion along a path" button</em></center>
79
80 The following dialog will appear:
81
82 \image html extrusion_along_path_dlg.png
83 </li>
84
85 <li>In this dialog:
86 <ul>
87     <li>Use \a Selection button to specify what you are going to
88     select at a given moment, \b Nodes, \b Edges or \b Faces.
89 \image html image120.png
90 <center><em>"Selection" button</em></center>
91     </li>
92     <li>Specify \b Nodes, \b Edges and \b Faces, which will be extruded, by one
93       of following means:
94       <ul>
95         <li><b>Select the whole mesh, sub-mesh or group</b> activating this
96           checkbox.</li>
97         <li>Choose mesh elements with the mouse in the 3D Viewer. It is
98           possible to select a whole area with a mouse frame.</li>
99         <li>Input the element IDs directly in <b>Node IDs</b>, <b>Edge
100             IDs</b> and <b>Face IDs</b> fields. The selected elements will
101           be highlighted in the viewer, if the mesh is shown there.</li>
102         <li>Apply Filters. <b>Set filter</b> button allows to apply a
103           filter to the selection of elements. See more about filters in
104           the \ref filtering_elements "Selection filters" page.</li>
105       </ul>
106     </li>
107     <li>Define the \b Path along which the elements will be extruded.<br>
108       Path definition consists of several elements:
109       <ul>
110         <li><b>Mesh or submesh</b> - 1D mesh or sub-mesh, along which
111         proceeds the extrusion.</li>
112         <li><b>Start node</b> - the start node. It is used to define
113         the direction of extrusion. </li>
114       </ul>
115     </li>
116   <li>If you activate <b>Generate Groups</b> check-box, the <em>result elements</em>
117     created from <em>selected elements</em> contained in groups will be
118     included into new groups named by pattern "<old group
119     name>_extruded" and "<old group name>_top". For example if a
120     selected quadrangle is included in \a g_Faces group (see figures
121     below) then result hexahedra will be included in \a
122     g_Faces_extruded group and a quadrangle created at the "top" of
123     extruded mesh will be included in \a g_Faces_top group. <br> 
124 \image html extrusion_groups.png
125 \image html extrusion_groups_res.png
126     <p> This check-box is active only if there are some groups in the mesh.
127   </li>
128 </ul>
129 </li>
130
131 <li>There are two optional parameters, which can be very useful:
132 <ul>
133 <li>If the path of extrusion is curvilinear, at each iteration the
134   extruded elements are rotated to keep its initial angularity to the
135   curve. By default, the <b>Base Point</b> around which the elements
136   are rotated is the mass center of the elements, however, you can
137   specify any point as the <b>Base Point</b> and the elements will be
138   rotated with respect to this point.<br>
139   Note that only the displacement of the <b>Base Point</b> exactly
140   equals to the path, and all other extruded elements simply keep
141   their position relatively to the <b>Base Point</b> at each
142   iteration.</li>
143 <li>The elements can also be rotated around the path to get the
144   resulting mesh in a helical fashion. You can set the values of
145   angles at the right, add them to the list of angles at the left by
146   pressing the <em>"Add"</em> button and remove them from the list by
147   pressing the <em>"Remove"</em> button.
148 \image html add.png
149 <center><em>"Add" button</em></center>
150 \image html remove.png
151 <center><em>"Remove" button</em></center>
152
153 <b>Linear variation of the angles</b> option allows defining the angle
154 of gradual rotation for the whole path. At each step the elements will
155 be rotated by <code>angle / nb. of steps</code>.
156 </li>
157 </ul>
158 </li>
159
160
161 <li>Click \b Apply or <b> Apply and Close</b>  button to confirm the
162   operation. Mesh edges will be extruded into faces, faces into
163   volumes. The external surface of the resulting 3d mesh (if faces
164   have been extruded) is covered with faces, and corners with
165   edges. If the path is closed, the resulting mesh can contain
166   duplicated nodes and faces, because no sewing is done.
167 </li>
168 </ol>
169
170 <br><b>See Also</b> a sample TUI Script of an 
171 \ref tui_extrusion_along_path "Extrusion along a Path" operation.  
172
173 */