DBF Data Structure
The fundamental representation of design solutions uses the hybrid method that combines,
Shape based representation is a technique that uses the boundary information, such as points position, to describe the shape. This technique is best for defining an object in three dimensional space.
Graph based representation uses nodes and edges to mainly express the relation between rooms as well as the circulation within the building in the architectural context.
Therefore, we aim to combine each technique’s advantages, where both object components and relations are represented in what we called, Hybrid method.
The hybrid method enables us to express geometrical properties of objects together with their attributes, such as, Boundary
, Program
, Circulation types
, Object depth
, Dimension
, Relations between object components
.
Having this array of information embedded in every node and edge object allows us to have more control over the generated design. It makes the design editable, meaning that it allows us to modify their properties in the future.
All the information regarding its data will be stored as a JSON
format. JSON itself is a simple text which makes it suitable for transferring across platforms as well as storing the data. The following figure shows the structure of the data.
The tables below describe the properties of the generated building design data.
Primary components of a graph structure are Nodes and Edges and the secondary components consist of Scale, Angle, and UV Coordinate, which contain information regarding the position of the graph within the plot.
Nodes
A node has 3 attributes, namely Operations, Methods, and Properties. Below each attribute is described briefly with the help of visuals.
1. Operations
Function | Description |
---|---|
Create | makeNode , creates an additional node in the plot space |
Chain | chainNode , copy the selected node position (either u or v coordinate) |
2. Properties
Function | Description |
---|---|
Shape | makeCircle2D , makeRectangle2D , defining the shape of the node |
Angle | Angle of shape rotation in degrees |
Distance | Length/width/radius of the node |
Edges
An edge has 2 attributes, namely Operations and Properties. Below each attribute is described briefly with the help of visuals.
1. Operations
Function | Description |
---|---|
Create | makeEdge , creates an edge with selected nodes in the plot space |
2. Properties
Function | Description |
---|---|
Program | Assigning different programs to the edge, like circulation , residential etc |
Depth | Assigning a width to the edge |
Shape | A math function that can be used to evaluate the shape of the edge |
Edge | randomEdge |
Alignment | mid , inside , outside |
Graph
Graphs are created inside the rectangle boundary with the U and V range between 0-1. The graph then will be scaled 1D /2D, rotated, and placed randomly inside the plot where our tools will select the best result which is close to the defined target. By having this method, we can optimize the result to reach the target while keeping the structure of the graph.
Given below is an example of the graph logic works for L Shaped Building blocks.
Example Graph | Schema
const rulesL = [
() => makeNode({ u: randomInRange([0.25, 1]), v: 0, x: 10, y: 10, angle: 0, fShape: null }),
() => makeNode({ u: 0, v: 0, x: 10, y: 10, angle: 0, fShape: null }),
() => makeNode({ u: 0, v: randomInRange([0.25, 1]), x: 10, y: 10, angle: 0, fShape: null }),
() => makeEdge({ nodes: [0, 1, 2], fShape: thickenPolyline, depth: randomInRange([8, 15]) }),
];
Download
Access and download the design solution sample data as a .json
file here.
Get In Touch
For collaboration and access to this dataset, please send a data request mail to hello@digitalbluefoam.com