Jitterbug Revit Family

Complete Step-by-Step Construction Guide

← Back to Jitterbug Academy
Before You Begin

If you're new to Revit families, start with Revit Fundamentals to understand Categories, Families, Types, Instances, and Parameters.

ALL 24 EDGES = 6" — CONSTANT, NEVER CHANGES
This is a KINEMATIC MECHANISM with rigid bars

Why Adaptive Component?

The Jitterbug is a kinematic mechanism — vertices must MOVE while edges stay constant length. Adaptive Points can be repositioned (by Dynamo or manually), unlike Reference Points which only scale. This is essential for transformation.

Part 1: Family Setup

1.1 Create New Family

1

Open Revit and create new family

File → New → Family

2

Select template

Choose: Metric Generic Model Adaptive.rft

Location: Family Templates → English (or your language) → Conceptual Mass

This template provides Adaptive Points that can be repositioned — essential for kinematic mechanisms.

3

Set units

Manage → Project Units

  • Length: Centimetres (or your preference)
  • Precision: 0.01

Use whatever units you normally work in — the geometry is the same.

1.2 Create Family Parameters

Parameters Explained

We're creating Family Parameters (not Shared) of type Type (not Instance). This means: all Jitterbugs of the same size share these values. See Revit Fundamentals for details.

4

Open Family Types dialog

Use any of these methods:

  • Keyboard: Press F then T (two separate keystrokes)
  • Ribbon (2020+): Modify tab → Properties panel → Family Types
  • Ribbon (older): Create tab → Properties panel → Family Types
  • Right-click: Right-click canvas → Family Types...
5

Add EdgeLength parameter

Click Add... under the Parameters section

SettingValue
Parameter TypeFamily parameter
NameEdgeLength
DisciplineCommon
Type of ParameterLength
Group parameter underDimensions
Type or InstanceType ← Important!

Click OK, then set default value: 15.24 cm (or 152.4 mm)

6

Add ScaleFactor parameter

Click Add... again

SettingValue
Parameter TypeFamily parameter
NameScaleFactor
DisciplineCommon
Type of ParameterLength
Group parameter underDimensions
Type or InstanceType

After creating, add a formula:

Select ScaleFactor row → in the Formula column, enter:
EdgeLength / 1.4142135623731

Why Type Parameters?

EdgeLength defines the variant — a "15cm Jitterbug" vs "30cm Jitterbug". All instances of the 15cm type share that edge length. If you wanted each placed Jitterbug to have a different size, you'd use Instance — but that's unusual for dimensional properties.

Part 2: Reference Planes

We need a 3D grid of reference planes to position our 12 vertices precisely.

2.1 Plan View Reference Planes

1

Go to Floor Plan

Floor Plans → Level 1

2

Create X-axis reference planes

Create → Reference Plane

  • Draw vertical plane at X = +ScaleFactor → Name: Ref_X_Pos
  • Draw vertical plane at X = -ScaleFactor → Name: Ref_X_Neg

Dimension from center and label with ScaleFactor parameter.

3

Create Y-axis reference planes

  • Draw horizontal plane at Y = +ScaleFactor → Name: Ref_Y_Pos
  • Draw horizontal plane at Y = -ScaleFactor → Name: Ref_Y_Neg

2.2 Elevation Reference Planes

4

Go to Front Elevation

Elevations → Front

5

Create Z-axis reference planes

  • Draw plane at Z = +ScaleFactor → Name: Ref_Z_Pos
  • Draw plane at Z = -ScaleFactor → Name: Ref_Z_Neg

Dimension from Level 1 and label with ScaleFactor.

Result

You now have a 3D grid of 6 reference planes forming a cube of side 2×ScaleFactor centered at the origin.

Part 3: The 12 Vertices

3.1 Vertex Coordinates

Where a = ScaleFactor = 10.78 cm for 15.24 cm edges:

V0
(+a, +a, 0)
V1
(+a, -a, 0)
V2
(-a, +a, 0)
V3
(-a, -a, 0)
V4
(+a, 0, +a)
V5
(+a, 0, -a)
V6
(-a, 0, +a)
V7
(-a, 0, -a)
V8
(0, +a, +a)
V9
(0, +a, -a)
V10
(0, -a, +a)
V11
(0, -a, -a)

3.2 Place XY Plane Vertices (V0-V3)

1

Go to Level 1 plan view

This is the Z = 0 plane where V0, V1, V2, V3 lie.

2

Place Adaptive Point for V0

Create → Point Element → Point

Click at intersection of Ref_X_Pos and Ref_Y_Pos

Select point → Properties → Name: V0

Important: Select the point, then in Properties check "Make Adaptive" to convert it to an Adaptive Point.

3

