Learn how to perform mathematical and geometric operations in Dynamo to create, measure, and modify geometry. Dynamo learners will understand how to use math nodes, vectors, transformations, and geometry relations to build parametric design logic.

💡 Goal: Learn to use geometric measurement nodes.
Create two points at (0,0,0) and (10,0,0), then measure the distance between them.
10.0
Tags: #geometry #distance #math
Related Lessons:
#CH5_L1 (Points – Creating and Analyzing Points)
#CH5_L2 (Lines – Measure Distance Between Points)

💡 Goal: Understand direction and magnitude.
Generate a vector that starts at (0,0,0) and ends at (10,5,0), then calculate the length of this vector.
Vector with length ≈ 11.18
Tags: #geometry #vectors #math
Related Lessons:
#CH5_L4 (Vectors and Coordinate Systems – Create Vector / Vector Analysis)
#CH5_L1 (Points – Coordinate Extraction)

💡 Goal: Work with numerical precision.
Create numbers with decimals [2.345, 3.789] and round each to two decimal places.
[2.35, 3.79]
Tags: #math #rounding #precision
Related Lessons:
#CH4_L4 (Numbers – Ceiling / Floor / Round)
#CH4_L3 (Strings – Format and Display Numbers)

💡 Goal: Use logic to generate multiple points.
Create a 5×5 grid of points spaced 2 units apart in X and Y directions.
25 points forming a uniform grid.
Tags: #geometry #points #matrix
Related Lessons:
#CH5_L1 (Points – Matrix of Points)
#CH3_L5 (Lists – Sequence of Numbers / Nested Lists)

💡 Goal: Understand point data (X, Y, Z).
Extract and display the X, Y, and Z coordinates of a list of points.
Lists of X, Y, Z values.
Tags: #geometry #points #analysis
Related Lessons:
#CH5_L1 (Points – Point Analysis x, y, z)
#CH5_L4 (Vectors – Vector Analysis and Direction)

💡 Goal: Understand curve parameterization.
Create a Line than a NurbsCurve then divide this Line/NurbsCurve into 10 equal parts.
10 evenly spaced points along the line/NurbsCurve.
Tags: #geometry #lines #points #parametric
Related Lessons:
#CH5_L2 (Lines – Place Point on Curve Parameter / Divide Curve)
#CH5_L1 (Points – Create and Manipulate Points)

💡 Goal: Understand plane orientation.
Create a plane using three points, then extract its normal vector with “Plane.Normal”.
A visible plane and perpendicular arrow showing its normal direction.
Tags: #geometry #planes #vectors
Related Lessons:
#CH5_L3 (Planes – Create Plane and Plane.Normal)
#CH5_L4 (Vectors – Vector Operations and Perpendicular Check)

💡 Goal: Explore vector operations.
Create two vectors — one along X-axis, one along Y-axis — and measure the angle between them.
90°
Tags: #geometry #vectors #analysis
Related Lessons:
#CH5_L4 (Vectors – Operation on Vectors / Angle Between)

💡 Goal: Use formulas and parameters to generate dynamic geometry.
Create circles with radii [5,10,15,20] centered at the origin; all controlled by a single parameter multiplier.
Four concentric circles scaling dynamically when radius factor changes.
Tags: #geometry #math #parameters #circles
Related Lessons:
#CH5_L2 (Lines – Circles / Curves and Parametric Control)
#CH1_L4 (Programming Concepts – Parameter Logic and Math)

💡 Goal: Apply transformations with vector logic.
Create points along X-axis, then move them 5 units in Y-direction using a Vector, then create line from each 2 corresponding points, then calculate the length of the lines by 2 ways (Numerical way "using math formulas - L = √((x₂ − x₁)² + (y₂ − y₁)²) ", and Geometrical way using dynamo nodes).
Parallel lines facing the Y axis, and list of length of each line.
Tags: #geometry #vectors #transformation
Related Lessons:
#CH5_L4 (Vectors – Move Point by Vector / Normalize Vector)
#CH5_L2 (Lines – Create Line from Two Points)
#CH5_L1 (Points – Manipulation)

💡 Goal: Understand geometric limits of Revit elements.
Select a few Revit elements and create bounding boxes using “Element.BoundingBox”.
Extract min and max points then calculate the center point of the bounding box from those points, then check if the points are inside the corresponding elements or not.
List of bools indicating if the center of the bounding box lies inside the geometry of the element or not
Tags: #revit #geometry #boundingbox
Related Lessons:
#CH5_L5 (Bounding Box – Create and Extract Data)
#CH3_L6 (Revit Nodes – Get Elements and Geometry)

💡 Goal: Combine trigonometric math and geometry creation.
Use sin() and cos() functions with a number sequence to create points forming a helix curve.
3D spiral curve around Z-axis.
Tags: #geometry #math #trigonometry #advanced
Related Lessons:
#CH5_L2 (Lines – Create Splines from Points)
#CH1_L4 (Programming Concepts – Math Functions sin / cos)
#CH3_L5 (Lists – Sequence of Numbers for Parametric Logic)

💡 Goal: Apply nested list logic to measure relationships.
Generate 10 random points and calculate the distance between every pair.
A 10×10 distance matrix of numeric values.
Tags: #math #lists #geometry #matrix #analysis
Related Lessons:
#CH5_L1 (Points – Point Analysis x, y, z)
#CH3_L5 (Lists – Nested Loops / Cross Combinations)
#CH5_L2 (Lines – Distance Measurement Between Points)

💡 Goal: Combine math and Revit logic for geometric control.
Select several Revit columns and adjust their top offset so each follows a slope defined by the formula Z = 0.5 × X.
Columns increasing in height linearly along X-axis.
Tags: #revit #geometry #math #parameters #automation
Related Lessons:
#CH5_L4 (Vectors – Move Elements by Vectors / Math Relations)
#CH3_L6 (Revit Nodes – Set Parameter Values)
#CH1_L4 (Programming Concepts – Formulas and Conditional Logic)

💡 Goal: Simulate interactive geometry based on distance logic.
Generate a grid of points and one attractor point, Then scale nearby points’ Z-coordinates based on distance.
3D topography that rises near the attractor.
Tags: #geometry #points #vectors #parametric
Related Lessons:
#CH5_L1 (Points – Matrix and Distance Analysis)
#CH5_L4 (Vectors – Magnitude and Distance Operations)
#CH1_L4 (Programming Concepts – Conditional Logic and Math Relations)

💡 Goal: Integrate geometrical calculations with Revit Elements.
Select several Revit elements then calculate the centroid of those elements' geometries, then calculate the Areas of their cross section that intersect with a planner surface facing XY-Basis axis, and this planner surface origin is created from each element's origin. [in a string format]
List of Areas ["5.12 m2", "10.8 m2", "16.0m2"]
Tags: #revit #geometry #math #parameters #automation
Related Lessons:
#CH5_L5 (Bounding Box – Extract Data and Create Section by Bounding Box)
#CH5_L6 (Solids and Surfaces – Extract Edges and Surfaces for Area Calculation)
#CH3_L6 (Revit Nodes – Geometry and Parameters)
