Snake Building by SAPNDA
Snake Building by SAPNDA
Powered by MDLR_trsrch
+
How Do Snakes Occupy Space ?
SNAKE // Space Filling Algorithm from Nature
Cell Grid
Rctngl, SgmntLst, FlrNmbr, U, V, Fnctn Rctngl, SgmntLst, FlrNmbr, U, V, Fnctn
COMPONENTS // Module
Module
CllLst, SgmntLst, Otln, FlrNmbr, Fnctn
SPACE FILLING RULE // Straight Expansion
SPACE FILLING RULE // Turn Expansion
SPACE FILLING RULE // Chicane Expansion
SPACE FILLING RULE // Hairpin Expansion
SPACE FILLING RULE // Vertical Expansion
Volumetric Constraints
Vertical / oblique voids
Planar Constraints
Site features
Space Navigating Rules
Tree Search with Greedy Approach
SET-UP // User Inputs
Entrance / Access
INITIATION // Initial Mass: Base Branch
Initial Mass
Determined by the user
inputs. This serves as the
base branch in the tree
search algorithm.
POTENTIAL EXPANSIONS // Expandable Faces on The Base Branch
5 Expandable Faces
The order can be either
clock-wise of count-
clock-wise. Clock-wise
shown in the diagram
2
1
3
0
4
BRANCHING LEFT @ FACE 0 // Fails : Off The Boundary
L
0
BRANCHING CENTER @ FACE 0 // Fails : Off The Boundary
0
BRANCHING RIGHT @ FACE 0 // Fails : Off The Boundary
0
BRANCHING LEFT @ FACE 1 // Fails : Off The Boundary
L
1
BRANCHING CENTER @ FACE 1 // Fails : Off The Boundary
1
BRANCHING RIGHT @ FACE 1 // Fails : Off The Boundary
1
BRANCHING LEFT @ FACE 2 // Fails : Off The Boundary
2
BRANCHING CENTER @ FACE 2 // Fails : Off The Boundary
2
BRANCHING RIGHT @ FACE 2 // Successful Fit
R
2
POTENTIAL EXPANSIONS // Expandable Faces on The 2nd Branch
5 Expandable Faces
The order can be either
clock-wise of count-
clock-wise. Clock-wise
shown in the diagram
1
0
2
4 3
BRANCHING LEFT @ FACE 0 // Fails : Off The Boundary
L
0
BRANCHING CENTER @ FACE 0 // Fails : Off The Boundary
0
BRANCHING RIGHT @ FACE 0 // Fails : Off The Boundary
0
BRANCHING LEFT @ FACE 1 // Fails : Off The Boundary
1
BRANCHING CENTER @ FACE 1 // Fails : Off The Boundary
1
BRANCHING RIGHT @ FACE 1 // Fails : Off The Boundary
R
1
BRANCHING LEFT @ FACE 2 // Fails : Off The Boundary
2
BRANCHING CENTER @ FACE 2 // Fails : Off The Boundary
2
BRANCHING RIGHT @ FACE 2 // Fails : Off The Boundary
R
2
BRANCHING LEFT @ FACE 3 // Fails : Off The Boundary
3
BRANCHING CENTER @ FACE 3 // Fails : Over The Site Feature
3
C
BRANCHING RIGHT @ FACE 3 // Successful Fit
R
POTENTIAL EXPANSIONS // Expandable Faces on The 3rd Branch
5 Expandable Faces
The order can be either
clock-wise of count-
clock-wise. Clock-wise
shown in the diagram
0 2
4 3
BRANCHING LEFT @ FACE 0 // Fails : Over The Site Feature
L 0
BRANCHING CENTER @ FACE 0 // Fails : Over The Existing Mass
0
BRANCHING RIGHT @ FACE 0 // Fails : Over The Existing Mass
0
BRANCHING LEFT @ FACE 1 // Fails : Off The Boundary
1
BRANCHING CENTER @ FACE 1 // Fails : Off The Boundary
1
BRANCHING RIGHT @ FACE 1 // Fails : Off The Boundary
1
BRANCHING LEFT @ FACE 2 // Fails : Off The Boundary & Over The Site Feature
2
BRANCHING CENTER @ FACE 2 // Fails : Off The Boundary & Over The Site Feature
2 C
BRANCHING RIGHT @ FACE 2 // Fails : Off The Boundary & Over The Site Feature
2
R
BRANCHING LEFT @ FACE 3 // Fails : Off The Boundary & Over The Site Feature
3
BRANCHING CENTER @ FACE 3 // Fails : Off The Boundary
3
C
BRANCHING RIGHT @ FACE 3 // Successful Fit
3
R
RETURN CONDITION // No More Available Move
5 Expandable Faces
Five faces left for branch-
ing, but there is no more
available move.
0 2
4 3
RETURNING TO THE PARENT BRANCH // No More Available Move
1 Expandable Face
Only one face left for
branching, but there is no
more available move.
4
RETURNING TO THE PARENT BRANCH // No More Available Move
1 Expandable Face
Only one face left for
branching, but there is no
more available move.
4
RETURNING TO THE PARENT BRANCH // No More Available Move
2 Expandable Faces
Only two faces left for
branching, but there is no
more available move.
4
TERMINATING CONDITION // BCR Maxed Out or No More Available Move
BCR Check
When close to the max
building coverage ratio,
the branching stops.
No More Move
When there is no more
available move, the
branching stops.
VERTICAL EXPANSION // At User Specified Expansion Point
Expansion Point
User-defined vertical
expansion point.
INITIATION // Initial Mass: Base Branch
Initial Mass
Determined by the user
inputs. This serves as the
base branch in the tree
search algorithm.
POTENTIAL EXPANSIONS // Expandable Faces on The Base Branch
6 Expandable Faces
The order can be either
clock-wise of count-
clock-wise. Clock-wise
shown in the diagram.
0 1
2
5
4 3
BRANCHING LEFT @ FACE 0 // Successful Fit
L
0
POTENTIAL EXPANSIONS // Expandable Faces on The 2nd Branch
5 Expandable Faces
The order can be either
clock-wise of count-
clock-wise. Clock-wise
shown in the diagram
2
1
4 3
BRANCHING LEFT @ FACE 0 // Fails : Over The Site Feature
L
0
BRANCHING CENTER @ FACE 0 // Fails : Over The Site Feature
0
BRANCHING RIGHT @ FACE 0 // Fails : Over The Site Feature
0
BRANCHING LEFT @ FACE 1 // Fails : Over The Site Feature
L
1
BRANCHING CENTER @ FACE 1 // Fails : Over The Site Feature
1
BRANCHING RIGHT @ FACE 1 // Fails : Over The Site Feature
1
BRANCHING LEFT @ FACE 2 // Fails : Over The Site Feature
2
BRANCHING CENTER @ FACE 2 // Fails : Over The Site Feature
2
BRANCHING RIGHT @ FACE 2 // Fails : Over The Site Feature
2
BRANCHING LEFT @ FACE 4 // Fails : Over The Exsiting Mass
4
BRANCHING CENTER @ FACE 4 // Successful Fit
4
C
TERMINATING CONDITION // FAR Maxed Out
FAR Check
When close to the max
floor area ratio, the
branching stops.
Test Flight
Snake Building
USER INPUT // Site Boundary, Module Start Point, & Site Features
Site Boundary
Extent of the simulation in
2d
Site Features
Indicates “No Build Zone”
on the X-Y plane
USER INPUT // Buildable Volume
Buildable Volume
Extent of the simulation in
3D
DESIGN PARAMETERS // Influential Geometries as Volumetric Constraints
Influential Geometries
As volumetric constraints,
the influential geometries
determine the 3D arrange-
ment of the modules. This
can be any form of geom-
etries within the buildable
volume.
CALCULATION // Base Grid for BCR Calculation
Base Grid
Generates a cumulative
BCR grid sits on the site. A
grid cell can be one of:
A available
B building
V void
CALCULATION // Floor Grids Generation
Floor Grids
Duplicated the base grids
by floors within the build-
able volume
CALCULATION // Floor Grid for FAR Calculation & Module Arrangement
Floor Grids
Calculates the grid in-
tersection with the con-
straints. A grid cell can be
one of:
A available
B building
D deck
R roof
V void
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
Initial Module
At start point
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
New Module
At available grid
Completed Branch
Continuously connected
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
Completed Branch
Continuously connected
New Module
At available grid
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
Completed Branch
Continuously connected
New Module
At available grid
ARRANGEMENT // Module Deployment Process
Completed Branch
Continuously connected
New Module
At available grid
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
New Module
At Available Grid
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
ARRANGEMENT // Module Deployment Process
A available
B building
D deck
R roof
V void
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
ARRANGEMENT // Module Deployment Process
Visualize Modules
Site Information Visualize result
User inputs
Module Calculation
Tree search algorithm
Design Parameters
User inputs
Export Wall Types
Editable blocks
TITLE // SUBTITLE
MDLR_trsrch // Modular Calculation
Modules
Visualizing modules
Visualize Modules
Generic Breps by elements
TITLE // SUBTITLE
MDLR_trsrch // Variations
TITLE // SUBTITLE
MDLR_trsrch // Wall Type Blocks
Export Blocks
Blocks by elements
TITLE // SUBTITLE
MDLR_trsrch // Wall Type Calculation Method
TITLE // SUBTITLE
MDLR_trsrch // Wall Types by Rules
Facade Alternative
Fur
TITLE // SUBTITLEINTERPRETATION OF // Fur
MATHEMATICAL
TITLE // SUBTITLE
GEOMETRY GENERATION RULES // Fur
Outer Layer Inner Layer
Odd Row
dx, dy = align to lower right
Even Row
dx, dy = align to lower left
Odd Row
dx = sin(i / I * 360 * j) * h
dy = (j / J) * w
Even Row
dx = cos(i / I * 360 * j) * h
dy = (j / J) * w
TITLE // SUBTITLE
GEOMETRY GENERATION RULES // Fur
TITLE // SUBTITLE
BUILDING COMPONENTS // Wall Block Composition
Solid Wall
Internal, External, & Louver
Window Wall
Internal, External, Window, & Louver
Door Assembly
Internal, External, Door, & Louver
Window Assembly
Internal, External, & Window Assembly
TITLE // SUBTITLE
BUILDING COMPONENTS // Blocks by Wall Types
TITLE // SUBTITLE
Facade Alternative
Wishbone
TITLE // SUBTITLEINTERPRETATION OF // Wishbone
MATHEMATICAL
TITLE // SUBTITLE
GEOMETRY GENERATION RULES // Wishbone
Outer Layer Inner Layer
TITLE // SUBTITLE
GEOMETRY GENERATION RULES // Wishbone
TITLE // SUBTITLE
BUILDING COMPONENTS // Wall Block Composition
Solid Wall
Internal, External, & Louver
Window Wall
Internal, External, Window, & Louver
Door Assembly
Internal, External, Door, & Louver
Window Assembly
Internal, External, & Window Assembly
TITLE // SUBTITLE
BUILDING COMPONENTS // Blocks by Wall Types
+