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

Creating Geometry for EnergyPlus

asked 2018-01-17 04:57:34 -0500

updated 2021-05-06 13:51:45 -0500

What are your favorite ways to create geometry for use in EnergyPlus natively and what are the pros and cons for each? Options that I can think of are:

  1. Euclid plugin for Sketchup - slower to use since zones must be created individually
  2. OpenStudio plugin for Sketchup - "create spaces from diagram" allows floor places to be built up quickly
  3. Design Builder - if you already have a license

I have heard that Euclid creates cleaner geometry and is less error prone than the OS/Sketchup plugin. Can anyone confirm if they have had this experience?

To clarify- I am not asking about the difference between using OpenStudio as an API for EnergyPlus or using EnergyPlus directly. I'm only curious about geometry creation.

edit retag flag offensive close merge delete


DesignBuilder is the best way to create the geometry from scratch. Btw the licence is really affordable!

archimick's avatar archimick  ( 2020-02-20 06:42:20 -0500 )edit

5 Answers

Sort by ยป oldest newest most voted

answered 2019-09-29 06:46:34 -0500

As @mdahlhausen mentioned eppy, I thought I should add an answer here about geomeppy. While there's no GUI, geomeppy is another way to create EnergyPlus geometry using Python, built on top of eppy.

You can use the idf.add_block(...) function to create block with perimeters as simple or complex as you like, and move them to position adjacent to, above or below other blocks using idf.translate((x, y[, z])), idf.rotate(angle[, anchor]). Surface intersection and matching is done with idf.intersect_match().

It can also read in the geometry from an existing EnergyPlus IDF - this is the SurfaceTest.idf example file.

image description

And being based on Eppy, you can also manipulate EnergyPlus objects using the standard Eppy functions.

I've been working on improving the tutorials recently, and fixed a couple of bugs along the way. Feature requests, bug reports, and pull requests are all welcomed!

edit flag offensive delete link more



I like your project! It's a good idea and there's a need for such programmatic way to model geometry (and more)... especially in Python :-)

Adrien's avatar Adrien  ( 2019-12-29 02:16:45 -0500 )edit

idf.add_block() add a block at ground level only (z=0). idf.translate() shifts the entire model (all the blocks). Is there a way where we can add a block at different height?

arjundesai's avatar arjundesai  ( 2022-10-18 12:06:02 -0500 )edit

answered 2018-01-17 16:06:44 -0500

updated 2018-01-17 16:07:27 -0500

The v2.0+ series of OpenStudio is really buggy with SketchUp.

For now, I'd suggest using Sketchup 2016 with OS v1.14 for geometry. The OpenStudio sketchup user-scripts are really helpful for quickly making geometry, and you can easily write your own scripts for common functions.

Honeybee is also good for quick shoebox geometry.

OpenStudio is an API for EnergyPlus. So even if you don't use OpenStudio directly, you can still use it to edit EnergyPlus files. There are other EnergyPlus APIs as well - eppy, Params, jEplus.

The Ladybug Tools and NREL teams are both working on geometry replacements to SketchUp, and EnergyPlus is moving to JSON format, so your preferred EnergyPlus toolchain may look very different in a year or two.

edit flag offensive delete link more


OS/SketchUp is my main E+ geometry creator and I haven't had any issues with OS v2.0+ in SketchUp (just my experience). I agree the E+ toolchain is changing everyday so I would suggest using whatever suits your immediate needs while being open to shifting gears on the next project.

Lyle K's avatar Lyle K  ( 2018-01-17 16:49:47 -0500 )edit

Geometry creation in OpenStudio is at kind of a nadir at the moment, as they're no longer supporting the Sketchup Plugin, and haven't fully released the replacement geometry editor. But the current development version looks really promising (if not as flashy as a fully 3D version).

ericringold's avatar ericringold  ( 2018-01-17 16:56:52 -0500 )edit

Great and useful information, thank you all! But do any of you know why some people prefer to use Euclid? It seems odd since the OS/Sketchup plugin seems to have better geometry creation functionality?

Anna Osborne Brannon's avatar Anna Osborne Brannon  ( 2018-01-17 16:58:55 -0500 )edit

My guess is people have their own preferred built-out infrastructure for idf editing. Honestly I would use Euclid if I was using Params, and I would use Params if I had a regular solid use case (and wasn't pretty heavily invested in OS).

ericringold's avatar ericringold  ( 2018-01-17 17:09:35 -0500 )edit

answered 2018-01-17 22:35:16 -0500

bbrannon4's avatar

I prefer a 4th option - Revit. There are two ways to do it in Revit, and I actually prefer the old method where you have to be very careful setting everything up, but you get a cleaner output IDF/gbXML. The newer method (now the default) does some weird discretion with diagonal lines which results in 'stairstepped' looking surfaces, which work fine, but can increase simulation time. Part of my reasoning there though is integration with the rest of the design process, but even still, I find building geometry in Revit to be more like building in the real world (here's a wall, and a floor, and a window, etc) while sketchup and other analytical oriented platforms think in terms of volumes and 2d surfaces.

Of your three options, DesignBuilding is my next preference, for similar reasons as it is more intuitive to me. Next is actually a weird 5th option - Using IES and then converting the geometry via a gbXML workflow or some GEM translator, and that' is just because I'm very familiar with IES. Clearly I just don't like Sketchup... I find it limiting and simple, so I try to avoid it.

edit flag offensive delete link more


I'd like to create a script to generate automatically spaces in Revit to export in GBXML. Anyone done that already?

archimick's avatar archimick  ( 2020-02-20 06:48:19 -0500 )edit

answered 2018-01-17 06:33:36 -0500

Avi's avatar

Euclid will create geometry for energyplus as .Idf file while OS sketchup plugin will create geometry for OS application in . osm format. You can translate the resulting. osm file infto. Idf file in the OS application. The obvious advantage of OS is the ability to use the extra features of the sketchup plugin as you already found and the visual features of tge OS like plant loops and air loops visual editing. The limits that OS impose are mianly around features existing in Energy Plus which are not realized in OS. One other thing is the steep learning curve of OS with somewhat lacking documentation compared to Energy Plus

edit flag offensive delete link more



@Avi I am only asking about geometry creation not OpenStudio API vs EnergyPlus. Also, the OS plugin for sketchup can directly export .idf, you do not need to translate it to .osm first.

Anna Osborne Brannon's avatar Anna Osborne Brannon  ( 2018-01-17 15:03:43 -0500 )edit

answered 2022-09-23 08:35:32 -0500

For me definitely Ladybug Tools (mostly Honeybee for energy modelling) and Pollination these days. You can import/export .idf and gbXML files, although the ecosystem is using the HBJSON model schema.

The Rhino license is not free, but it is perpetual compared to Sketchup's subscription system, and it is a pretty robust modelling interface with tons of control over geometry, and built-in visual scripting interface (Grasshopper), that lets you parameterise the models in a pretty flexible manner.

It is way more comprehensive and robust now, than simple shoebox models, a lot happened since the previous reply above.

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

Training Workshops


Question Tools



Asked: 2018-01-17 04:57:34 -0500

Seen: 2,953 times

Last updated: Sep 23 '22