In brief
- Flow realigns objects or groups from a base curve to a target curve.
- FlowAlongSrf maps objects from a source surface to a target surface.
- Balanced parameterization of the base and target surfaces in FlowAlongSrf helps reduce stretching.
- The Rigid option determines whether objects deform as they are moved to the target.
In Rhino 8, the Flow and FlowAlongSrf commands are used to map an object or group of objects from an existing reference to other geometry. Flow matches a base curve to a target curve; FlowAlongSrf maps objects on a base surface to a target surface. In both commands, the location of selection points and the deformation options affect the result. McNeel’s Rhino 8 documentation explains how these commands work and describes their options separately.
Which command should you use?
Flow can be used when a shape needs to be created along a straight line and then placed along a curved path. The command realigns an object or group of objects from a base curve to a target curve. For example, mapping an element drawn in a straight layout to a curved path may be easier than modeling it from scratch around a complex curve.
FlowAlongSrf maps objects from a source surface to a target surface and can deform them to match the surface shape. This makes it suitable for geometry that needs to conform to a surface. Although both commands map geometry to a new reference, one works with curves and the other with surfaces. When choosing a command, determine whether the target shape is a curve or a surface.
Mapping objects to a curve with Flow
Select the objects or groups to map. Before running the command, identify which ends of the base curve and target curve correspond so they can be matched correctly.
Run Flow from
Transform › Flow along Curve. Select the base curve near one end, then select the corresponding end of the target curve. Matching the starting points affects how the object is positioned along the curve.If the target curve directs objects to the wrong side or in an unexpected direction, consider the
TargetSurfaceoption, which uses a target surface. With this option, the objects’ “up” direction is matched to the target surface normal. If the direction appears reversed, you can change the target surface normal direction with the Flip or Dir commands, as described in the documentation.Use the
Rigidoption if you do not want objects to change shape to match the target curve.RigidGroupsdetermines whether objects are moved rigidly as groups or individually; this option is available only whenRigid=Yes.Check the
Stretchoption to control stretching or compression along the curve. To define a limited area of influence around the curve, useLocalto set an influence tube: objects inside the tube flow, while those outside remain fixed; the effect diminishes within the boundary.
Flow also provides the Roadlike option for calculating rotation along 3D target curves. With this method, you select a starting point and direction for the axis on both the base and target curves. Pressing Enter while choosing a direction, or using the Automatic option, uses the view’s CPlane-Z axis. Use the Copy option to create a copy at the target.
Mapping objects to a surface with FlowAlongSrf
Select the objects to map and start FlowAlongSrf from
Transform › Flow along Surface.Select an edge near a corner of the base surface, then the corresponding edge near a corner of the target surface. If the selected locations do not correspond, the geometry may map to an unexpected side of the target.
Check the parameterization of the base and target surfaces. According to the documentation, uneven parameterization can cause stretching in the objects. Balanced parameterization of the target surface helps prevent noticeable distortion.
If you want to move the object along the target surface while preserving its shape, set
Rigid=Yes.Rigid=Noallows deformation as well as movement.RigidGroups, which controls group behavior, is available only when rigid movement is enabled.Consider setting
AutoAdjust=Yesif you do not want to use the surfaces’ UV directions. In this case, the selected corner and edge determine the start and U directions; the other direction becomes V. WithAutoAdjust=No, the base and target surfaces’ UV directions are used, and the selection points do not need to match exactly.Use the
PreserveStructureoption if the control-point structure of a curve or surface needs to be maintained after deformation. This can reduce deformation accuracy if there are too few control points. If preserving the structure is not required, the command can refit the object for more accurate deformation. This option does not apply to polysurface selections.
| Setting | Recommended value | Effect |
|---|---|---|
| Flow: Rigid | Yes or No | Yes moves objects without deforming them; No allows deformation. |
| Flow: Stretch | On or off, as needed | Controls stretching or compression along the curve to maintain the objects’ relationship to the target curve. |
| FlowAlongSrf: AutoAdjust | Yes or No | Yes determines orientation based on the selection location; No uses the surfaces’ UV directions. |
| FlowAlongSrf: PreserveStructure | Yes or No | Preserves the control-point structure or allows the object to be refitted for more accurate deformation. |
Using these commands in architectural and visualization workflows
In architectural modeling, Flow can be used to create an element along a straight path and adapt it to a curved route, while FlowAlongSrf can map a group of objects to a shaped surface. Rather than rebuilding geometry around the target shape from scratch, these methods let you rearrange an existing form to fit a different reference. The result depends on the selected base-to-target matches and deformation options.
When using FlowAlongSrf in particular, checking the target surface’s parameterization is important for reducing the risk of visible stretching. If you only need to change position rather than deform the object, review the Rigid option. The sources do not provide information about hardware requirements, licensing conditions, or the commands’ performance impact, so no specific requirements can be inferred on those points.
Common mistakes
Failing to select corresponding ends on the base and target curves can result in an unexpected placement direction.
Selecting edges in different areas instead of near corresponding corners in FlowAlongSrf can map the object to the wrong side of the target surface.
Ignoring balanced surface parameterization can cause objects to stretch.
Failing to check the Rigid option when deformation is not wanted can change the object’s shape.
Overlooking that PreserveStructure does not apply to polysurfaces, and that the number of control points can affect deformation accuracy.
Sources
2 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
These two commands are practical tools that can reduce the need to remodel elements that must be adapted to curved paths or shaped surfaces in architectural models. Matching repeated objects to the correct base and target can simplify a workflow, but the result should not automatically be assumed to be flawless. Surface parameterization and selection points directly affect the shape.
For offices and visualization teams in Turkey, the most important step is to test the commands on a small sample geometry and verify the behavior of Rigid and deformation. The documentation does not specify hardware requirements, licensing, or performance benefits, so no assumptions should be made about them. In particular, check for stretching and for objects mapping to the wrong side of the target surface before delivery.
Frequently asked questions
What does the Rhino Flow command do?
Flow realigns an object or group of objects from a base curve to a target curve. The Rigid option determines whether objects deform as they are moved.
How can you prevent stretching when mapping to a surface with Rhino FlowAlongSrf?
McNeel’s documentation recommends balanced parameterization of the base and target surfaces. Uneven parameterization can cause objects to stretch.
What does AutoAdjust do in FlowAlongSrf?
AutoAdjust=Yes ignores UV directions and determines orientation based on the selection location. The No option uses the UV directions of the base and target surfaces.



