“Voussoir” Grasshopper Plugin

The Voussoir Plugin works to develop an easier way to create parametric stereotomic vaults in grasshopper. These Rhino Grasshopper components were created in the scope of the ongoing investigation on stereotomy


Voussoir is a Grasshopper plugin for Rhinoceros 3D that enables the generation of stereotomic vault geometries from user-defined inputs. Developed as a tool for digital exploration of stone vault construction, it combines parametric modeling with geometric logic inspired by traditional masonry techniques.

The plugin is conceived with a modular architecture, allowing future integration of additional stereotomic approaches and ensuring that all components can seamlessly interact. Stay tuned for upcoming developments.

Preferred Installation: Open Rhino’s PackageManager, search for “voussoir” and install.

Features

  • Generate voussoir-based vault systems from curves or surfaces.
  • Control key geometric parameters, such as springer lines and intrados curvature.
  • Automatically subdivide vault surfaces into voussoirs with customizable dimensions.
  • Export vault elements as BREPs for further analysis, fabrication, or visualization.
  • Designed to integrate seamlessly within parametric workflows in Rhino and Grasshopper.

Use Cases

  • Historical reconstruction and digital archaeology.
  • Architectural design inspired by stereotomy and stone vaulting.
  • Educational applications in architectural geometry and design computation.

Technical Information

  • Compatible with Rhino 8 and Grasshopper.
  • Outputs clean and organized data trees for downstream use.
  • Requires no external dependencies.

Disclaimer: This plugin is intended solely for geometric design exploration. It does not perform structural analysis or validation, and results should not be used for engineering assessment.

Core Geometry

Barrel Vault Base Surface
Nickname: BVSrf
Creates the base surface for the creation of a barrel vault
Input NameIDDescriptionTypeDefault Values
Input LinesSpringerLinesTwo non intersecting linesCurve
Vault HeightVaultHeightArc’s height.Float2.00
Arc SelectionVaultProfileRight-click to select type of curve. 0: Parabola, 1: Arc, 2: Catenary. Or input one of the above integersInteger2
Output NameIDDescriptionType
Vault SurfaceVSThe vault surface created by lofting both arcsSurface
Springer LinesSLThe two horizontal lines (remaining sides).Line
Vault ArcsVAThe two generated arcs.Curve

Barrel Vault Division – UV Grid
Nickname: BVDivG
Divides a vault defined by two arcs into spanwise and lengthwise voussoirs.
Input NameIDDescriptionTypeDefault Values
Vault SurfaceVaultSurfaceThe vault surface created by lofting both arcsSurface
Transversal DivisionsTransversalDivisionsNumber of voussoirs in the vault’s spanInteger12
Longitudinal divisionsLongitudinalDivisionsNumber of voussoirs in the vault’s lengthInteger8
Output NameIDDescriptionType
Intrados PlanesIPIntrados planar vault panelsPlane
Division planesDPPlanes of each Voussoir Contact SurfacePlane
BoundariesBVoussoir Boundaries (Indexes of Division Planes)String
Transversal planesTPPlanes at each length divisionPlane
Longitudinal planesLPPlanes at each span divisionPlane

Create Voussoirs
Nickname: BVouss
Creates Voussoirs defined by division planes
Input NameIDDescriptionTypeDefault Values
Intrados PlanesIntradosPlanesIntrados planar vault panelsPlane
Division planesDivisionPlanesPlanes of each Voussoir Contact SurfacePlane
BoundariesBoundariesVoussoir Boundaries (Indexes of Division Planes)String
ThicknessThicknessVoussoir ThicknessFloat0.25
Output NameIDDescriptionType
VoussoirsVVoussoir BlocksBrep
IntradosIIntrados SurfacesSurface
ExtradosEExtrados SurfacesSurface
Contact SurfacesCSVoussoir contact surfacesSurface

Springers

Springer – Triangle
Nickname: SprTri
Create a simple triangular Springer
Input NameIDDescriptionTypeDefault Values
Vault SurfaceVaultSurfaceThe vault surface created by lofting both arcsSurface
Springer LineSpringerLineList of base lines to create vault springersCurve
VoussoirsVoussoirsVoussoirs to analyseBrep
Transversal PlanesTransversalPlanesPlanes at each span divisionPlane
Output NameIDDescriptionType
SpringersSFinished SpringersBrep
VoussoirsVNon transformed voussoirsBrep

Springer – Trapezoid
Nickname: SprT
Create a simple trapezoid Springer
Input NameIDDescriptionTypeDefault Values
Vault SurfaceVaultSurfaceThe vault surface created by lofting both arcsSurface
Springer LineSpringerLineList of base lines to create vault springersCurve
VoussoirsVoussoirsVoussoirs to analyseBrep
Transversal PlanesTransversalPlanesPlanes at each span divisionPlane
Output NameIDDescriptionType
SpringersSFinished SpringersBrep
VoussoirsVNon transformed voussoirsBrep

Springer – Wall
Nickname: SprW
Creates a Springer based on the voussoirs closest to the springer line
Input NameIDDescriptionTypeDefault Values
Vault SurfaceVaultSurfaceThe vault surface created by lofting both arcsSurface
Springer LineSpringerLineList of base lines to create vault springersCurve
VoussoirsVoussoirsVoussoirs to analyseBrep
Transversal PlanesTransversalPlanesPlanes at each span divisionPlane
Springer WidthSpringerWidthDistance perpendicular to springer lineFloat0.25
Output NameIDDescriptionType
SpringersSFinished SpringersBrep
VoussoirsVNon transformed voussoirsBrep

Wootils

Arc by Height
Nickname: ArcH
Create an upward arc between two points and a given height (max radius constrained by point distance)
Input NameIDDescriptionTypeDefault Values
StartAStart point of the arc.Point
EndBEnd point of the arc.Point
HeightHHeight of the arc.Float2.00
Output NameIDDescriptionType
ArcCArc curveCurve

Catenary by Height
Nickname: CatH
Create an upward catenary between two points and a given height
Input NameIDDescriptionTypeDefault Values
StartAStart point of the catenary.Point
EndBEnd point of the catenary.Point
HeightHRise (height) of the catenary.Float2.00
Output NameIDDescriptionType
CatenaryCCatenary curveCurve

Parabola by Height
Nickname: ParH
Create an upward parabola between two points and a given height
Input NameIDDescriptionTypeDefault Values
StartAStart point of the parabola.Point
EndBEnd point of the parabola.Point
HeightHHeight of the parabola.Float2.00
Output NameIDDescriptionType
ParabolaCParabola curveCurve

More posts