Skip to content

dlabz/BIMsurfer

 
 

Repository files navigation

BIMsurfer

Copyright 2012, Bimsurfer.org
Bimsurfer is licensed under the GNU Affero General Public License, version 3.0. 
(Please find the license under licenses/LICENSE-bimsurfer-agpl3)

New version 2012-10

A new version of Bimsurfer is developed within MOST (Monitoring System Toolkit) http://most.bpi.tuwien.ac.at
Robert Zach (robert.zach@tuwien.ac.at)
Kaltenriner Christoph (mailchriska@gmail.com)
Leichtfried Michael (leichtfried.michael@gmail.com)
From TU Vienna - Institute BPI
http://www.bpi.tuwien.ac.at/

Demo

Some features are shown here http://www.youtube.com/watch?v=PV1LDgVCU6E

###Naming Convention:

  • Building Storeys All Storeys have to be defined as BuildingStorey Elements. Otherwise the expose and transparent feature will not work correctly.

  • Special Objects (MOST: datapoints) Objects of special interest have to begin with dp_; This will be changed to IfcSensor/IfcActor soon.

###Fixes:

  • Scrolling to selected Object in Project Tree When in 3D View an Object is selected, the Project tree is scrolled to this object
  • loading of Projects from BIM Server Repository (thanks to DLabz designlabz@gmail.com,veljko@sigidev.com)
  • disappearing objects when panning with touchinput devices
  • validated index.html (thanks to Regina Appel regina.appel003@gmail.com)

###Featues:

  • pure JavaScript implementation (we cleaned up the code generated by CoffeeScript)
  • Expose Expose a storey (by selecting anything in this storey) or expose every storey (when nothing is selected)
  • Transparent Make everything (when nothing is selected) or just a single building storey transparent (by selecting anything in this storey) via slider
  • Move view (Camera) to a chosen Object (by doubleclicking in Overview Tab) Generates two snapshots (from actual position and one from a position with a good view to the selected object) and starts the camera movement between these two snapshots
  • Special Objects (Datpoints) enhanced features for special objects (defined with dp_)
    • Highlight all special Objects on startup
    • forward mouse events when special objects are selected (no rotate/pan when selected)
    • different highlighting
  • Toggle Pan and Rotate switch A GUI Switch for toggling between Pan and Rotate for use on a Touchscreen or motion control
  • Additional Views Front, Side and Top Views additional to the Reset View Button
  • Zoom-In and Zomm-Out via Sliders Zooming via Sliders instead of the mouse wheel to make it usable for Touchscreen and motion control
  • Highlight different Objects Mark different Objecs from a String Array, as waring object (highlight red)
  • Filtering Objects Textbox for filtering objectes, which are shown in Filter tab

Roadmap

This new version will be integrated with the open source BIMserver.org project. Work will continue on:

  • 'lazy loading' of objects using BimQL query language (www.bimql.org)
  • streaming and/or caching data
  • integrating BCF support for issue management

Installation

BIMsurfer installation

To deploy BIMsurfer locally on your machine:

  1. Download a release and extract it into a folder somewhere.
  2. Open the file index.html using a compatible web browser (see below).

To deploy BIMsurfer on a web server (e.g. apache):

BIMsurfer is a client-side application. Thus, it is very easy to deploy on a web server.

  1. Simply extract the release (e.g. BIMsurfer_1_0_0.tar.gz) into a statically accessible directory on your server.
  2. Point a compatible web browser (see below) to the url.

One advantage of deploying BIMsurfer on a web server is that it obviates the need to circumvent certain cross-domain security policies that crop up when running the application locally.

BIMserver Installation

In order to load IFC models into BIMsurfer you will first need to export them using the BIMserver software. For now it is recommended to use the latest version of BIMserver in development.

Running BIMsurfer locally on your computer

Modern web browsers have security measures built in to prevent applications from accessing your computer. For this reason, if you wish to run BIMsurfer locally on your computer you should follow these instructions: https://github.com/bimserver/BIMsurfer/wiki/How-to-run-BIMsurfer-on-your-local-computer

Importing a model

For detailed instructions with screenshots, please see the Wiki: https://github.com/bimserver/BIMsurfer/wiki/Import-IFC-models (However, if you are not connected to the internet, simply keep reading...) There are currently two methods for loading IFC models into BIMsurfer, both using the opensource BIMserver project.

Connecting directly to a BIMserver

There are many known issues with this approach. We try to create a stable link between BIMserver and Bimsurfer within the open source BIM collective (www.osbim.org)

Exporting and loading a SceneJS file

  1. First, you must have an instance of a BIMserver running somewhere. Let's say that you have BIMserver running at http://localhost:8080;
  2. Point your web browser to the BIMserver application (e.g. http://localhost:8080)
  3. Login to the BIMserver
  4. Create a new project (E.g. Vogel-Gesamt)
  5. Upload an IFC file to the project (E.g. Vogel_Gesamt.ifc)
  6. Once the IFC file is completely uploaded, Refresh the page...
  7. To download the model to your computer:
  8. Select SceneJS from the dropdown box
  9. Click on Download
  10. Once the raw file is displayed in your web browser, right click and select Save As... (or the equivalent command in your web browser)
  11. Select a location on your computer to place the file, and give it a name ending in the .json extension.

Now the file is saved to your computer. To open the file in BIMsurfer, follow these steps:

  1. Open BIMsurfer in your web browser
  2. Open the File menu in the top left-hand corner and select SceneJS File
  3. In the dialog that comes up:
  4. Click on Choose File
  5. Select the file you exported previously from BIMserver (e.g. Vogel-Gesamt.json)
  6. Click on Open

Embedding BIMsurfer into another web page

  • TODO... See /test/ directory for a test embed.html file.

Linking to a BIMsurfer model in another web page

  • TODO...

Compatible web browsers

Currently the folowing browsers are known to work with BIMsurfer.

  • Up-to-date versions of Google Chrome.
  • Firefox 4.0 or later
  • Internet Explorer is supported through the Google Chrome Frame plugin.

Please note all of the browsers above work fine, however we've found that google chrome consistently demonstrates the best performance and also the fewest bugs. Support for Opera is forth coming...

Third party libraries and licenses

Third party libraries used in this project:

  • jQuery Licenses: licenses/LICENSE-jquery-mit, licenses/LICENSE-jquery-gpl

  • jQuery UI Licenses: licenses/LICENSE-jqueryui-mit, licenses/LICENSE-jqueryui-gpl

  • SceneJS Licenses: licenses/LICENSE-scenejs-mit, licenses/LICENSE-scenejs-gpl

  • glMatrix Licenses: See the inline license in static/lib/scenejs/scenejs.math.js

How to report bugs

  • TODO...

About

The first open source WebGL based IFC viewer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.2%
  • CSS 2.2%
  • Other 0.6%