MORPHO 2.1 / COMPONENT REFERENCE

Small components.
A complete exploration toolkit.

Every active component in Morpho 2.1, with its purpose, inputs, outputs and the details that matter when you connect it.

Rhino 7 & 8macOS & WindowsUpdated October 2026

Every component, explained.

The current Morpho 2.1 palette has seven components for generation, capture, storage and visualization, plus nine filter components. Search by name or capability to find the part of the workflow you need.

16 of 16 components
01 / PROJECT ORGANIZATION

Directory

Set the folder and project name that connect generation, storage and visualization to the same study.

Inputs
Directory path; Project Name.
Outputs
Project connection for Gene Generator, Save to Population and Visualizer.
In practice
Use a new project name when changing the input parameter structure. Filters select from the connected project.
02 / GENERATION SETTINGS

Parameters

Control how new solutions vary through mutation and the spread between parent values.

Inputs
Mutation Probability and Spread Factor, each from 0 to 1.
Outputs
Encoded Parameters for Gene Generator’s Algorithm Parameters input.
In practice
Mutation introduces randomly generated genes. A zero spread keeps a child between its parents; increasing spread allows a wider search within the input bounds.
03 / EVOLUTIONARY EXPLORATION

Gene Generator

Generate an initial random population or create new parameter combinations from eligible saved parents.

Inputs
Algorithm Parameters (optional); Initiate; Fitness Filters (optional); Intervals; Iteration Limit; Directory.
Outputs
Genes; Genes with Names; Parents.
In practice
Connect number sliders directly to Intervals. Use Genes to drive geometry and Genes with Names for Data Aggregator. Parents reports the eligible solution IDs. With no fitness filter, generation is random.
04 / DATA COLLECTION

Data Aggregator

Collect a complete record of the alternative: its input parameters, measured outputs, images and textual results.

Inputs
Inputs from Genes with Names; named numerical Outputs; optional Images and Files.
Outputs
Aggregated Data for Save to Population.
In practice
Provide one number per named analysis output. Named Panels can supply textual Files. Connect Image Capture components for image records. The model and analysis tools supply the numerical results.
05 / VISUAL RECORDS

Image Capture

Associate a view or an existing image with each design alternative.

Inputs
Tag; optional File path. Choose a viewport from the component’s right-click menu.
Outputs
Image descriptor for Data Aggregator.
In practice
Use multiple tagged components for multiple views. Capture is completed after the Grasshopper solution. Viewport selection is retained when you save the definition.
06 / LOCAL STORAGE

Save to Population

Write each aggregated solution and its associated media to the project’s local population.

Inputs
Aggregated Data; Directory; Enabled.
Outputs
Saved database, regenerated CSV, and tagged image/text files; no Grasshopper output socket.
In practice
Enable after the definition is ready. The database stores the results and the CSV is refreshed after saving. The previous CSV is backed up. Turn Enabled off before making upstream changes.
07 / DESIGN REVIEW

Visualizer

Open the live project viewer to inspect alternatives and compare recorded parameters.

Inputs
Directory; Show.
Outputs
Status message.
In practice
Show=true opens or raises the viewer; false closes it. Rhino 8 on Windows with modern .NET uses the embedded viewer; other supported modes use the default browser. Keep its host window open for updates.
08 / FITNESS FILTERS

Filter

Define one numerical condition or rank the connected project by a named parameter.

Inputs
Parameter Name; Parameter Value (or a whole-number count for TopN/BottomN).
Outputs
Filter for Gene Generator or a logic component.
In practice
Right-click to choose GreaterThan, LesserThan, GreaterThanOrEqual, LesserThanOrEqual, Equal, NotEqual, TopN or BottomN. TopN selects the highest values; BottomN selects the lowest.
09 / FITNESS FILTERS

Filter ID

Select particular saved solutions as potential parents after inspecting their form and performance.

Inputs
One or more whole-number solution IDs; all input tree branches are collected.
Outputs
A parent-ID selection filter.
In practice
Enter one ID per Panel line. Multiple Filter ID outputs form a combined parent list when connected directly or pooled through AND/OR. The IDs belong to the connected project.
10 / FITNESS FILTERS

Filter Expression

Write comparisons, parent selections, rankings and logical combinations as one readable rule.

Inputs
Rule text, typically from a Panel.
Outputs
Filter; Parsed as (the fully parenthesized interpretation).
In practice
Use exact parameter names. “Parsed as” makes grouping visible. Invalid expressions report an error and stop generation rather than silently selecting different parents.
11 / FILTER LOGIC

