jEuclid: The first (free) epJSON geometry editor

February, 2026

Introducing jEuclid

My quest to promote epJSON in the EnergyPlus ecosystem has a new milestone: jEuclid! For context, Euclid is a free, open-source SketchUp extension for editing EnergyPlus model geometry, developed by Big Ladder Software. I recently forked and refactored the tool to be epJSON-native, and added a 'j' (for JSON) to the name to distinguish it from the IDF-native version. But don't worry IDF lovers; jEuclid is fully compatible with IDF too!

History

To appreciate the evolution of this useful tool, let me provide a brief history. Euclid evolved out of OpenStudio, which was released by NREL[1] in 2006 as a direct-to-IDF geometry plug-in for SketchUp. When NREL released OpenStudio 2.0 in 2016, it was a major, re-engineered version that introduced the OpenStudio Command Line Interface (CLI) and the Software Development Kit (SDK). With these tools, the OpenStudio Application was developed as a standalone graphical interface for editing more model inputs such as HVAC systems, as well as a new OpenStudio Sketchup Plug-in which operates on the new OpenStudio Model (OSM) format. For this reason, the "old" OpenStudio Sketchup extension, which operated on IDF, was re-named the "Legacy OpenStudio Plug-in". By that time, Peter Ellis, who had written the original OpenStudio SketchUp plugin while at NREL, had started his own company called Big Ladder Software. Since NREL was no longer supporting the Legacy OpenStudio Plug-in, Big Ladder took over its development, and officially renamed it Euclid in the summer of 2017.

jEuclid continues Euclid's direct-to-EnergyPlus ethos by writing in epJSON format. epJSON is a newer input file format introduced in EnergyPlus version 9.6. If the user selects an IDF to be opened, jEuclid instantly converts it to epJSON format, and upon saving, converts it back to IDF if specified.

Motivation

Several compelling reasons motivated me to refactor Euclid to be epJSON-native. First, I simply wanted a geometry editor that aligned with my current workflow; I've moved away from IDF in favor of epJSON's superior scripting capabilities[2]. Secondly, epJSON has significant performance improvements and architectural advantages over IDF[3]. But perhaps most importantly for maintaining a SketchUp plug-in, epJSON's key/value structure offers several practical advantages:

  • Simpler version translation
  • Default values don't need to be explicitly defined (or inferred with an additional comma like in IDF)
  • Data queries are more straightforward

Restored Feature: Daylighting Controls

While diving into the codebase, I was also able to restore a feature that has been deactivated in Euclid for several years now: daylighting controls! jEuclid has the ability to view, place, and edit daylighting sensors and controls once again.

Try it out

I've only tested jEuclid with SketchUp Make 2017 (the last free desktop version), so I'm not sure if it works with the latest SketchUp Pro versions (please let me know). SketchUp Make 2017 is no longer supported by Trimble, but installers can still be downloaded thanks to Internet Archive.

So please, give jEuclid a whirl and let me know what you think!


1National Renewable Energy Laboratory (NREL) is a U.S. Department of Energy research laboratory that was renamed National Laboratory of the Rockies (NLR) in December, 2025.

2As I've written about in previous blogs, JSON is natively supported in nearly every programming language, so developers can leverage existing, well-tested libraries rather than relying on custom parsers for the legacy IDF format

3 In a 2018 paper by Oak Ridge National Laboratory researchers Joshua New and Mark Adams, the authors documented benchmarks showing overall speedups ranging from 1.6x to 5.4x depending on model complexity, with the most dramatic improvements seen in models with many surfaces. More specifically, they measured 36-62% reductions in input processing time, 14-60% faster file reads, and query performance improvements of 24-99+% for functions optimized for epJSON format. The performance gains stem from fundamental improvements in how data is organized and accessed. The legacy IDF format defined relationships between data fields by position, requiring the parser to step through each field sequentially. In contrast, epJSON's key/value structure allows direct lookup of specific data, reducing algorithmic complexity from O(n²) to O(n) for many common operations. This architectural change also eliminated the need for the VerifyName function that previously checked for unique object names because JSON's standard enforcement of unique keys makes this verification automatic. For tool developers, epJSON opens up new possibilities: users can add custom markup to input files for third-party tools (EnergyPlus simply ignores unrecognized fields), and JSON Schema validation enables developers to validate input files in any programming language before even running EnergyPlus.