Place V1, V2, V3

  • V1 at Ref_X_Pos ∩ Ref_Y_Neg
  • V2 at Ref_X_Neg ∩ Ref_Y_Pos
  • V3 at Ref_X_Neg ∩ Ref_Y_Neg

3.3 Place XZ Plane Vertices (V4-V7)

4

Go to Front Elevation

This shows the Y = 0 plane where V4, V5, V6, V7 lie.

5

Place V4, V5, V6, V7

  • V4 at Ref_X_Pos ∩ Ref_Z_Pos
  • V5 at Ref_X_Pos ∩ Ref_Z_Neg
  • V6 at Ref_X_Neg ∩ Ref_Z_Pos
  • V7 at Ref_X_Neg ∩ Ref_Z_Neg

3.4 Place YZ Plane Vertices (V8-V11)

6

Go to Right Elevation

This shows the X = 0 plane where V8, V9, V10, V11 lie.

7

Place V8, V9, V10, V11

  • V8 at Ref_Y_Pos ∩ Ref_Z_Pos
  • V9 at Ref_Y_Pos ∩ Ref_Z_Neg
  • V10 at Ref_Y_Neg ∩ Ref_Z_Pos
  • V11 at Ref_Y_Neg ∩ Ref_Z_Neg
Verification

Go to 3D View. You should see 12 points arranged as a cuboctahedron.

Part 4: The 24 Edges

4.1 Edge Connectivity

TriangleEdges (Vertex Pairs)
T0 (+++)V0-V4, V4-V8, V8-V0
T1 (++-)V0-V9, V9-V5, V5-V0
T2 (-++)V2-V8, V8-V6, V6-V2
T3 (-+-)V2-V7, V7-V9, V9-V2
T4 (+-+)V1-V10, V10-V4, V4-V1
T5 (+--)V1-V5, V5-V11, V11-V1
T6 (--+)V3-V6, V6-V10, V10-V3
T7 (---)V3-V11, V11-V7, V7-V3

4.2 Create Model Lines

1

Go to 3D View

3D View → {3D}

2

Create first edge

Create → Model → Model Line

Draw line from V0 to V4 (snap to reference points)

3

Complete Triangle T0

Draw: V4-V8, then V8-V0

You've completed the first triangular face!

4

Continue systematically

Work through each triangle using the table above.

Total: 24 unique edges (some edges are shared between triangles and rhombi).

Tip

Use Tab key while hovering to cycle through snap options. Ensure you're snapping to the Reference Point itself, not the plane.

Part 5: The 14 Faces (Optional)

5.1 Triangular Faces (STRUCTURAL)

FaceVerticesColour
T0V0, V4, V8 Blue (25% opacity)
T1V0, V9, V5
T2V2, V8, V6
T3V2, V7, V9
T4V1, V10, V4
T5V1, V5, V11
T6V3, V6, V10
T7V3, V11, V7
1

Create triangular surface

Create → Forms → Create Form

Select three points (e.g., V0, V4, V8)

Revit creates a surface through these points.

5.2 Rhombus Faces (MOBILE)

FaceVertices (in order)Axis
R0V0, V4, V1, V5+X
R1V2, V7, V3, V6-X
R2V0, V9, V2, V8+Y
R3V1, V10, V3, V11-Y
R4V4, V8, V6, V10+Z
R5V5, V11, V7, V9-Z
2

Create rhombus surface

Create → Forms → Create Form

Select four points in order (e.g., V0, V4, V1, V5)

Part 6: Verification

Verification Checklist

Test Parameter

1

Open Family Types

Press F then T

Change EdgeLength to 30 cm

Click Apply — model should double in size.

Verify edges now measure 30 cm. Change back when done.

Part 7: Materials & Visibility

7.1 Colour Coding

Vertices — Yellow #FFCC00 (100% solid)
Triangle edges — Teal #00DDAA (50% opacity)
Rhombus edges — Orange #FF7744 (50% opacity)
Triangle faces — Blue #0088FF (25% opacity)
Rhombus faces — Orange #FF8800 (25% opacity)

7.2 Create Subcategories

Manage → Object Styles → Under Mass, create:

Assign geometry to appropriate subcategories for visibility control.

Part 8: Save & Load

1

Save the family

File → Save As → Family

Name: Jitterbug_Adaptive.rfa

The "_Adaptive" suffix indicates this family can be driven by Dynamo.

2

Load into project

Open a Revit project

Insert → Load Family → Select Jitterbug_Adaptive.rfa

3

Place in model

Architecture → Component → Place a Component

When placing, you'll click 12 times to position each Adaptive Point.

For default VE state, use coordinates from the CSV file.

Transformation Strategy

This family has 12 Adaptive Points. To transform between states:

  • Use Dynamo to calculate new vertex positions based on rhombus angle
  • Move the Adaptive Points to new positions
  • Revit updates the connected edges and faces automatically
📥 Download Dynamo Script

← Back to Jitterbug Academy