Site Tools

A Brief Overview of Components

Explicit History Plug-in Wiki Pages
//Robert McNeel & Associates

Summary: Explicit History components overview


The Explicit History plug-in comes with a large (and growing) list of available components and parameters. Also, it's possible for users to make their own components as plug-ins to this plug-in. Knowing your components in Explicit History is as important as knowing your commands in Rhino. This Wiki page is a brief overview of the components and parameters that ship with the plug-in (i.e. the ones made by Robert McNeel & Associates). This is not an in-depth discussion though. A complete reference is not yet available.


The parameters define the possible data-types that can be used to tranfer data between components. There is a limited set of these available and they can be compared to variable types. All parameters support local data, meaning that the data originated from within the Explicit History plug-in. Some parameters (such as Curve and Surface) also support referenced data, meaning it points to existing Rhino objects. Once a piece of geometry is referenced, any changes to that object will result in a recomputation of the History Solution.

Icon Data Description
Generic Any data type, including types that have no matching parameter defined
Geometry Any geometric data type, both referenced objects and local objects.
Boolean Boolean values (True / False)
Integer Integer (whole) numbers
Double Floating point (decimal) numbers
String Text
Point Any 3D point, either as an {xyz} coordinate or as a point object reference.
Vector Any 3D vector
Plane Any 3D plane
Line Simple line segment, does not support referenced line curves
Circle Simple circle curve, does not support referenced circular curves
Curve Any Rhino curve, either referenced or local
Surface Any Rhino (trimmed) surface, either referenced or local
B-Rep Any Rhino (poly)surface, either referenced or local
Box Any 3D box primitive, either as a referenced boundingbox or local
Interval A numeric interval between two values
2D Interval Two numeric intervals (for u-v space)


The parameters and components are all grouped in categories. The following is a per-category listing of available components:

Logic Category

Boolean components such as AND, NOT and OR gates:

Array components that allow retrievals and modifications of lists of data inside parameters. Typical operations include shifting, indexing and culling:

Interval components that allow for creation and analysis of 1D and 2D intervals:

Scalar Category

Mathematical components that wrap many useful functions such as Addition, Multiplication, Sine and Logarithm:

Mathematical components that generate arrays of numbers such as Range and Random:

Mathematical components that allow for custom defined (scriptable) functions:

Vector Category

The vector category is mostly concerned with Point and Vector math, but also with basic operations in 3D space. This is an extensive category that features many important components.

Point and Vector mathematics components:

Plane components:

Complex Point, Vector and Plane components:

Curve Category

Components for creating curves:

Components for analyzing curves:

Surface Category

Components for creating (poly)surfaces:

Components for analyzing surfaces:

Transform Category

Components for transforming any kind of geometry:

labs/explicithistory/componentsoverview.txt · Last modified: 2020/08/14 (external edit)