Salome HOME
d35d233151c133404d8cf5e6e7a1f677d719d4a5
[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 box will appear:
92
93 \image html extrusion1.png
94
95 \image html extrusion2.png
96 </li>
97
98 <li>In the dialog box you should:
99 <ul>
100 <li>select the type of elements which will be extruded (1D or 2D),</li>
101 <li>specify the <b>IDs of the elements</b> which will be extruded
102 <ul>
103 <li>Check on <b>Select the whole mesh, submesh or group</b> option
104 <li>Choosing them manually with the mouse in the 3D Viewer. You can
105 click on an element in the 3D viewer and it will be highlighted</li>
106 <li>Applying Filters. The <b>Set filter</b> button allows to apply a
107 definite filter to selection of the elements. See more
108 about filters on the
109 \ref selection_filter_library_page "Selection filter library" page.</li>
110 </ul>
111 </li>
112 <li>define the Path along which the elements will be extruded,
113 \n Path definition consists of several elements:
114 <ul>
115 <li>\b Mesh - containing a 1D sub-mesh on the edge, along which proceeds the extrusion</li>
116 <li><b>Shape (edge)</b> - as the mesh can be complex, the edge is used to define the sub-mesh for the path</li>
117 <li><b>Start node</b> - the first or the last node on the edge. It is used to define the direction of extrusion </li>
118 </ul>
119 </li>
120 <li> <b>Generate Groups</b> checkbox allows copying the groups of
121 elements of the source mesh to the newly created one. </li>
122 </ul>
123 </li>
124
125 <li>There are two optional parameters, which can be very useful:
126 <ul>
127 <li>If the path of extrusion is curvilinear, at each iteration the
128 extruded shape is rotated to keep its initial angularity to the
129 curve. By default, the <b>Base Point</b> around which the shape is rotated is
130 the mass center of the shape, however, you can specify any point as
131 the <b>Base Point</b> and the shape will be rotated with respect to this
132 point.
133 </li>
134 <li>The shape can also be rotated around the path to get the resulting
135 mesh in a helical fashion. You can set the values of angles at the
136 right, add them to the list of angles at the left by pressing the <em>"Add"</em>
137 button and remove them from the list by pressing the <em>"Remove"</em> button. 
138
139 \image html add.png
140 <center><em>"Add" button</em></center>
141
142 \image html remove.png
143 <center><em>"Remove" button</em></center>
144
145 <b>Linear variation of the angles</b> option allows defining the angle of gradual rotation for the whole path. 
146 At each step the shape will be rotated by angle/nb. of steps. 
147
148 </li>
149 </ul>
150 </li>
151
152 <li>Click the \b Apply or \b OK button. Mesh edges will be extruded into
153 faces, faces into volumes. The external surface of the resulting 3d
154 mesh (if faces have been extruded) is covered with faces, and corners
155 with edges. If the path is closed, the resulting mesh can contain
156 duplicated nodes and faces, because no sewing is done.
157 </li>
158 </ol>
159
160 <br><b>See Also</b> a sample TUI Script of an 
161 \ref tui_extrusion_along_path "Extrusion along a Path" operation.  
162
163 */