Santiago Ossa

Link to Design Journal
Journal Entry For
Module 8 - Make Your Pitch
ACC Folder Link
Created By
Santiago Ossa
Related to 120C/220C Students - Spring 2022 (1) (Related to Design Journal Entries | Winter 2022 (Linked Student))

EcoVillage Configurator

Intended users

This tool will be useful for people who have a plot of land and are exploring where to build cabins/huts on it. This will be the case for people trying to establish something like an eco-village or a retreat center.

Need you’re trying to provide a solution or support for

Every plot of land has features that limit the areas where cabins can be built (e.g. a hole in the ground, location of trees or powerlines, etc.) as well as features that are desirable to be within close proximity to cabins (e.g. a lake, a central fire pit area). For example, an optimal layout pattern for location of huts might be one where the privacy between cabins is maximized while the distance to points of interest is minimized.


Lot Boundary (line-2D shape)

Obstacles (line-2D shapes)

No-Build Zones (line-2D shapes)

Points of Interest (line-2D shapes)

Number of Cabins (numeric value)

Minimum Spacing Between Cabins (numeric value-distance)

Underlying logic of the model you’ll implement

  1. Take inputs: Make ‘select by clicking’ nodes or sliders for each input for the user to adjust them easily.
  2. Set up geometry: Take the “lot boundary” input and convert it into a surface. Take the “obstacles” and “no-build zones” inputs and convert them into masses with a large positive Z value. Take the “points of interest” inputs and define each by the centroid of the 2D shape.
  3. Establish buildable area: Create a buffer around each of the objects in step 2 and subtract them (difference function) from the lot boundary surface. The resulting surface will be the potential locations where cabins can be located.
  4. Define cabins: create a list with the user-defined number of cabins
  5. Compute privacy score: Take the cross-product of the list of cabins and evaluate a direct line between each cabin centroid. Evaluate whether the live intersects an obstacle or not. If it intersects, then it means there is no direct line of sight and therefore produces a better “privacy score”
  6. Compute distance score: Evaluate the bird’s-eye-view distance between each cabin and each of the user-identified points of interest. Compute a score (could be a weighted average) to rate the proximity of each cabin to points of interest.
  7. Generative study: Set up a generative study where cabins are randomly located throughout the allowable surface and repeat the random distribution many times (I’m not sure how many would be statistically correct to do here) and for each evaluate the overall scores for privacy and distance. Note: I don’t think doing a Genetic Iterative Search is appropriate here because it will end up creating clusters around the points of interest (I think).
  8. Outputs: Present the user with the best few options and their corresponding scores. Something like the generative study dashboard.


Visual of the best-ranking cabin placement schemes, each with the overall “privacy score” and the “distance score”.