In brief
- Sample Curve determines a position on a curve by distance or by Factor, the fraction of the total length.
- The node also outputs Position, Tangent, and Normal data at the sampled point.
- Spline Parameter can provide the progress ratio and distance along a spline at control points.
- On Bézier and NURBS curves, control point positions may not coincide with visible evaluated points.
What you’ll learn in this guide
In Blender Geometry Nodes, you can use a curve not just as a shape, but as a path you can read data from along its length. The Sample Curve node finds a position on the curve for a selected distance or ratio; you can also retrieve the position, tangent direction, and normal at that point. Spline Parameter outputs values that indicate how far control points have progressed from the start of the curve.
These two nodes are useful in modeling and visualization workflows that need to read position data along a route, set direction relative to a curve, or create a value that changes from the start to the end. The example below takes an existing curve as input to a Geometry Nodes network. It builds the data relationships between nodes step by step, without assuming a particular application menu path or screen layout.
Requirements
Software: Blender and Geometry Nodes.
Version note: One of the source documents is the Blender 5.2 LTS manual; the other relevant node documentation comes from the current online manual. The documents do not specify a minimum version for these nodes. Check the node names and inputs and outputs in the Blender version you use.
Input: Curve geometry that can be passed into a Geometry Nodes network. If the curve contains multiple splines, their order and total-length behavior become important.
Account or add-on: The source manuals do not mention a separate account or add-on requirement for these operations.
Step by step: Sampling data along a curve
1. Bring curve geometry into the network
Use the curve geometry you want to work with in your Geometry Nodes network. The Curves input on the Sample Curve node takes the curve component. If there are multiple splines, their order can affect the result, especially when using a single distance or ratio across all curves. The manual notes that spline order can be viewed in the Spreadsheet Editor.
2. Set the sample position with Sample Curve
Add a Sample Curve node to the network and connect the curve geometry to its Curves input. You can specify the sample position in two ways:
Factor: Specifies the fraction of the curve’s total length at which to sample. The value runs from 0 to 1, from the start to the end.
Length: Specifies the distance from the start of the curve, using the scene’s distance units.
Factor is useful when you want to preserve the start-to-end ratio even if the curve’s size changes; Length is more suitable when you want to work with a specific distance. Position, an output of Sample Curve, gives the location of the requested sample point. When a field is connected to the Value input, the node evaluates that field at the sample point and passes the result to the Value output. Linear interpolation is performed between values on evaluated points on either side of the curve.
3. Narrow the spline selection if needed
If the curve has multiple splines, use the Curve Index input to select a specific spline. This input is ignored when the All Curves option is enabled. With All Curves off, sampling can be performed on the selected spline; when the option is on, the length calculation is not limited to one selected curve and takes the total length of all curves into account.
This distinction determines where the sampling ratio starts and which total length it is based on. If you want to control curve segments separately, consider using the index; if you want to treat all splines as one continuous distance range, consider the All Curves behavior.
4. Get direction data with Tangent and Normal
The Tangent output of the Sample Curve node provides the normalized curve tangent at the sampled position, while the Normal output provides the normalized curve normal. You can use Tangent with an Align Rotation to Vector node to align a rotation with the curve’s direction. Using Normal in a second alignment node can also help orient the other rotation axis relative to the curve.
In this step, where you use the direction data matters as much as selecting the right sample point. The tangent direction can change at different positions along the curve, so applying the direction from one sample across the entire route will not produce the same result as sampling again at every position.
5. Create a value that changes from start to finish with Spline Parameter
Use the Spline Parameter node to get progress information along the curve’s control points. The node’s Factor output gives the control point’s ratio along the spline length; its Length output gives the distance from the start. You can connect these values to Set Curve Radius to vary the curve radius along the spline. The source manual shows an example where the radius is 0 at the start and 1 at the end.
The result of Spline Parameter is interpreted differently depending on the domain in which the node is evaluated. On the Point domain, the value represents each control point’s progress along its own spline. On the Spline domain, it gives the position of each spline’s start within the total curve length. Therefore, with geometry containing multiple splines, check whether Factor values represent only the local spline or the entire curve.
Common issues
Assuming control point indices are evenly spaced: The Spline Parameter Factor value is not the same as dividing a control point’s index by the total number of points. Control points may not be evenly spaced along the curve; the node generates values based on distance traveled along the spline.
Expecting Bézier or NURBS results to match visible points exactly: For these curve types, Spline Parameter returns values at control points. Control points may not coincide with visible evaluated points; this difference can be more pronounced on NURBS curves. If values need to correspond to every visible sample point, consider converting the curve to a polyline with Resample Curve. According to the source manual, this operation can create control points for evaluated points.
Confusing Factor with Length: Factor is a fraction of the total length; Length is a distance. If the curve’s size changes, the same Factor can correspond to a different actual distance. When you need a fixed distance, using Length provides more straightforward control.
Ignoring the order of multiple splines: With multiple splines, cumulative total length and spline order can change the sample position. Selecting the desired spline with Curve Index or checking the scope of the All Curves option helps avoid confusion.
Uses in architectural and visualization workflows
Position and direction data along a curve provide a basis for modeling workflows that need to evaluate an architectural route or parametric line in downstream nodes. For example, position and tangent data at specific points on a curve can be used in other geometric operations; changing the radius from start to finish lets you control how a profile changes along the curve. These are applications that make use of the data provided by the nodes, not guarantees of a particular production setup or performance improvement.
For architecture and interior design teams, key points to check include the curve’s spline structure, length units, sampling domain, and node behavior in the Blender version being used. Since these manuals do not provide hardware requirements, performance measurements, or compatibility information for specific render engines, test with the actual project geometry before using the setup in production.
Next steps
First, try the Factor and Length inputs separately on a simple curve with a single spline. Then test the same graph with geometry containing multiple splines and compare the behavior of Curve Index and All Curves. Finally, check whether control point values on a Bézier or NURBS curve match visible sample points; if necessary, try converting to a polyline with Resample Curve. This will clarify the assumptions behind the network in terms of ratio, distance, and spline scope.
Sources and license
This guide is adapted into Turkish based on Blender’s Geometry Nodes documentation for Sample Curve, Spline Parameter, and the general node index. The documents used are licensed under CC BY-SA 4.0; the content has been adapted and shared under the license terms.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture offices and visualization teams in Turkey, these nodes offer a practical way to build more controllable curve-driven data. In particular, those who want to vary a profile radius or direction data along a route can work with parameters instead of relying on a single manually adjusted value.
Still, the sources offer no measurements regarding hardware impact, performance, or render engine compatibility. Before moving on to complex project files, it’s worth testing with the actual spline structure and units in the Blender version you use. The manuals consulted are listed as CC BY-SA 4.0.
Frequently asked questions
What does the Blender Sample Curve node do?
It samples data at a position determined by the Factor ratio or Length distance from the start of the curve. It also provides Position, Tangent, and Normal outputs.
What’s the difference between Factor and Length on the Sample Curve node?
Factor specifies a fraction of the total length; Length specifies a distance along the curve.
Why might Spline Parameter produce unexpected results on Bézier curves?
On Bézier and NURBS curves, the node returns values at control points, which may not coincide with visible evaluated points. Creating a polyline with Resample Curve can help produce control points corresponding to evaluated points.



