Adding Super Powers to FloorSpaceJS

Sam Currie


Integrate OpenStudio-Standards into FloorSpaceJS to Speed Up Model Development

Implement OpenStudio-Standards Space Types in FloorSpaceJS

FloorSpaceJS is an awesome drawing tool for the OpenStudio ecosystem (if you're an energy modeler and haven't tried it, its a great alternative to SketchUp so take it for a spin!). One feature that I really wish was implemented however is first class support for OpenStudio-Standards - that is, implementing space types, loads, constructions, and schedules from the project automatically.

FloorSpaceJS has a nice feature that allows the import of a library file - the file consists of JSON containing space types and constructions and rendering colors. The trouble is that they are just strings; nice to have for organizing your model components but inherently disconnected from the data required by OpenStudio and EnergyPlus. Thinking about this problem I came up with a solution - inelegant considering that I would much prefer these things to be built right in, but hey, we do what we can.

In Superstudio you can now export a library JSON file containing types from OpenStudio-Standards templates; the library file includes randomly created color renderings as well so you can take advantage of that feature in FloorSpaceJS. If you clone down the repository you can export a file in one line:

# give permission to the superstudio CLI first:
chmod +x bin/superstudio

bin/superstudio export --template 90.1-2004 --building_type LargeHotel --output ./hotel.json

# you can also use the rake task 
rake test_export

exporting a library file

So now you can import that file directly into FloorSpaceJS: import library

Check out the space type assignments! space type options

After you complete the geometry for your model, export the FloorSpaceJS model and use the superstudio CLI to merge OpenStudio-Standards data into an OSM along with your geometry:

./bin/superstudio --debug --create -t 'LargeHotel' -z 'ASHRAE 169-2006-5A' -s '90.1-2004' -p './test/denver-model' --weather --epw ./test/data/USA_CO_Denver.Intl.AP.725650_TMY3.epw --ddy ./test/data/USA_CO_Denver.Intl.AP.725650_TMY3.ddy --geometry --json ./test/data/floorplan.json -a true

You should see your terminal spit out the following: model merge

This project is still developing so please drop me a line if you try it out and let me know what you think! If you run into any trouble, please post an issue on Github.