Molding

Node reference

The + menu on the Generators tab is organised into groups. Click +, pick a group, then pick a node type to add it to the Generators list. Click any node row to expand its argument fields.

GroupNodesWhat they produce
Segmentline, arc, ellipseArc, splineOpen curves β€” used in loop.segments or as a form path
Shaperectangle, circle, ellipse, polygon, slot, loopClosed profiles β€” used in form profile fields
Formextrusion, blend, revolution, sweep, sweptBlend, opening3D solids and voids
CurvemodelCurve, symbolicCurveVisible lines (not solids)
ArraylinearArray, radialArrayCopies of a node in a line or circle
Transformmove, rotate, scale, mirror, copyRepositioned or duplicated geometry
DatumreferencePlaneAn explicit named reference plane
MaterialmaterialA Revit material with colour and transparency
TextmodelText3D extruded text
AnnotationtextNote, filledRegion, detailCurve, control, image2D view-only elements
MEPconnectorAn MEP connector on a form
AdaptiveadaptivePoint, adaptiveLoftForm, curveByPointsAdaptive component points and lofts
FamilynestedFamilyA nested .rfa instance

Segments β€” open curves

Segment nodes produce open curves. Use them in two ways:

  • As segments inside a loop node to build a freeform closed profile.
  • As the path of a sweep or sweptBlend form.

line

A straight line between two points.

FieldUnitDescription
startPoint2D (mm)Start point [U, V]
endPoint2D (mm)End point [U, V]

arc (3-point)

A circular arc that passes through three points: start β†’ mid β†’ end.

FieldUnitDescription
startPoint2D (mm)First endpoint
midPoint2D (mm)A point on the arc (anywhere between start and end)
endPoint2D (mm)Second endpoint

ellipseArc

A partial ellipse defined by a centre, two semi-axes, and a start/end angle.

FieldUnitDescription
centerPoint2D (mm)Centre of the ellipse
radiusXCoord (mm)Semi-axis along U
radiusYCoord (mm)Semi-axis along V
startAngleCoord (rad)Start angle
endAngleCoord (rad)End angle

spline

A smooth interpolated curve through an ordered list of points.

FieldUnitDescription
pointsPoint2D[] (mm)Two or more points the spline passes through

Use the + point and Γ— buttons in the expanded row to add and remove points.


Shapes β€” closed profiles

Shape nodes produce closed loops. They are the most common input to form profile fields.

rectangle

FieldUnitDescription
widthCoord (mm)Total width
heightCoord (mm)Total height
centerPoint2D (mm)Centre position; default [0, 0]
cornerRadiusCoord (mm)Rounds all four corners; default 0; must be < min(width/2, height/2) or ignored

circle

FieldUnitDescription
radiusCoord (mm)Radius
centerPoint2D (mm)Centre position; default [0, 0]

ellipse

FieldUnitDescription
radiusXCoord (mm)Semi-axis along U
radiusYCoord (mm)Semi-axis along V
centerPoint2D (mm)Centre position; default [0, 0]

Limitation: Revit cannot dimension an ellipse's radii, so an ellipse profile does not flex when its radii reference a parameter. Use rectangle, circle, or loop when you need a flexible profile size.

polygon

A regular polygon with equal sides. radius is the circumradius (centre to vertex).

FieldUnitDescription
sidesCoord (integer)Side count: 3 = triangle, 4 = square, 6 = hexagon…
radiusCoord (mm)Circumradius
centerPoint2D (mm)Centre position; default [0, 0]

slot

A stadium β€” two parallel lines capped with semicircles (also called a pill or obround).

FieldUnitDescription
lengthCoord (mm)Total outer length (edge to edge); straight section = length βˆ’ 2Γ—radius
radiusCoord (mm)Radius of the semicircular ends
centerPoint2D (mm)Centre position; default [0, 0]

loop

A freeform closed profile assembled from ordered segment nodes.

FieldUnitDescription
segmentssegment key[]Ordered list of line / arc / ellipseArc / spline keys

The last point of each segment must connect to the first point of the next, forming a closed chain.


Forms β€” 3D solids and voids

Forms build 3D geometry from profiles. Every form accepts these common settings:

  • Solid / Void (isSolid) β€” switch in the node row; a void cuts overlapping solids.
  • Material β€” pick a material node from the graph. Material nodes are processed in a pre-pass and can appear anywhere in the list.
  • Subcategory β€” assigns the form to a Revit subcategory (for graphics overrides). In JSON: "meta": { "subcategory": "Panel" }.
  • Visibility β€” per-detail-level on/off: Coarse / Medium / Fine. In JSON: "meta": { "visibility": { "coarse": false, "medium": true, "fine": true } }.

