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