/3d-interior

Primary LanguageTypeScriptMIT LicenseMIT

What is this?

This is a customizable application built on three.js that allows users to design an interior space such as a home or apartment. Below are screenshots from our Example App (link above).

  1. Create 2D floorplan:

floorplan

  1. Add items:

add_items

  1. Design in 3D:

3d_design

Developing and Running Locally

To get started, clone the repository and ensure you npm >= 3 and grunt installed, then run:

npm install
grunt

The latter command generates example/js/blueprint3d.js from src.

The easiest way to run locally is to run a local server from the example directory. There are plenty of options. One uses Python's built in webserver:

cd example

# Python 2.x
python -m SimpleHTTPServer

# Python 3.x
python -m http.server

Then, visit http://localhost:8000 in your browser.

Directory Structure

src/ Directory

The src directory contains the core of the project. Here is a description of the various sub-directories:

core - Basic utilities such as logging and generic functions

floorplanner - 2D view/controller for editing the floorplan

items - Various types of items that can go in rooms

model - Data model representing both the 2D floorplan and all of the items in it

three - 3D view/controller for viewing and modifying item placement

example/ Directory

The example directory contains an application built using the core blueprint3d javascript building blocks. It adds html, css, models, textures, and more javascript to tie everything together.

License

This project is open-source! See LICENSE.txt for more information.