Parametric blocks
How to use parametric blocks in Rayon.
Here is all you need to know about using and creating parametric blocks.
What is a parametric block?
Parametric blocks make blocks in Rayon adaptable.
Instead of creating multiple versions of the same object (different lengths, sizes, or repetitions), you can define a single block that adjusts automatically by editing it manually, or by editing its parameters numerically.
Interacting with a parametric block
We explain in this section where to find, and how to work with parametric blocks.
Working with existing parametric blocks
Existing parametric blocks can be found in side Rayon's libraries. Spotting them is easy as they have a gear icon, indicating their parametric nature.

Once inserted on the canvas, you will be able to work with any parametric block by interacting with its grips. Let's dive in, step by step...
Click on a
parametricblock instance on canvas to select it.The block will now display
grips, which are small handles corresponding to eachparameter.Drag a grip along the
parameteraxis to adjust the block’s geometry.As you drag, the geometry updates in real time, based on to the actions and parameters that are set up on inside the block definition. The dragging motion will be affected by other settings too: minimum and maximum of the dragging distance, incremental or continuous dragging motion, etc.
Another way to interact with a parametric block, is through the values of its parameters, located in the properties panel...
Select a
Parametricblock instance to input a numeric value directly in the right panel.Rayon immediately updates the
parameterand all linked actions.When an incremental value is defined, entering a custom value rounds automatically to the closest valid increment.
Creating a new parametric block
Parametric can also be created; this requires a slightly more in-depth understanding of how parametric blocks work. This section will offer a deeper dive into parametric blocks.
Some definitions
We need to start by laying down a useful definitions. A parametric block combines five elements that work together:
An action transforms geometry,
A parameter drives that transformation,
A parameter points mark how and where the parameter is anchored on the canvas,
A selection set decides what is impacted,
An active area defines where the transformation applies within the selection set.
Action
Defines how geometry changes when the parameter updates.
Stretch : moves parts of geometry.
Array : repeats geometry along a direction.
Parameter
Provides the numeric and directional input for the action.
A segment parameter between two points controlling distance or spacing.
Parameter Points
Define the start and end of a parameter. They anchor its axis and can be moved or snapped to geometry.
The two grips controlling a block’s stretch direction.
Selection Set
Defines which geometry is included in the transformation.
The elements that will move or repeat.
Active Area
Refines the selection set by specifying which control points or portions of geometry are affected.
In a Stretch action, entities with control points inside the area stretch proportionally.
Entities without any inside are translated entirely along the parameter axis.
So far Rayon supports, a handful of parameters and actions that we detail here.
Segment Parameter
Measures a distance between two points and provides both length and direction.
Stretch, Array
Stretch Action
Moves geometry inside a defined selection set when the parameter value changes.
Segment Parameter
Array Action
Repeats selected geometry at a defined increment along the parameter axis.
Segment Parameter
Creating your first parametric block
Let's go through a few steps to create a first block, and learn a few concepts along the way...
Enter edit in isolation mode
Create a
blockdefinition. More about blocks.Edit the block with Edit in Isolation. (Right Click > Edit in Isolation or Ctrl+Alt+E).

Create or select a parameter
After selecting an action, Rayon prompts you to choose a parameter.
Create
Parameter: pick two points to define a Linear axis.Use existing
Parameter: reuse one defined earlier in the same block by selecting it.
Once the parameter is selected or created:
For
Stretchactions, Rayon asks whichParameter Pointshould be assigned to the action — the start or the end point. This determines which side of the parameter acts as the fixed point and which side drives the transformation.For Array actions, this step is skipped — the action uses the entire parameter direction and doesn’t depend on a specific point.
The parameter appears as a purple guideline with draggable grips.
Define the selection set & active area
For Stretch actions
Stretch action uses two definitions:
Selection Set — which entities are eligible to move;
Active Area — where deformation is detected. • If selected entities have control points inside the Active Area, only those points move (deformation). • If selected entities have no control points inside the Active Area, the entire entity translates by the stretch delta. • Entities not in the selection set do not move.
For Array actions
Select the geometry to repeat.
Define the spacing or increment distance (e.g., 600 mm).
Example scenarios
As it turns out, parameters and actions can de combined in many different ways to create various types of parametric blocks; we provide you here with a few examples...
Adjustable bench
Segment Parameter + Stretch Action
Drag to make the bench longer.
Row of chairs
Segment Parameter + Array Action
Drag to add or remove chairs at fixed spacing.
Modular shelf
Segment Parameter + Array Action
Extend to automatically add shelf units.
Going deeper: parameters & actions
Let's complete our understanding of parametric blocks by getting more familiar with parameters and actions.
Segment Parameter
Parameter The segment parameter defines a linear distance and direction that actions can use to transform geometry. It’s the core driver behind Stretch or Array actions — providing both the value (length) and axis (orientation).
Each Segment Parameter has two Parameter Points : a start and an end.
They appear directly on the canvas and can be moved, snapped, or edited numerically in the right panel.
When the distance between these two points changes, every linked action updates automatically.

Parameter Entity Panel
Name
The name of the parameter (e.g., Length, Spacing, Distance). This helps identify it when linking actions.
Length
Displays the current measured distance between the two parameter points. You can also type a specific value to set it precisely.
Type
Defines how the parameter behaves. You can select between None/Incremental/List.
Minimum / Maximum
Optional constraints for the parameter value. Use these to prevent the user from stretching or arraying beyond desired limits.
Chain actions
Determines whether linked actions are triggered continuously when the parameter changes: • On : actions run in series (chained or cumulative). • Off : actions run in parallel (non-destructive).
Parameter Behaviour
The Segment
Parameterestablishes a direction (from its start to end point) and a length.When its value changes (by dragging the grip or editing numerically), all linked actions recalculate their transformation.
You can reuse the same parameter across multiple actions to synchronize behaviour (e.g., stretching and arraying in the same direction).
Constraints (minimum / maximum) are enforced visually in the canvas : the
parametergrip stops at the limit.When a list of incremental values is defined for the
parameter, any value entered outside edit mode is automatically adjusted to the closest valid increment based on that list, ensuring consistent, precise behaviour across all instances.
Parameter Example
Imagine a shelf module with a Stretch and an Array action:
You create one
strechaction with a segmentParametercalled ModuleLength.You create another and
Arrayaction linked to that same parameter.Dragging one grip increases the shelf’s total length : stretching the side panels and adding extra shelves in between automatically.
This allows complex adaptive behaviours to remain easy to control with a single distance handle.
Actions
So far, Rayon only supports stretch and array actions; let's discover both of them.
Stretch action
When you select a Stretch Action in the right panel, you can configure how the action behaves.
This panel defines what will move and how it will move when the linked parameter changes.

Stretch action panel
Name
The name of the action, automatically set to “Stretch”. You can rename it if you have multiple actions in the same block.
Area
Opens the editor to define the Active Area : the crossing zone that determines which parts of the geometry will deform when the parameter changes. Geometry with control points inside this area will stretch; geometry without any inside will move as a whole along the parameter axis.
Selection Set
Opens the editor to define the Selection Set : the geometry affected by this action. Only selected entities react to the stretch (either by deforming or moving). You can add geometry by clicking on it, or remove part of the geometry with Alt/Option.
Angular offset
Rotates the stretch direction relative to the parameter axis, allowing for angled transformations. For most cases, this stays at 0°.
Dist. mult.
Defines a distance multiplier for the stretch effect. For example, ×1 applies the parameter value as-is; higher values amplify the displacement.
Insertion
Controls whether the block’s insertion point is affected by the stretch: • Include : insertion point moves with the stretch. • Exclude : insertion point remains fixed in place.
Stretch action behaviour
The
StretchAction is linked to aParameter.The parameter’s distance and direction drive how far and in which direction the geometry moves, this can include regular geometry and other
parameters, allowing multipleparametersto move together.The Selection Set defines which objects respond to the stretch.
The Active Area defines which parts of those objects are deformed versus translated.
Stretch action example
If you create a Stretch action on a table block:
The Selection Set includes the table top and one leg.
The Active Area crosses the right side of the table.
When you drag the parameter grip, the right leg and that part of the top move, while the rest of the table stays fixed.
If the table had an object (like a decorative line) fully outside the Active Area but inside the Selection Set, it would translate as a whole rather than deform.
Array action
The Array Action creates repeated copies of selected geometry along a parameter’s direction.
It’s used to distribute identical elements (like chairs, panels, or shelves) evenly along a distance that can be adjusted on the canvas.
The number of copies depends on the parameter’s total length and the column offset value. As you drag the parameter grip, Rayon automatically recalculates how many instances fit along the axis and updates the geometry in real time.

Array action panel
Name
The name of the action, automatically set to “Array.” You can rename it to distinguish multiple array actions in the same block.
Selection Set
Opens the editor to define the Selection Set : the geometry that will be repeated along the parameter’s axis. Only the selected entities will be duplicated.
Column offset
The column offset defines the distance between each copy. It can be expressed in any supported unit (e.g., 0.6 m). The total number of copies is calculated automatically based on this offset and the current parameter length.
Array action behaviour
The
ArrayAction is linked to aParameter, which defines both the axis and the total distance available for repetition.As the parameter length increases, Rayon fills the space with copies spaced by the column offset.
The first copy is always placed at the parameter’s start point; subsequent copies extend along the axis until the parameter’s end point.
The array updates dynamically as you drag grips on the canvas or modify the parameter value in the inspector.
The array never overlaps or extrapolates past the parameter’s total distance : when the space becomes too small to fit another copy, Rayon automatically removes the extra instance.
Array action example
Imagine a row of chairs block:
You define an
ArrayAction associated to a SegmentParameteralong the row direction.You select one chair as the geometry to repeat.
You set the Column offset to
0.6 m.As you drag the parameter grip, Rayon automatically adds or removes chairs so they fill the distance evenly at 0.6 m intervals.
Array action Tips
Use logical increments for the column offset (e.g., module widths, seat spacing, tile size).
You can combine an
Arrayand aStretchon the same parameter, for example, stretch the base plane and array the elements on top of it.
Tutorial
For more step-by-step information, watch our tutorial about how to use and create blocks in Rayon:
We are always available
Book a demo with our team, right here. To get some support, reach out to us through our in-app support chat. More about our support policy right here.
Last updated
