/*!
\page create_extrusion_alongpath_page Pipe Construction
To generate a \b Pipe in the Main Menu select New Entity - > Generation - > Extrusion along a path
\n Firstly, to create an extruded \b Pipe shape, you can define the Base
Object (vertex, edge, planar wire, face or shell), which will be extruded
and the Path Object (edge or wire) along which the Base
Object will be extruded.
It is possible to select in GUI several Base Objects to make several pipes (using Shift button).
\n In this mode the default pipe generation algorithm is used. The pipe
is created so that the angle between the normal vector to
the base shape and the tangent to the path wire remains constant at any point of the
given path.
\n Select unpublished edges checkbox - if checked, allows to select an edge of any other shape as the path object.
\n The \b Result of the operation will be a GEOM_Object (edge, face, shell,
solid or compsolid).
\n TUI Command: geompy.MakePipe(baseShape, pathShape)
\n Arguments: Name + 1 shape (vertex, edge, planar wire, face or
shell) serving as base object + 1 shape (edge or wire) for
definition of the path.
\n Advanced options \ref preview_anchor "Preview"
\image html pipe.png
Example:
\image html pipe_wire_edgesn.png "Extrusion of a wire"
\n Secondly, you can define the Base
Object (edge, planar wire or face), which will be extruded,
the Path Object (edge or wire) along which the Base
Object will be extruded and the BiNormal Vector (edge or
wire).
\n In contrast to the default mode, in this mode the pipe is generated
to preserve the constant angle between the normal vector to the base
shape and the BiNormal vector given as the third argument.
\n Select unpublished edges checkbox - if checked, allows to select an edge of any other shape as the path object.
\n The \b Result of the operation will be a GEOM_Object (edge, face, shell,
solid or compsolid).
\n TUI Command: geompy.MakePipeBiNormalAlongVector(baseShape, pathShape, binormalShape)
\n Arguments: Name + 1 shape (edge, planar wire or face)
serving as base object + 1 shape (edge or wire) for
definition of the path + 1 shape (edge or wire) to set a fixed
BiNormal direction to perform the extrusion.
\image html pipe2.png
Example:
\image html pipebinormalsn.png "Extrusion of a face with BiNormal parameter"
\n Thirdly, it is possible to additionally select profiles of the pipe object to be built. For this, you can define the following parameters:
- Base Object or a list of objects (edges, planar wires, faces or shells), which will be extruded;
- Locations - a vertex or a list of vertices that specify the locations of extruded Base Objects on the resulting Path Object. The number of Base Objects should be equal to the number of Locations.
- Path Object (edge or wire), along which the Base Object will be extruded.
Additional controls:
- If With contact is checked, the section is translated in contact with the spine.
- If With correction is checked, the section is rotated to be orthogonal to the spine
tangent in the corresponding point.
\n The \b Result of the operation will be a shell or a solid.
\n TUI Command: geompy.MakePipeWithDifferentSections(baseShape, locations, pathShape, withContact, withCorrection)
\n Arguments: Name + list of shapes (edges, planar wires, faces or shells) serving as base object +
list of locations (vertices) on the path corresponding specified list of the shapes +
1 shape (edge or wire) for definition of the path +
2 Boolean parameters (withContact, withCorrection).
\n Advanced options \ref preview_anchor "Preview"
\image html pipe3.png
Example:
\image html pipe3_init.png "Base objects and Location vertices"
\image html pipe3_res.png "Extrusion of the profile shapes along the path shape"
Our TUI Scripts provide you with useful examples of creation of
\ref tui_creation_pipe "Complex Geometric Objects".
*/