Tag: parametrization

  • Non-orthogonal Barrel Vault

    Non-orthogonal Barrel Vault

    The parametric modelling of an irregular vault in Grasshopper begins with the definition of a planar quadrilateral curve that serves as the base profile. This curve is subdivided into its constituent segments and, by assigning the desired vault height, four fundamental base curves are generated: two transversal arcs, derived from the specified height, and two support lines. A loft operation between the arcs produces the initial vault surface, which is then subdivided into the individual intrados of the voussoirs. For this subdivision, the user specifies the number of longitudinal and transversal divisions, defined by the โ€œuโ€ and โ€œvโ€ values, which correspond respectively to the number of voussoirs along the span and the number of courses across the height of the vault.

    From the resulting grid points, transversal and longitudinal planes are constructed to establish the contact surfaces between voussoirs. These planes form the basis for generating the planarized intrados, obtained through a fit plane operation. To generate the extrados, each intrados plane was offset along a normal vector calculated by averaging the directions of the adjacent division planes.

    Finally, the springers were modelled selecting the voussoirs that intersect with an imaginary wall that has as its base the springer line, and then for each transversal set of voussoirs obtaining the highest “Z” coordinate and creating an extrusion with that height and a given width that is then fused to the selected voussoirs.

    All the new components created in the scope of this Grasshopper definition can be found on the Turtle article.

  • Orthogonal Barrel Vault

    Orthogonal Barrel Vault

    The parametric modeling of a barrel vault in Grasshopper begins with the construction of an arc profile, governed by parameters such as span and rise. This profile is subdivided into segments corresponding to individual voussoirs, whose widths are also parametrically controlled. Each segment is extruded along the longitudinal axis to generate a sequence of base surfaces, which are then further extruded along their respective surface normals to define the volumetric geometry of the voussoirs. The resulting elements are systematically arrayed to form the complete vaulted system. The use of parameter sliders enables real-time manipulation of geometric and constructive variables, facilitating iterative design and formal exploration.

    Given its geometric clarity and structural logic, the barrel vault constitutes an exemplary case study for investigating the potential of parametric modeling in architecture, and more specifically in stereotomy. Its modular nature lends itself to applications in digital fabrication and structural analysis.

    Interactive model at: https://www.shapediver.com/app/builder/v1/main/latest/?slug=vaultrectangularshdi&redirect=0

  • “Voussoir” Grasshopper Plugin

    “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 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