Salome HOME
Implementation of new version ExtrusionAlongPath (20003 from Mantis).
[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 1D mesh or 1D sub-mesh. To
8 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 following examples the meshes will be extruded along different
11 paths and with different parameters.
12 This sample 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 2d face along a mesh builds on wire</h2></center>
45
46 In this example the path mesh has been built on a wire contains 3
47 edges. Node #1 is used as start node. Linear angle variation by 180
48 degree is applied.
49
50 \image html extr_along_wire_before.png
51
52 \image html extr_along_wire_after.png
53
54 <br><center><h2>Extrusion of 2d elements along a closed path</h2></center>
55
56 \image html circle_simple_before.png
57 <center>The image shows a path mesh built on a closed edge
58 (circle).</center>
59
60 \image html circle_simple_after.png
61 <center>The central image shows the result of extrusion of both faces
62 of the initial mesh. \n Note, that no sewing has been done, so, there are
63 six coincident nodes and two coincident faces in the resulting
64 mesh.</center>
65
66 \image html circle_angles_after.png
67 <center>The same, but using angles {45, -45, 45, -45, 45, -45, 45,
68 -45}</center>
69
70 <br><em>To use Extrusion along a path:</em>
71 <ol>
72 <li>From the \b Modification menu choose the <b>Extrusion along a
73 path</b> item or click <em>"Extrusion along a path"</em> button in the toolbar.
74
75 \image html image101.png
76 <center><em>"Extrusion along a path" button</em></center>
77
78 The following dialog common for line and planar elements will appear:
79
80 \image html extrusion1.png
81 </li>
82
83 <li>In this dialog:
84 <ul>
85 <li>select the type of elements which will be extruded (1D or 2D),</li>
86 <li>specify the <b>IDs of the elements</b> which will be extruded
87
88 <ul>
89 <li><b>Select the whole mesh, submesh or group</b> activating this
90 checkbox; or</li>
91 <li>choose mesh elements with the mouse in the 3D Viewer. It is
92 possible to select a whole area with a mouse frame; or</li> 
93 <li>input the element IDs directly in <b>ID Elements</b> field. The selected elements will be highlighted in the
94 viewer; or</li>
95 <li>apply Filters. <b>Set filter</b> button allows to apply a filter to the selection of elements. See more
96 about filters in the \ref selection_filter_library_page "Selection filter library" page.</li>
97 </ul>
98
99 </li>
100 <li>define the Path along which the elements will be extruded,
101 \n Path definition consists of several elements:
102 <ul>
103 <li><b>Mesh or submesh</b> - 1D mesh or 1D sub-mesh, along which proceeds the extrusion</li>
104 <li><b>Start node</b> - the start node. It is used to define the direction of extrusion </li>
105 </ul>
106 </li>
107 <li>activate  <b>Generate Groups</b> checkbox if it is necessary to  copy the groups of
108 elements of the source mesh to the newly created one. </li>
109 </ul>
110 </li>
111
112 <li>There are two optional parameters, which can be very useful:
113 <ul>
114 <li>If the path of extrusion is curvilinear, at each iteration the
115 extruded shape is rotated to keep its initial angularity to the
116 curve. By default, the <b>Base Point</b> around which the shape is rotated is
117 the mass center of the shape, however, you can specify any point as
118 the <b>Base Point</b> and the shape will be rotated with respect to this
119 point.
120 </li>
121 <li>The shape can also be rotated around the path to get the resulting
122 mesh in a helical fashion. You can set the values of angles at the
123 right, add them to the list of angles at the left by pressing the <em>"Add"</em>
124 button and remove them from the list by pressing the <em>"Remove"</em> button. 
125
126 \image html add.png
127 <center><em>"Add" button</em></center>
128
129 \image html remove.png
130 <center><em>"Remove" button</em></center>
131
132 <b>Linear variation of the angles</b> option allows defining the angle of gradual rotation for the whole path. 
133 At each step the shape will be rotated by angle/nb. of steps. 
134
135 </li>
136 </ul>
137 </li>
138
139
140 <li>Click \b Apply or <b> Apply and Close</b>  button to confirm the operation.
141 Mesh edges will be extruded into
142 faces, faces into volumes. The external surface of the resulting 3d
143 mesh (if faces have been extruded) is covered with faces, and corners
144 with edges. If the path is closed, the resulting mesh can contain
145 duplicated nodes and faces, because no sewing is done.
146 </li>
147 </ol>
148
149 <br><b>See Also</b> a sample TUI Script of an 
150 \ref tui_extrusion_along_path "Extrusion along a Path" operation.  
151
152 */