Salome HOME
Update SMESH documentation
[modules/smesh.git] / doc / salome / gui / SMESH / input / extrusion_along_path.doc
1 /*!
2
3 \page extrusion_along_path_page Extrusion along a path
4
5 \n In principle, <b>Extrusion along a path</b> works in the same way
6 as \b Extrusion, the main difference is that we define not a vector,
7 but a path of extrusion which must be a meshed edge. To get an idea of
8 how this algorithm works, examine several examples, starting from the
9 most simple case of extrusion along a straight edge. In all examples
10 the same mesh will be extruded along different paths and with
11 different parameters. This sample 2D mesh has two quadrangle faces and
12 seven edges. Look at the picture, where white digits are the node
13 numbers and green are the element numbers:
14
15 \image html mesh_for_extr_along_path.png
16
17 <br><center><h2>Extrusion along a straight edge</h2>(not using base point
18 or angles)</center>
19
20 \image html straight_before.png
21 <center>The image shows a 1D path mesh, built on a linear edge, and the initial 2D mesh.</center>
22
23 \image html straight_after.png
24 <center> The image shows the result of extrusion of two edges
25 (#1 and #2) of the initial mesh along the path. \n Node #1 of path mesh
26 has been selected as Start node.</center>
27
28 <br><center><h2>Extrusion along a curvilinear edge</h2>(with and
29 without angles)</center>
30
31 \image html curvi_simple_before.png
32 <center>The image shows a 1D path mesh, built on curvilinear edge, and
33 the initial  2D mesh.</center>
34
35 \image html curvi_simple_after.png
36 <center>The central image shows the result of extrusion of one edge
37 (#2) of the initial mesh along the path. \n Node #1 of path mesh has
38 been selected as <b>Start node</b>.</center>
39
40 \image html curvi_angles_after.png
41 <center>The same, but using angles {45, 45, 45, 0, -45, -45, -45}</center>
42
43 <br><center><h2>Extrusion along a sub-mesh</h2></center>
44
45 In this example the path mesh has been built on a wire (polyline with
46 six edges). The first edge of the wire was used as <b>Shape (edge)</b>, node
47 #1 as <b>Start node</b>. The angles have been defined as {10, 10, 10}. The
48 middle edge (#4) of the initial mesh has been extruded.
49
50 \image html edge_wire_before.png
51
52 \image html edge_wire_after.png
53
54 <br><center><h2>Extrusion of 2d elements along a sub-mesh</h2></center>
55
56 This extrusion bases on the same path mesh as in the previous example
57 but the third edge of the wire was set as <b>Shape (edge)</b> and node
58 #4 as <b>Start node</b>. Please note, that the extrusion has been done
59 in direction from node #4 to node #3, i.e. against the wire
60 direction. In this example both faces of the initial mesh have been
61 extruded.
62
63 \image html edge_wire_3d_before.png
64
65 \image html edge_wire_3d_after.png
66
67 <br><center><h2>Extrusion of 2d elements along a closed path</h2></center>
68
69 \image html circle_simple_before.png
70 <center>The image shows a path mesh built on a closed edge
71 (circle).</center>
72
73 \image html circle_simple_after.png
74 <center>The central image shows the result of extrusion of both faces
75 of the initial mesh. \n Note, that no sewing has been done, so, there are
76 six coincident nodes and two coincident faces in the resulting
77 mesh.</center>
78
79 \image html circle_angles_after.png
80 <center>The same, but using angles {45, -45, 45, -45, 45, -45, 45,
81 -45}</center>
82
83 <br><em>To use Extrusion along a path:</em>
84 <ol>
85 <li>From the \b Modification menu choose the <b>Extrusion along a
86 path</b> item or click <em>"Extrusion along a path"</em> button in the toolbar.
87
88 \image html image101.png
89 <center><em>"Extrusion along a path" button</em></center>
90
91 The following dialog common for line and planar elements will appear:
92
93 \image html extrusion1.png
94 </li>
95
96 <li>In this dialog:
97 <ul>
98 <li>select the type of elements which will be extruded (1D or 2D),</li>
99 <li>specify the <b>IDs of the elements</b> which will be extruded
100
101 <ul>
102 <li><b>Select the whole mesh, submesh or group</b> activating this
103 checkbox; or</li>
104 <li>choose mesh elements with the mouse in the 3D Viewer. It is
105 possible to select a whole area with a mouse frame; or</li> 
106 <li>input the element IDs directly in <b>ID Elements</b> field. The selected elements will be highlighted in the
107 viewer; or</li>
108 <li>apply Filters. <b>Set filter</b> button allows to apply a filter to the selection of elements. See more
109 about filters in the \ref selection_filter_library_page "Selection filter library" page.</li>
110 </ul>
111
112 </li>
113 <li>define the Path along which the elements will be extruded,
114 \n Path definition consists of several elements:
115 <ul>
116 <li>\b Mesh - containing a 1D sub-mesh on the edge, along which proceeds the extrusion</li>
117 <li><b>Shape (edge)</b> - as the mesh can be complex, the edge is used to define the sub-mesh for the path</li>
118 <li><b>Start node</b> - the first or the last node on the edge. It is used to define the direction of extrusion </li>
119 </ul>
120 </li>
121 <li>activate  <b>Generate Groups</b> checkbox if it is necessary to  copy the groups of
122 elements of the source mesh to the newly created one. </li>
123 </ul>
124 </li>
125
126 <li>There are two optional parameters, which can be very useful:
127 <ul>
128 <li>If the path of extrusion is curvilinear, at each iteration the
129 extruded shape is rotated to keep its initial angularity to the
130 curve. By default, the <b>Base Point</b> around which the shape is rotated is
131 the mass center of the shape, however, you can specify any point as
132 the <b>Base Point</b> and the shape will be rotated with respect to this
133 point.
134 </li>
135 <li>The shape can also be rotated around the path to get the resulting
136 mesh in a helical fashion. You can set the values of angles at the
137 right, add them to the list of angles at the left by pressing the <em>"Add"</em>
138 button and remove them from the list by pressing the <em>"Remove"</em> button. 
139
140 \image html add.png
141 <center><em>"Add" button</em></center>
142
143 \image html remove.png
144 <center><em>"Remove" button</em></center>
145
146 <b>Linear variation of the angles</b> option allows defining the angle of gradual rotation for the whole path. 
147 At each step the shape will be rotated by angle/nb. of steps. 
148
149 </li>
150 </ul>
151 </li>
152
153
154 <li>Click \b Apply or <b> Apply and Close</b>  button to confirm the operation.
155 Mesh edges will be extruded into
156 faces, faces into volumes. The external surface of the resulting 3d
157 mesh (if faces have been extruded) is covered with faces, and corners
158 with edges. If the path is closed, the resulting mesh can contain
159 duplicated nodes and faces, because no sewing is done.
160 </li>
161 </ol>
162
163 <br><b>See Also</b> a sample TUI Script of an 
164 \ref tui_extrusion_along_path "Extrusion along a Path" operation.  
165
166 */