Complete Step-by-Step Construction Guide
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
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.
File → New → Family
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.
Manage → Project Units
Use whatever units you normally work in — the geometry is the same.
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.
Use any of these methods:
F then T (two separate keystrokes)Click Add... under the Parameters section
| Setting | Value |
|---|---|
| Parameter Type | Family parameter |
| Name | EdgeLength |
| Discipline | Common |
| Type of Parameter | Length |
| Group parameter under | Dimensions |
| Type or Instance | Type ← Important! |
Click OK, then set default value: 15.24 cm (or 152.4 mm)
Click Add... again
| Setting | Value |
|---|---|
| Parameter Type | Family parameter |
| Name | ScaleFactor |
| Discipline | Common |
| Type of Parameter | Length |
| Group parameter under | Dimensions |
| Type or Instance | Type |
After creating, add a formula:
Select ScaleFactor row → in the Formula column, enter:
EdgeLength / 1.4142135623731
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.
We need a 3D grid of reference planes to position our 12 vertices precisely.
Floor Plans → Level 1
Create → Reference Plane
Dimension from center and label with ScaleFactor parameter.
Elevations → Front
Dimension from Level 1 and label with ScaleFactor.
You now have a 3D grid of 6 reference planes forming a cube of side 2×ScaleFactor centered at the origin.
Where a = ScaleFactor = 10.78 cm for 15.24 cm edges:
This is the Z = 0 plane where V0, V1, V2, V3 lie.
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.
This shows the Y = 0 plane where V4, V5, V6, V7 lie.
This shows the X = 0 plane where V8, V9, V10, V11 lie.
Go to 3D View. You should see 12 points arranged as a cuboctahedron.
| Triangle | Edges (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 |
3D View → {3D}
Create → Model → Model Line
Draw line from V0 to V4 (snap to reference points)
Draw: V4-V8, then V8-V0
You've completed the first triangular face!
Work through each triangle using the table above.
Total: 24 unique edges (some edges are shared between triangles and rhombi).
Use Tab key while hovering to cycle through snap options. Ensure you're snapping to the Reference Point itself, not the plane.
| Face | Vertices | Colour |
|---|---|---|
| T0 | V0, V4, V8 | Blue (25% opacity) |
| T1 | V0, V9, V5 | |
| T2 | V2, V8, V6 | |
| T3 | V2, V7, V9 | |
| T4 | V1, V10, V4 | |
| T5 | V1, V5, V11 | |
| T6 | V3, V6, V10 | |
| T7 | V3, V11, V7 |
Create → Forms → Create Form
Select three points (e.g., V0, V4, V8)
Revit creates a surface through these points.
| Face | Vertices (in order) | Axis |
|---|---|---|
| R0 | V0, V4, V1, V5 | +X |
| R1 | V2, V7, V3, V6 | -X |
| R2 | V0, V9, V2, V8 | +Y |
| R3 | V1, V10, V3, V11 | -Y |
| R4 | V4, V8, V6, V10 | +Z |
| R5 | V5, V11, V7, V9 | -Z |
Create → Forms → Create Form
Select four points in order (e.g., V0, V4, V1, V5)
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.
Manage → Object Styles → Under Mass, create:
Assign geometry to appropriate subcategories for visibility control.
File → Save As → Family
Name: Jitterbug_Adaptive.rfa
The "_Adaptive" suffix indicates this family can be driven by Dynamo.
Open a Revit project
Insert → Load Family → Select Jitterbug_Adaptive.rfa
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.
This family has 12 Adaptive Points. To transform between states: