An extrusion is basically the extension of a geometric structure into an additional dimension. A point is expanded to a line, a line is expanded to a surface, and a surface is expanded to a 3D body. In many cases, an extrusion proceeds as follows:
- Select the origin of the extrusion, mostly done by the user via interaction.
- According to your selection, extrude the geometry by creating additional vertices and lines/faces along a certain direction with a specific depth. The normal of a selected face is usually a good default value for the direction but it can be an arbitrary vector. Even a spline or a curve can define the shape of the extrusion.
- The extruded part can consist of one or more segments (or subdivisions). The more segments, the smoother is the extrusion.
You might want to study ExtrudeGeometry to see how the second and third step are implemented. Be aware, the code contains a lot of bevel-related sections that might be irrelevant to you.