For a full walkthrough of each form type, see Form types.

extrusion

Sweeps a profile along the Z axis.

FieldUnitDescription
profileshape key[]Closed profiles: first = outer boundary, additional = holes (any closed shape: loop/rectangle/circle/ellipse/polygon/slot)
depthCoord (mm)Extrusion depth
startOffsetCoord (mm)Offset from the sketch plane; default 0
isSolidbooltrue (solid) or false (void); default true

blend

Lofts between a bottom profile and a top profile.

FieldUnitDescription
bottomProfileshape key[]Array of shape keys β€” only the first is used (no holes for blend)
topProfileshape key[]Array of shape keys β€” only the first is used (no holes for blend)
depthCoord (mm)Distance from bottom to top
bottomOffsetCoord (mm)Offset of the bottom from the sketch plane; default 0
isSolidbooldefault true

revolution

Spins a profile around an axis.

FieldUnitDescription
profileshape key[]Cross-section to spin (must be on one side of the axis); any closed shape (loop/rectangle/circle/…)
axisStartPoint2D (mm)Start of the revolution axis
axisEndPoint2D (mm)End of the revolution axis
startAngleCoord (rad)Start angle; default 0
endAngleCoord (rad)End angle; default 2Ο€
isSolidbooldefault true

sweep

Pushes a constant profile along a path.

FieldUnitDescription
pathsegment/loop keyA segment or loop node used as the path (all segments of a loop are used in order)
profileshape key[]Cross-section to push (any closed shape)
isSolidbooldefault true

sweptBlend

Follows a path and morphs between two profiles.

FieldUnitDescription
pathsegment/loop keySingle path curve β€” a segment node or a loop (only first segment of the loop is used)
bottomProfileshape key[]Profiles at the path start (any closed shape; multi-loop: outer + holes)
topProfileshape key[]Profiles at the path end (any closed shape; multi-loop: outer + holes)
isSolidbooldefault true

opening

Cuts a hole through a specific host form.

FieldUnitDescription
hostform keyThe solid form to cut through
profileshape key[]Shape of the opening β€” only the first shape in the list is used

Limitation: opening accepts a single outer loop. For perforated cuts (holes with holes), use a void extrusion with isSolid: false instead.


Curves β€” visible line elements

Curve nodes produce visible lines in the Revit family, not geometry. They use the same segment nodes as profiles.

modelCurve

A 3D model line visible in all views.

FieldUnitDescription
curvesegment keyA single open-curve segment: line, arc, ellipseArc, or spline (loops and closed shapes are not supported)

Assign a Line Style (in the node settings panel) to control appearance. In JSON: "meta": { "lineStyle": "<style name>" }.

symbolicCurve

A 2D symbolic line visible only in plan and section views.

FieldUnitDescription
curvesegment keyA single open-curve segment: line, arc, ellipseArc, or spline (loops and closed shapes are not supported)

Line style in JSON: "meta": { "lineStyle": "<style name>" }.


Arrays

Array nodes repeat a source node. Count and spacing are baked at generation β€” they cannot flex when a parameter changes in Revit. For a flexible count, model repeats explicitly.

linearArray

Copies a node in a straight line.

FieldUnitDescription
sourcenode keyNode to repeat
countCoord (integer)Total copies including the original
offsetPoint2D (mm)Per-copy offset [U, V]

radialArray

Copies a node in a circle.

FieldUnitDescription
sourcenode keyNode to repeat
countCoord (integer)Number of copies
centerPoint2D (mm)Centre of the circle
totalAngleCoord (rad)Total sweep angle (2Ο€ = full circle)

Arrays and transforms β€” ordering requirement

Arrays and transforms operate on already-created Revit geometry. Their source node must appear earlier in the nodes array β€” if the source hasn't been created yet when the array or transform is processed, it is silently skipped. The validator does not catch this; it is a runtime ordering constraint.

Exceptions (no ordering required): material and adaptivePoint nodes are processed in separate pre-passes before all other geometry, so they can appear anywhere in the list.

Shapes and curves (rectangle, circle, loop, arc, etc.) referenced by forms can also appear in any order β€” forms resolve them by key from the JSON dictionary before creating geometry.

Convention: declare shapes/forms first, then arrays and transforms that reference them.

Transforms

Transform nodes reposition geometry. Behaviour differs by type:

  • copy and mirror β€” the source is preserved and an additional copy is produced.
  • move, rotate, and scale β€” the source is replaced in place (Revit moves/rotates/scales the element; no duplicate is created).

mirror

