Skip to content

Nodes Overview

MaStro's Geometry Nodes are the engine that converts parametric data into architectural geometry. They read the custom mesh attributes set by the Python layer and produce walls, façades, road surfaces, and annotations — all procedurally, without any manual modelling.

Where the Nodes Live

All MaStro node groups are stored in a single .blend file distributed with the extension. When you create a MaStro object, the relevant node groups are linked into your scene automatically. You can find them in the Outliner under Blender File → Node Groups.

Because the node groups are linked (not appended by default), updates to the .blend file propagate to your scene when you reload. If you want to customise a node group, you can make it local (Object Data → Geometry Nodes → Make Local), but note that local copies will not receive future updates.

Node Categories

The MaStro node library is organised into eight categories, each covering a distinct aspect of architectural or urban modelling:

Category Description
Architecture Walls, façades, openings, and other building elements
Curve Curve-based geometry operations
Indices Index manipulation and filtering utilities
Instances Tools for working with instanced geometry
Materials Material assignment and filtering
Mesh General mesh operations
Street Road surface generation, intersections, and lane geometry
Utilities General-purpose helpers, including viewport orientation

Each category is documented in its own section. See the navigation on the left.

Viewport Orientation Node

One node worth highlighting here is the Viewport Orientation node (in the Utilities category). Architectural drawings often include dimension annotations — quote architettoniche — that must always remain readable regardless of how the user rotates the 3D view. This node exposes the current viewport rotation to Geometry Nodes in real time, so that text and dimension graphics generated by GN can be kept facing the camera at all times.

Extending the Nodes

MaStro is designed to be extended. The node groups are documented and follow consistent naming conventions, making it straightforward to build additional nodes on top of the provided ones. Any Geometry Nodes modifier that reads MaStro's custom attributes (mastro_typology_id, mastro_list_use_id_A, etc.) can participate in the same data pipeline.