Voussoir Grasshopper Plugin

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…

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

Use Cases

Technical Information

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.

Base Surface

Barrel Vault Base Surface
Nickname: BVSrf
Creates the base surface for the creation of a barrel vault
Input NameIDDescriptionTypeDefault Values
Input LinesLset(s) of 2 non intersecting linesCurve
Vault HeightHArc’s height.Float2.00
Arc ProfileARight-click to select type of curve. 0: Parabola, 1: Arc, 2: Catenary. Or input one of the above integersInteger2
Output NameIDDescriptionType
Vault SurfaceSThe lofted base surface between the two arcs.Surface
Springer LinesLThe two horizontal lines (remaining sides).Line
Vault ArcsAThe two generated arcs.Curve

Groin Vault Base Surface
Nickname: GVSrf
Creates the base surface for the creation of a Groin vault
Input NameIDDescriptionTypeDefault Values
Input Lines 1 L1set(s) of 2 non intersecting linesCurve
Input Lines 2 L2set(s) of 2 non intersecting linesCurve
Vault HeightHArc’s height.Float2.00
Arc ProfileARight-click to select type of curve. 0: Parabola, 1: Arc, 2: Catenary. Or input one of the above integersInteger2
Output NameIDDescriptionType
Vault SurfaceSThe lofted base surface between the two arcs.Surface
Springer LinesLThe two horizontal lines (remaining sides).Line
Vault ArcsAThe two generated arcs.Curve

Division

Barrel Vault Division – Grid
Nickname: BVDivG
Divides a vault defined by two arcs into spanwise and lengthwise voussoirs.
Input NameIDDescriptionTypeDefault Values
Vault SurfaceSThe vault surface created by lofting both arcsSurface
U DivisionsUNumber of voussoir divisions along the U direction (Springer Lines direction)Integer12
V DivisionsVNumber of voussoir divisions along the V direction (Profile direction)Integer8
Output NameIDDescriptionType
Intrados PlanesPiIntrados planar vault panels (tree matching input branches).Plane
Division planesPdPlanes of each Voussoir Contact Surface (tree matching input branches).Plane
BoundariesBVoussoir Boundaries (Indexes of Division Planes).String
Transversal planesPuDivision Planes with constant U-value.Plane
Longitudinal planesPvDivision Planes with constant V-value.Plane

Groin Vault Division – Grid
Nickname: BVDivG
Divides a vault defined by two arcs into spanwise and lengthwise voussoirs.
Input NameIDDescriptionTypeDefault Values
Vault SurfaceSThe vault surface created by lofting both arcsSurface
U Divisions 1U1Number of voussoir divisions along the U direction (Springer Lines direction)Integer12
U Divisions 2U2Number of voussoir divisions along the U direction (Springer Lines direction)Integer12
V DivisionsVNumber of voussoir divisions along the V direction (Profile direction)Integer8
Output NameIDDescriptionType
Intrados PlanesPiIntrados planar vault panels (tree matching input branches).Plane
Division planesPdPlanes of each Voussoir Contact Surface (tree matching input branches).Plane
BoundariesBVoussoir Boundaries (Indexes of Division Planes).String
Transversal planesPuDivision Planes with constant U-value.Plane
Longitudinal planesPvDivision Planes with constant V-value.Plane

Geometry

Create Voussoirs
Nickname: BVouss
Creates Voussoirs defined by division planes
Input NameIDDescriptionTypeDefault Values
Intrados PlanesPiIntrados planar vault panelsPlane
Division planesPdPlanes of each Voussoir Contact SurfacePlane
BoundariesBVoussoir Boundaries (Indexes of Division Planes for each voussoir).String
ThicknessTUser defined Voussoir ThicknessFloat0.25
Output NameIDDescriptionType
VoussoirsVVoussoir BlocksBrep
ExtradosEExtrados SurfacesSurface
IntradosIIntrados SurfacesSurface
Contact FacesFcVoussoir contact surfacesSurface

Springers

Springer – Triangle
Nickname: SprTri
Create a simple triangular Springer
Input NameIDDescriptionTypeDefault Values
Vault SurfaceSThe vault surface created by lofting both arcsSurface
Springer LineLList of base lines to create vault springersCurve
VoussoirsVVoussoirs to analyseBrep
U PlanesPuDivision Planes with constant U-value.Plane
Output NameIDDescriptionType
SpringersSFinished SpringersBrep
VoussoirsVNon transformed voussoirsBrep

Springer – Trapezoid
Nickname: SprT
Create a simple trapezoid Springer
Input NameIDDescriptionTypeDefault Values
Vault SurfaceSThe vault surface created by lofting both arcsSurface
Springer LineLList of base lines to create vault springersCurve
VoussoirsVVoussoirs to analyseBrep
U PlanesPuDivision Planes with constant U-value.Plane
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 SurfaceSThe vault surface created by lofting both arcsSurface
Springer LineLList of base lines to create vault springersCurve
VoussoirsVVoussoirs to analyseBrep
U PlanesPuDivision Planes with constant U-value.Plane
Springer WidthWDistance perpendicular to springer lineFloat0.25
Output NameIDDescriptionType
SpringersSFinished SpringersBrep
VoussoirsVNon transformed voussoirsBrep
Top Wall LineLLines to build walls on the springers

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
ArcAArc 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
ParabolaPParabola curveCurve