FieldUnitDescription
sourcenode keyNode to mirror
axisx or yMirror about the model X axis or Y axis

move

FieldUnitDescription
sourcenode keyNode to move
offsetPoint3D (mm)Translation [X, Y, Z]

rotate

FieldUnitDescription
sourcenode keyNode to rotate
axisx, y, or zRotation axis through the model origin
angleCoord (rad)Rotation angle

copy

FieldUnitDescription
sourcenode keyNode to copy
offsetPoint3D (mm)Translation [X, Y, Z]

scale

FieldUnitDescription
sourcenode keyNode to scale
factorCoordScale factor (1 = unchanged)
originPoint3D (mm)Scale origin; default [0, 0, 0]

Datum

referencePlane

An explicit named reference plane. Molding auto-generates reference planes for every parametric coordinate β€” only add one manually when it must be visible and named in the Family Editor.

FieldUnitDescription
namestringVisible name in the Family Editor
axisx or yThe plane is perpendicular to this axis
offsetCoord (mm)Distance from the origin along the axis

Material

material

Declares a Revit material. Material nodes are processed in a separate pre-pass before all form geometry, so their position in the nodes list does not matter β€” they can appear before or after the forms that reference them.

To apply: in the form row, open the node settings and pick the material from the Material dropdown. In JSON, use the applyMaterial modifier on the form node.

FieldUnitDescription
namestringRevit material name (must match a material in the Revit project)
color[R, G, B]Preview colour, RGB 0–255
transparencynumberTransparency 0–100

Text

modelText

3D extruded text. Has no 3D viewport preview β€” it appears only in the generated .rfa.

FieldUnitDescription
textstringText content
positionPoint2D (mm)Placement point
depthCoord (mm)Extrusion depth of the letters

Set Label (meta.label) to give the element a readable name in Revit's element tree.


Annotations β€” 2D, view-only

Annotation nodes create view-specific 2D elements. They appear only in plan/section views inside Revit and have no 3D viewport preview.

textNote

FieldUnitDescription
textstringText content
positionPoint2D (mm)Placement point

filledRegion

A filled hatch region.

FieldUnitDescription
profileshape key[]Outer boundary and optional holes β€” any closed shape key (loop, rectangle, circle, ellipse, polygon, slot)

detailCurve

A 2D detail line.

FieldUnitDescription
curvesegment keyA single open-curve segment: line, arc, ellipseArc, or spline (loops and closed shapes are not supported)

Assign a Line Style in the node settings panel to control appearance. In JSON: "meta": { "lineStyle": "<style name>" }.

control

Flip/rotate arrows added to the family for use in the project.

FieldUnitDescription
shapestringhorizontal, vertical, doubleHorizontal, or doubleVertical
positionPoint2D (mm)Placement point

image

A raster image placed in the first 2D view.

FieldUnitDescription
pathfile pathAbsolute path to the image file (.png / .jpg) on the Revit machine
positionPoint2D (mm)Placement point

MEP

connector

An MEP connector attached to a form face. The family must be in an MEP category (Electrical Fixtures, Mechanical Equipment, Plumbing Fixtures…).

FieldUnitDescription
kindstringelectrical, pipe, duct, conduit, or cableTray
hostform keyThe solid form the connector attaches to

The connector is placed on the first planar face of the host form.


Adaptive

Adaptive nodes require an adaptive family template (e.g. metric-generic-model-adaptive). They make the family snap to points the user clicks when placing it in a Revit model.

adaptivePoint

A placement click point. Points are activated in the order they appear in the Generators list (first node = first click).

FieldUnitDescription
positionPoint3D (mm)Default position [X, Y, Z]

adaptiveLoftForm

A lofted solid or surface through profiles of adaptive points.

FieldUnitDescription
profiles[[keys]…]Outer array = profile sequence; inner = ordered adaptive point keys per cross-section
isSolidbooldefault true

One profile β†’ a cap surface. Two or more profiles β†’ a loft.

curveByPoints

A reference curve through adaptive points.

FieldUnitDescription
pointsadaptivePoint key[]Ordered list (minimum 2)

Family

nestedFamily

Places a nested .rfa instance inside this family.

FieldUnitDescription
pathfile pathAbsolute path to the .rfa file on the Revit machine
positionPoint2D (mm)Placement point [U, V]
symbolstringFamily type to place; default = first type
rotationCoord (rad)Rotation about Z at the placement point
parameterLinksmap{ nestedParam: hostParamKey } β€” drives nested instance parameters from this family's parameters

To wire nested parameters, use the Parameter Links editor that appears in the expanded node row.

πŸ“– 12 min read