## Extrude Along Path

The "Extrude along path" technique is a very powerful modelling tool. It consists of creating a surface by sweeping a given profile along a given path.

Both the profile and the path can be a Bézier or a NURBS curve.

Let's assume you have added a Bézier curve and a Bézier circle as separate objects to your scene (see Profile (left) and path (right).).

Profile (left) and path (right).

Play a bit with both to obtain a nice 'wing-like' profile and a fancy path (Modified profile (left) and path (right).). By default, Béziers exist only on a plane, and are 2D objects. To make the path span in all three directions of space, as in the example shown above, press the 3D button in the EditButtons (F9) Curve and Surface panel (3D Curve button.).

 Modified profile (left) and path (right). 3D Curve button.
Profile name.

Now look at the name of the profile object. By default it is "CurveCircle" and it is shown on the N panel when it is selected. You can change it by ⇧ ShiftLMB on the name, if you like (Profile name.).

Specify the Profile on the path.

Now select the path. In its EditButtons locate the BevOb: Text Button in the Curve and Surface panel and write in there the name of the profile object. In our case "CurveCircle" (Specify the Profile on the path.).

Note: If you receive an error "Cannot bevel/taper own object" both your circle and curve are one object. They must be two separate objects. In the case above, select the "path" which is the Bezier curve and type in the name of the "profile object" which is the Bezier circle object.

The result is a surface defined by the Profile, sweeping along the path (Extrusion result.).

To understand the results, and hence obtain the desired effects it is important to understand the following points:

• The profile is oriented so that its z-axis is tangent (i.e. directed along) the path and that its x-axis is on the plane of the path; consequently the y-axis is orthogonal to the plane of the path;
• If the path is 3D the "plane of the path" is defined locally rather than globally and is visually rendered, in EditMode, by several short segments perpendicular to the path (Path local plane.);
• The y-axis of the profile always points upwards. This is often a source of unexpected results and problems, as we'll explain later on.
 Extrusion result. Path local plane.
 Tilting To modify the orientation of the local path plane select a control point and press T. Then move the mouse to change the orientation of the short segments smoothly in the neighborhood of the control point. LMB fixes the position, and Esc reverts to previous state.

In "Before Tilting" all control points of the extrusion/bevel are selected A before pressing T. In "After Tilting" you can see how the extruson/bevel lays similar to the profile used.

Before Tilting.

After Tilting.

With the y-axis constrained upwards, unexpected results can occur when the path is 3D and the profile being extruded comes to a point where the path is exactly vertical. Indeed if the path goes vertical and then continues to bend there is a point where the y-axis of the profile should begin to point downwards. If this occurs, since the y-axis is constrained to point upwards there is an abrupt 180° rotation of the profile, so that the y-axis points upwards again.

Extrusion problems due to y-axis constraint. shows the problem. On the left there is a path whose steepness is such that the normal to the local path plane is always upward. On the right we see a path where, at the point circled in yellow, such a normal begins to point down. The result of the extrusion presents an abrupt turn there.

Extrusion problems due to y-axis constraint.

The only solutions to this problems are: To use multiple - matching - paths, or to carefully tilt the path to ensure that a normal always points upwards.

 Changing profile orientation If the orientation of the profile along the curve is not as you expected, and you want to rotate it for the entire path length, there is a better way to do so than tilting all path control points. You can simply rotate the profile in EditMode on its plane. This way the profile will change but its local reference will not.