Filter AND

Require all supplied fitness conditions to hold.

Inputs
A list of Fitness Filters.
Outputs
Combined filter.
In practice
Component-based Filter ID inputs are pooled first; the remaining conditions are applied to that pool. For typed ID comparisons, ordinary Boolean AND applies.
12 / FILTER LOGIC

Filter OR

Allow a solution when at least one supplied condition matches.

Inputs
A list of Fitness Filters.
Outputs
Combined filter.
In practice
Useful for retaining different promising regions of a design population. Separate Filter ID selections can also be pooled through this component.
13 / FILTER LOGIC

Filter NOT

Exclude solutions matching the supplied condition.

Inputs
One Fitness Filter.
Outputs
Negated filter.
In practice
For a numerical comparison, a missing value does not become a match just because the comparison is negated.
14 / FILTER LOGIC

Filter NAND

Exclude solutions that satisfy every supplied condition together.

Inputs
A list of Fitness Filters.
Outputs
Negation of the combined AND condition.
In practice
NAND means NOT (A AND B). Use it when a particular combination of otherwise acceptable attributes should be excluded.
15 / FILTER LOGIC

Filter NOR

Keep solutions that satisfy none of the supplied conditions.

Inputs
A list of Fitness Filters.
Outputs
Negation of the combined OR condition.
In practice
NOR means NOT (A OR B). It is useful for excluding several kinds of unwanted alternatives at once.
16 / FILTER LOGIC

Filter XOR

With two inputs, keep solutions that match exactly one condition.

Inputs
A list of Fitness Filters.
Outputs
Exclusive-or filter.
In practice
With more than two inputs, XOR means an odd number of conditions are true. The component warns about this distinction; it does not mean exactly one for a longer list.

The filter language

Use a Panel with Filter Expression when a selection is easier to describe in text. Parameter names refer to slider nicknames and named analysis outputs in the current project.

SyntaxMeaning
> < >= <= = !=Numerical comparisons. == and <> are accepted alternatives for equality and inequality.
ID IN (46, 73)Choose either of the listed project IDs.
AND OR NOTRequire all, allow any, or negate a condition.
NAND NOR XORNegated AND, negated OR, or an odd number of matching conditions.
TOP 20 BY WeightSelect the 20 highest recorded Weight values in the project.
BOTTOM 10 BY WeightSelect the 10 lowest recorded Weight values in the project.
( ... )Group conditions explicitly.
ID IN (46, 73)
ID = 46 OR ID = 73
ID IN (46, 73) AND Weight < 40000
Maximum displacement < 2 AND Structure mass < 40000
BOTTOM 10 BY Structure mass
NOT (Weight > 40000)

Names containing spaces can be used as shown. Put names containing punctuation or language keywords in double quotes, for example "Cost ($)" < 50000. A parameter name itself cannot contain a double quote. Use a dot for decimal values; IDs and ranking counts must be whole numbers.

NOT has the highest precedence, followed by AND, followed by the remaining binary operators. Use parentheses when combining OR, NOR, XOR and NAND. Read Parsed as to confirm the grouping before a run.

Understand the selected population

Project scope. Parent selection is applied to the project connected through Directory. An ID from another project does not identify the same alternative here.

Highest is not always best. TOP means highest numerical values; BOTTOM means lowest. Choose the direction that fits your objective—for example, lower structural mass or higher usable area.

Rank first, then combine. TOP and BOTTOM rank the current project. A combined expression intersects that ranked set with its other conditions; it does not redefine the ranking population first.

Missing values. Missing entries are excluded from ranking and do not satisfy a comparison or the negation of that comparison. Other branches of a compound rule can still determine whether a solution qualifies.

No matches and invalid rules are different. A valid rule with no matches falls back to random generation. An invalid rule stops generation. Unknown names and missing IDs produce warnings. Inspect component messages and the Parents output.

Sliders define the search space

In the current build, number sliders supply the input intervals directly. Morpho reads each slider’s nickname, minimum, maximum and decimal precision; integer sliders use whole-number steps. The genes are quantized to the configured precision.

Older source material may mention Interval or MultiInterval. Those components are not part of the active 2.1 palette. Use number sliders directly rather than searching for separate interval components or connecting a generic number list.

Keep parameter names distinct and consistent across the definition, saved results and filter expressions. Renaming a parameter changes the name that filters need to match.

Follow the connection guide ↗

Make your next move.

Bring your own Grasshopper model, define what matters, and start exploring.

Download Morpho 2.1