Routing Curve
Create a multi-point curve across one or more planes in 3D space (routed path). This is useful for creating pipe routing, wiring, and NURBS curves for advanced surfacing.


- Click the Routing curve feature
(
) on the feature toolbar to open the Routing curve dialog (first image below). The triad manipulator is visible in the graphics area and is placed on the Part Studio origin point (second image below):
The triad manipulator adjusts:
Translation across 3 axes
Rotation about 3 axes
Translation across 3 planes.
Triad manipulator origin point.
Adjusting the translation (first image below) or rotation (second image below) along one of the axes creates a solid blue line with a bar at the start. This indicates the distance or angle traveled from the start to the manipulator's origin (destination). An input box also opens where the distance or rotation can be entered numerically:
- Select the curve type:
- Interpolated spline - Creates a cubic (degree 3) interpolated spline through all points.
- Polyline -
Creates line segments between each point in the curve.
- Bend radius - Adds a global Bend radius (length) value for the bend between each segment. The default value is 0 (no bend). This value can be overwritten when editing the individual point:
Interpolated spline (left); Polyline (right)
- Select Points. This edits the routing curve points.
- Under the Inputs section, enter the required Input type and Input options:
- Vertex - Select one or more vertices or mate connectors on which to place points.
- Vertices - Select one or more vertices or mate connectors (
).
- Vertices - Select one or more vertices or mate connectors (
- Curve - Uses one or more edges on which to place points.
- Edges - Select one or more edges.
- Number of samples - An integer value for the number of points to be placed on the selected input edge.
- Overwrite points - When checked, if an edge was previously processed, selecting the edge again with a different number of samples overwrites the previously processed points on the input edge. Any sketch points on the Input edge are not overwritten.
- Process With an Input edge and Number of samples selected, press the Process button to place this number of points evenly spaced on the edge.
- CSV file
- Select a CSV file in the current document or in a linked document. This imports the CSV file as a list of points.
- Table - Click this heading to open the Select CSV file dialog.
- Select CSV file - Click this field to open the same Select CSV file dialog as with the Table header. Then select a CSV file from the Current document, or Other documents, Click the Import button at the bottom of the dialog to locate and import a CSV file:
- Data start column - If your CSV file contains multiple columns and the data does not start on Column A (Data start column 0), you can specify an integer on which you would like to start the data (the X-axis column).
- Unit - The unit of measure applied to the CSV file data. Options are Centimeter, Foot, Inch, Millimeter, Meter, or Yard.
- Overwrite points - If a CSV file was previously processed, selecting the same or new CSV file overwrites the previously processed file.
- Process - With a CSV file selected, press the Process button to place the points outlined in the file on the graphics area. An interpolated spline is created through all points (Interpolated spline) or segments are created between each point (Polyline).
- Vertex - Select one or more vertices or mate connectors on which to place points.
- Check Closed to create a closed (periodic) curve.
- Click the Curve reference field and then select a vertex or mate connector (
) to use as a global reference coordinate system for the routing curve. This defaults to the origin point.
- View and edit the currently selected Point. This area determines the reference, offset values, and local bend radius values for the current point, in addition to providing functionality to create new points and Clear all routing curve points:
Points display without a point created (left) and with a point created (right)
- CLEAR - Click to delete all points on the routing curve.
- Current point (Point 0, Point 1, etc) - Options displayed here relate to the currently selected routing curve point in the graphics area. First, select the point you wish to edit, and then set the following parameters:
- x/Delete point - Deletes the currently selected point from the routing curve.
- Reference - The current point's X/Y/Z offset values are relative to one of the following references:
- Origin - The current point is relative to the Part Studio's Origin point (default).
- Vertex - The current point is relative to a vertex or mate connector. Select a Vertex in the graphics area, or click the Select mate connector icon (
) and then click on a location in your model to create the mate connector.
- Curve - The current point is relative to one or more curves. Click the Edges field in the dialog and select one or more edges in the graphics area.
- Relative - The current point is relative to the previous routing curve point.
The first point in a curve cannot be made relative to a previous point.
- X/Y/Z offset - Displays the current position of the point, as it is offset from the origin point, point reference, or previous point (as defined by the user). If required, enter numeric offset values in each field.
- Override bend radius - Check to override the global Bend radius for the current point.
Derivative - Available only when Interpolated spline is selected, this controls the derivative (tangent direction) of the curve at the given point. Use the triad's translation and/or rotation manipulator to align the derivative. Additionally, adjust the Triad alignment from the X to the Y or Z axis, and adjust the Magnitude parameter to affect the strength (influence) of the control.
Select the Direction option to align the derivative to a direction other than the X/Y/Z axes. A Direction field opens where you can select an edge or mate connector in the graphics area.
- Add point - Select a location using the triad manipulator and click the Add point button to create a new routing curve point at this location. Alternatively, select a point on the curve and click the Add point button to duplicate the current point on the curve. If Relative is selected, the offsets of the new point are set to 0. The original point's reference, bend radius, derivative, and triad orientation are duplicated for the new point.
- Click the Reset triad button to reset the triad manipulator. This is useful if the triad manipulator has been rotated away from the initial world coordinate system, and it should be reset.
- Check Add point on axis drag to add a new point to the curve automatically when the translation axis of the manipulator is dragged. Each drag simultaneously adds a new point to, and extends, the curve.
- By default, the currently selected point's reference coordinate system (X in red, Y in green, and Z in blue) is displayed in the graphics area. This is useful to view or diagnose the point's X/Y/Z offsets. Unless otherwise set by the user, the default origin point is used as the reference. If required, an alternate reference point may be used (for example, a vertex or mate connector). Uncheck Show reference coordinate system to disable the reference coordinate system's visibility.
- Check Keep points to create points at the same location as the curve points when the outing curve is created. This is helpful if you want to use these points for additional modeling. By default, these points are hidden after the routing curve is created.
- Click the checkmark (
) to accept the routing curve.

- Click the Routing curve feature
(
) on the feature toolbar to open the Routing curve dialog (first image below). The triad manipulator is visible in the graphics area and is placed on the Part Studio origin point (second image below):
The triad manipulator adjusts:
Translation across 3 axes
Rotation about 3 axes
Translation across 3 planes.
Triad manipulator origin point.
Adjusting the translation (first image below) or rotation (second image below) along one of the axes creates a solid blue line with a bar at the start. This indicates the distance or angle traveled from the start to the manipulator's origin (destination). An input box also opens where the distance or rotation can be entered numerically:
- Select the curve type:
- Interpolated spline - Creates a cubic (degree 3) interpolated spline through all points.
- Polyline -
Creates line segments between each point in the curve.
- Bend radius - Adds a global Bend radius (length) value for the bend between each segment. The default value is 0 (no bend). This value can be overwritten when editing the individual point:
Interpolated spline (left); Polyline (right)
- Select Segments. This edits curve segments (edges). When Segments is selected, magenta lines are displayed that represent the segments. Points are placed on the midpoint of these segments. Each segment point is a manipulator, not a control point or vertex.
- Select a Segment edit type:
- Add points - Enter the Number of points to add to the segment, then click the segment point to select it (first image below). When clicked, the new points are added to the segment (second image below). A segment has only start and end points. Adding points subdivides the segment n times.
- Orthogonal path - If the segment is not orthogonal, you can select from various orthogonal options between segments on the path:
Select the Coordinate system: World, Curve, or Other. If Other is selected, the Orthogonal path coordinate system field is visible. Select a part's vertex or a Mate connector in the graphics area.
- Select the point on the non-orthogonal segment to edit it:
- The segment turns green and shows one of several orthogonal path options:
Use the Previous and Next buttons to cycle through all possible orthogonal path options:
- Click the Confirm button to select the required option:
The new path is created:
If you Confirm the segment and wish to select a different orthogonal path option, click the Undo icon (
) or press Ctrl/Cmd+z.
An orthogonal path can be created for both an interpolated spline or a polyline; however, a polyline is more typically used for pipe routing.
- Add points - Enter the Number of points to add to the segment, then click the segment point to select it (first image below). When clicked, the new points are added to the segment (second image below). A segment has only start and end points. Adding points subdivides the segment n times.
- Click the checkmark (
) to accept the routing curve.

Some examples that explain how routing curves are created and used.

To create a basic routing curve:
-
In a Part Studio, click the Routing curve icon (
) on the feature toolbar to open the Routing curve dialog.
-
Select Add point on axis drag. This creates a new point with each drag of the triad manipulator's translation arrows.
-
Drag the manipulator's translation arrows in a few directions in 3D space to create a curve with multiple points:
-
Check Closed to create a closed (periodic) curve:
-
To adjust the origin point to an existing vertex or mate connector:
-
Select the first point (by default, this is the Part Studio origin point, unless the triad manipulator was moved to a new location - see note above). The triad manipulator moves to the first point. You can also verify this by ensuring that the read-only Points area shows Point 0 (the first point):
-
Select Vertex in the Point reference field in the Routing curve dialog. Then select the vertex (in the example below, the Vertex of Sketch 1 is used):
Selecting a vertex (sketch point) for the Point reference
-
Alternatively, select an explicit mate connector to use its Z-axis as the Point reference. You can also click the Select mate connector icon (
) and then click on a location in your model to create an implicit mate connector during the routing curve creation process:
Selecting an explicit mate connector for the Point reference
-
-
Uncheck Add point on axis drag. Select any point in the curve and use the triad translation, rotation, and/or plane manipulators to adjust the point's location in 3D space:
-
Check Keep points to create points at the same location as the curve points when the routing curve is created (see example below).
-
If you make a mistake, click the Undo icon (
) to undo the last step in the routing curve creation process.
-
Click the checkmark (
) to accept the new routing curve. The curve is created (first image below), and also located in the Parts list (second image below).
Moving the rotation manipulators does not create a new point. Likewise, moving the plane or origin point manipulators does not create a new point. If no points have been created, use these manipulators to move the triad manipulator into a new position from which a curve can be initiated. After an initial point is placed, these manipulators are used to move the currently selected point to a new position.

This example shows how to create a routing curve to create a chair frame.
-
In a Part Studio, create a mate connector at the location to be used as the origin point for the top left of the chair frame.
-
Click the Routing curve icon (
) on the feature toolbar to open the Routing curve dialog.
-
Select Polyline as the curve type, and enter a Bend radius value (10 mm in the example below).
-
Click the Curve reference field and select the mate connector you previously created.
-
Enter points one at a time using the X/Y/Z offsets, and ensure that each point created has its Reference set to Relative. This ensures that the offsets are created relative to each previous point's location (assuming you have precise dimensions for the chair frame). Use the Add point button to add each point as you go.
-
(Optional) For any point, you can check the Override bend radius and enter an alternate bend radius.
-
Check Keep points.
-
When finished creating the curve for the frame, click the checkmark (
) to accept the routing curve:
-
Create a Sketch, and click the Mate connector icon (
) then create an implicit mate connector normal to the routing curve (first image below). Sketch the shape to be used for the chair frame. In the example below, concentric circles are created with a diameter of 3mm and 5mm (second image below):
-
Using the Sweep feature, select the face of the sketch for the Face region to sweep, and the routing curve as the Sweep path:
-
Using the Composite part feature, select the routing curve and chair frame created by the sweep. This creates a single chair frame part:

To create a CSV file with a list of points that create a routing curve:
-
Open a spreadsheet program, such as Microsoft Excel or Google sheets.
-
Use a 3-column format that represents the X, Y, and Z axes, respectively.
You can alter the column used in the Routing curve dialog later using the Data start column field.
In each column, enter integers that act as the offset values from the reference point (this can be the Part Studio origin, or point reference defined by the user (for example an existing vertex or mate connector):
Example of a 3-column layout used for the CSV file; A = X axis, B = Y axis, and C = Z axis
-
Save the file in a .csv format.
-
In an Onshape document, click the Insert new tab icon (
), and then select Import. Locate the CSV file on your computer and import it into the document.
-
In a Part Studio click the Routing curve icon (
) on the feature toolbar to open the Routing curve dialog.
-
Under Inputs, Select CSV file from the Input type dropdown:
-
Click the Select CSV file field to open the Select CSV file dialog. Click Import at the bottom of the dialog:
-
Locate and select the CSV file from your local drive. Then click Open:
-
Once the file is imported, click it to select it:
-
If your X-axis column starts on a column other than the first one in the CSV file (column 0), enter the correct X-axis column in the Data start column field.
-
Select the correct Unit of measurement in the Unit field. This determines what unit of measurement should be applied to the CSV point list when it is mapped to the graphics area.
-
Uncheck Overwrite points if there are pre-exisiting points in the Part Studio which you would like to preserve. Otherwise, keep this checked.
-
Click the Process button to process the CSV file. The routing curve is displayed in the graphics area.
-
Make any additional adjustments to the routing curve, as outlined in the Steps section.
-
When finished, click the checkmark (
) to accept the routing curve.

-
A routing curve cannot be driven by a variable. However, it is possible to associate the routing curve to points on existing geometry that are driven by variables. In this way, the existing geometry is the layout on which the routing curve is overlaid. To create the routing curve, select the existing geometry's vertices, mate connectors, or curves, and apply a default bend radius and offsets.

iOS and Android support for the Routing curve feature is limited to viewing and editing routing curves that are created from the desktop (browser) platform.

In addition to the surfacing tools, curves are used to create the basic building blocks of surfaces.
This lists the collection of curve feature tools. This is not an exhaustive list. Additional Feature tools may be used when manipulating curves.
- Sketch tools - Tools in the Sketch toolbar such as Line, Corner rectangle, Center point rectangle, Center point circle, 3 point circle, Tangent arc, 3 point arc, Spline, Point, and Construction used to create a sketch in a Part Studio.
-
Helix - Create a helix using a conical or cylindrical face, single axis or z-axis of a mate connector, or circular edge.
-
3D fit spline - Create a 3D fit spline through a series of vertices. Creates a curve which is listed in the Parts list under Curves.
-
Projected curve - Create a curve from the projection of two sketches (Two sketches option) or from the projection of a curve on a face (Curve to face option).
-
Bridging curve - Create a Curve connecting any two points, vertices, or Mate connectors. The resulting Curve is listed in the Feature list and the Parts list.
-
Composite curve - Represent multiple edges as one Curve. Select multiple adjacent edges, sketch entities, and other curves. Selecting non-contiguous edges may result in multiple Curves created. Selections for each Curve must meet at their vertices. (Curves are listed in the Parts > Curves list.)
-
Intersection curve - Create a curve at the intersection of two or more surfaces or faces. The selections must intersect.
-
Trim curve - Trim or extend a curve by a distance or to a bounding entity.
-
Isocline - Create an isocline on a sloped face. An isocline runs on a face at positions where the face has a certain slope compared to its reference definition. The resulting isocline is listed in the Feature list and Parts list.
-
Offset curve - Create and extend and/or split a new curve by offsetting edges on surrounding faces.
-
Isoparametric curve - Create smooth curves that run along a face or surface in the U or V direction.
-
Edit curve - Edit an existing curve by selecting sketch entities or curves to apply a simplified approximation, elevate the degree, reposition control curve vertices and/or planarize into any 2D plane.
-
Routing curve - Create a multi-point curve across one or more planes in 3D space (routed path). This is useful for creating pipe routing, wiring, and NURBS curves for advanced surfacing.