Skip to content

1.3 Relationship to Honeybee schema

Chris Mackey edited this page Oct 18, 2024 · 9 revisions

The Dragonfly Model schema has a direct relationship with the Honeybee Model schema and each Dragonfly Model can be translated into one or more Honeybee Models using the dragonfly-core Python package. Honeybee Models can be translated to a Dragonfly format but, if the Honeybee Rooms are converted to Dragonfly Room2Ds, there could be loss in some geometry information as Honeybee schema supports a much wider range of geometry than the abstracted Dragonfly schema.

Object Mappings from Dragonfly to Honeybee

Dragonfly Room2Ds map directly to Honeybee Rooms and these two objects share many of the same properties. Where the Room is the coarsest/most abstract object in the Honeybee Model schema, the Room2D is the finest/ most detailed object in the Dragonfly Model schema. This means that the Dragonfly schema has objects above Room2Ds(Stories and Buildings) that make it easier to organize and manage Building-scale models. If one were to work purely with Honeybee, one would have to manage lists of lists of lists of Rooms to be able to represent the same hierarchy of the Dragonfly Model schema. Such list management is feasible but, because Dragonfly represents this hierarchy through objects instead of arrays, these hierarchical groups can have properties that simple arrays lack. For example, Dragonfly Stories have a property for multiplier that makes it easy to specify when a given Story is repeated over the height of a Building. This also means that extension properties like energy ConstructionSets can be assigned on the level of Buildings rather than specifying such a property for every single room.

Altogether, the relationship between Dragonfly and Honeybee objects can be represented as follows:

Dragonfly to Honeybee

Object Mappings from Honeybee to Dragonfly

To assist with the fact that that geometry information can be lost during translation from Honeybee Rooms to Dragonfly Room2Ds, Dragonfly Buildings can optionally have 3D Honeybee Rooms assigned directly to them. The following options exist on the translators from Honeybee to Dragonfly:

  • AllRoom2D - All Honeybee Rooms converted to Dragonfly Room2D
  • ExtrudedOnly - Only pure extrusions converted to Dragonfly Room2D
  • AllRoom3D - All Honeybee Rooms left as-is on Building.room_3ds