Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

changing building geometry in idf file

asked 2017-08-10 08:23:33 -0500

EddieB gravatar image

updated 2017-08-15 21:04:40 -0500

I would like to try to automatically generate some idf files for different building heights, widths etc and I'm wondering if anyone has any experience with this or suggestions?

I have a bunch of polygons corresponding to building footprints and heights, and would like to assign each an idf file and then modify the idf file so it represented the building's volume. Ideally, I'd use python to manipulate the idf file, possibly using the eppy package, but I want to avoid using a 3d cad program to create specific idf file for each building footprint (i.e. drawing a box for each building and then using a plugin to create an idf file for it, like archsim in Rhino for example).

Is there any recommended documentation describing how to go from building geometry to an idf file? I was thinking of just adopting a similar zoning structure for each modeled floor, with say 4 outer zones and one inner zone based on some simple rules.

edit retag flag offensive close merge delete


@EddieB, you mentioned eppy, are you aware of GeomEppy?

Jeremy gravatar imageJeremy ( 2017-08-17 12:08:10 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2017-08-11 09:16:14 -0500

Stuart Dols gravatar image

Likely the OS gurus will have suggestions, but depending on your requirements for building geometry you could use the following public domain tools/methods.

  • Use CONTAM to create scaled, rectilinear shaped buildings (this is the main limitation on geometry). Drawing/defining multilevel buildings with ContamW is very simple.
  • Use the Contam3DExport tool to extrude them to IDF files. Allows you to create IDF using pre-defined IDFs that contain building constructions/materials to be assigned based on surface type, e.g., exterior walls, interior walls, floors, etc. Can even create AirLoopHVAC for multiple systems if desired.
  • Use eppy to modify IDF files as desired.

Let me know if you need more info.


edit flag offensive delete link more

answered 2017-08-11 11:09:31 -0500

updated 2017-08-11 11:16:59 -0500

As @Stuart Dols mentioned, there is an OpenStudio Method to do this.

space = OpenStudio::Model::Space::fromFloorPrint(point3dVector, hight_m, model)

point3DVector is your polygon. You could use an OSM file format as your starting point and then convert to IDF when you want to do model manipulation outside of OpenStudio. You can also write an EnergyPlus measures, that takes in and passes out an IDF file, but under the hood makes a temp OSM file to create the envelope, and then converts it to IDF with the measure. You can see this in context in the Bar Aspect Ratio Study measure.

Here is the API documentation for the method

You could loop through multiple polygons (for core and perimeter zoning) and then run surface matching, and add windows and overhangs if you want. Could also make multi-story.

As another options, if your building footprints happen to be in geo-json format, there are methods available to import those into OpenStudio. This un-supported measure I posed as an example does the opposite, but I thought the code in it maybe useful. It converts footprint of OSM to geo-json text. I was using it to place OSM's into an urban environment

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools



Asked: 2017-08-09 17:30:31 -0500

Seen: 103 times

Last updated: Aug 11