Salome HOME
Implementation of [bos #35140] [EDF] (2023-T1) Memory communication between SHAPER...
[modules/geom.git] / doc / salome / gui / GEOM / input / creating_extrusion_alongpath.doc
1 /*!
2
3 \page create_extrusion_alongpath_page Pipe Construction
4
5 To generate a \b Pipe in the <b>Main Menu</b> select <b>New Entity - > Generation  - > Extrusion along a path</b>
6
7 \n Firstly, to create an extruded \b Pipe shape, you can define the <b>Base
8 Object</b> (vertex, edge, planar wire, face or shell), which will be extruded
9 and the <b>Path Object</b> (edge or wire) along which the <b>Base 
10 Object</b> will be extruded.<br>
11 It is possible to select in GUI several Base Objects to make several pipes (using Shift button).
12 \n In this mode the default pipe generation algorithm is used. The pipe
13 is created so that the <b>angle between the normal vector</b> to
14 the base shape <b>and the tangent to the path</b> wire remains constant at any point of the
15 given path.
16 \n <b>Select unpublished edges</b> checkbox - if checked, allows to select an edge of any other shape as the path object. 
17 \n <b>Generate groups</b> checkbox - if checked allows to create groups of
18 sub-shapes. For more details on groups creation please refer to
19 \ref create_groups_page "this description".
20 \n The \b Result of the operation will be a GEOM_Object (edge, face, shell,
21 solid or compsolid).
22
23 \n <b>TUI Command:</b> <em>geompy.MakePipe(baseShape, pathShape,
24  IsGenerateGroups=False)</em>
25 \n <b>Arguments:</b> Name + 1 shape (vertex, edge, planar wire, face or
26 shell) serving as base object + 1 shape (edge or wire) for
27 definition of the path + 1 boolean parameter (IsGenerateGroups).
28 \n <b>Advanced options</b> \ref preview_anchor "Preview"
29
30 \image html pipe.png
31
32 <b>Example:</b>
33
34 \image html pipe_wire_edgesn.png "Extrusion of a wire"
35
36 \n Secondly, you can define the <b>Base
37 Object</b> (edge, planar wire or face), which will be extruded, 
38 the <b>Path Object</b> (edge or wire) along which the <b>Base 
39 Object</b> will be extruded and the <b>BiNormal Vector</b> (edge or
40 wire).
41
42 \n In contrast to the default mode, in this mode the pipe is generated
43 to preserve the constant <b>angle between the normal vector</b> to the base
44 shape <b>and the BiNormal vector</b> given as the third argument.
45 \n <b>Select unpublished edges</b> checkbox - if checked, allows to select an edge of any other shape as the path object. 
46 \n <b>Generate groups</b> checkbox - if checked allows to create groups of
47 sub-shapes. For more details on groups creation please refer to
48 \ref create_groups_page "this description".
49 \n The \b Result of the operation will be a GEOM_Object (edge, face, shell,
50 solid or compsolid).
51
52 \n <b>TUI Command:</b> <em>geompy.MakePipeBiNormalAlongVector(baseShape, pathShape, binormalShape,
53  IsGenerateGroups=False)</em>
54 \n <b>Arguments:</b> Name + 1 shape (edge, planar wire or face) 
55 serving as base object + 1 shape (edge or wire) for
56 definition of the path + 1 shape (edge or wire) to set a fixed 
57 BiNormal direction to perform the extrusion + 1 boolean parameter
58 (IsGenerateGroups).
59
60 \image html pipe2.png
61
62 <b>Example:</b>
63
64 \image html pipebinormalsn.png "Extrusion of a face with BiNormal parameter"
65
66 \n Thirdly, it is possible to additionally select profiles of the pipe object to be built. For this, you can define the following parameters:
67 - <b>Base Object</b> or a list of objects (edges, planar wires, faces or shells), which will be extruded;
68 - <b>Locations</b> - a vertex or a list of vertices that specify the locations of extruded <b>Base Objects</b> on the resulting <b>Path Object</b>. The number of Base Objects should be equal to the number of <b>Locations</b>.
69 - <b>Path Object</b> (edge or wire), along which the <b>Base Object</b> will be extruded.
70
71 Additional controls:
72 - If <b>With contact</b> is checked, the section is translated in contact with the spine.
73 - If <b>With correction</b> is checked, the section is rotated to be orthogonal to the spine
74 tangent in the corresponding point.
75 - If <b>Step-by-step generation</b> is checked, the result is created
76 step-by-step, i.e. it creates pipes between each pair of neighbor sections and
77 fuses them into a single shape.
78
79 \note If <b>Step-by-step generation</b> is checked, <b>With contact</b> and
80 <b>With correction</b> controls are disabled as corrections of bases are
81 not allowed in step-by-step mode.
82
83 <b>Generate groups</b> checkbox - if checked allows to create groups of
84 sub-shapes. For more details on groups creation please refer to
85 \ref create_groups_page "this description".
86 \n The \b Result of the operation will be a shell or a solid.
87
88 \n <b>TUI Commands:</b>
89 - <em>geompy.MakePipeWithDifferentSections(baseShape, locations, pathShape, withContact, withCorrection,
90  IsGenerateGroups=False)</em>
91 \n <b>Arguments:</b> Name + list of shapes (edges, planar wires, faces or shells) serving as base object + 
92 list of locations (vertices) on the path corresponding specified list of the shapes + 
93 1 shape (edge or wire) for definition of the path + 
94 3 Boolean parameters (withContact, withCorrection, IsGenerateGroups).
95 - <em>geompy.MakePipeWithDifferentSectionsBySteps(baseShape, locations, pathShape,
96  IsGenerateGroups=False)</em>
97 \n <b>Arguments:</b> Name + list of shapes (edges, planar wires, faces or shells) serving as base object +
98 list of locations (vertices) on the path corresponding specified list of the shapes +
99 1 shape (edge or wire) for definition of the path +
100 Boolean parameter.
101
102 \n <b>Advanced options</b> \ref preview_anchor "Preview"
103
104 \image html pipe3.png
105
106 <b>Example:</b>
107
108 \image html pipe3_init.png "Base objects and Location vertices"
109
110 \image html pipe3_res.png "Extrusion of the profile shapes along the path shape"
111
112 Our <b>TUI Scripts</b> provide you with useful examples of creation of
113 \ref tui_creation_pipe "Complex Geometric Objects".
114
115 */