Honeybee Validation Report Schema (2.2.0)

Download OpenAPI specification:Download

Honeybee validation-report schema.

ExtensionTypes

string (ExtensionTypes)
Enum: "Core" "Radiance" "Energy"

Types of Honeybee/Dragonfly extensions.

"Core"

Face3D

boundary
required
Array of numbers (Boundary) >= 3 items [ items <double > = 3 items [ items <double > ] ]

A list of points representing the outer boundary vertices of the face. The list should include at least 3 points and each point should be a list of 3 (x, y, z) values.

type
string (Type)
Default: "Face3D"
Value: "Face3D"
Array of Holes (numbers) or Holes (null) (Holes)
Default: null

Optional list of lists with one list for each hole in the face.Each hole should be a list of at least 3 points and each point a list of 3 (x, y, z) values. If None, it will be assumed that there are no holes in the face.

Plane (object) or null
Default: null

Optional Plane indicating the plane in which the face exists.If None, the plane will usually be derived from the boundary points.

{
  • "boundary": [
    ],
  • "type": "Face3D",
  • "holes": null,
  • "plane": null
}

LineSegment3D

p
required
Array of numbers <double> (P) = 3 items [ items <double > ]

Line segment base point as 3 (x, y, z) values.

v
required
Array of numbers <double> (V) = 3 items [ items <double > ]

Line segment direction vector as 3 (x, y, z) values.

type
string (Type)
Default: "LineSegment3D"
Value: "LineSegment3D"
{
  • "p": [
    ],
  • "v": [
    ],
  • "type": "LineSegment3D"
}

ObjectTypes

string (ObjectTypes)
Enum: "Shade" "Aperture" "Door" "SubFace" "Face" "Room" "SensorGrid" "View" "Modifier" "ModifierSet" "Material" "Construction" "ConstructionSet" "ScheduleTypeLimit" "Schedule" "ProgramType" "HVAC" "SHW" "RoofSpecification" "Room2D" "Story" "Building"

Types of Honeybee objects.

"Shade"

ParentTypes

string (ParentTypes)
Enum: "Aperture" "Door" "Face" "Room" "Story" "Building"

Types of Honeybee objects that can be parents.

"Aperture"

Plane

n
required
Array of numbers <double> (N) = 3 items [ items <double > ]

Plane normal as 3 (x, y, z) values.

o
required
Array of numbers <double> (O) = 3 items [ items <double > ]

Plane origin as 3 (x, y, z) values

type
string (Type)
Default: "Plane"
Value: "Plane"
Array of X (numbers) or X (null) (X)
Default: null

Plane x-axis as 3 (x, y, z) values. If None, it is autocalculated.

{
  • "n": [
    ],
  • "o": [
    ],
  • "type": "Plane",
  • "x": null
}

Platforms

string (Platforms)
Enum: "LBT Python" "LBT Grasshopper" "Pollination Rhino" "Model Editor"

A list of platforms where validation errors can be fixed.

"LBT Python"

Point3D

x
required
number <double> (X)

Number for X coordinate.

y
required
number <double> (Y)

Number for Y coordinate.

z
required
number <double> (Z)

Number for Z coordinate.

type
string (Type)
Default: "Point3D"
Value: "Point3D"
{
  • "x": 0,
  • "y": 0,
  • "z": 0,
  • "type": "Point3D"
}

SuggestedFix

platform
required
string (Platforms)
Enum: "LBT Python" "LBT Grasshopper" "Pollination Rhino" "Model Editor"

A list of platforms where validation errors can be fixed.

command
required
string (Command)

Text string for name of the command to be used as a suggested fix.

type
string (Type)
Default: "SuggestedFix"
Value: "SuggestedFix"
Inputs (object) or Inputs (null) (Inputs)
Default: null

Dictionary containing inputs for the command to enable it to fix the ValidationError. The keys of this dictionary should correspond to the name of the input and the values should be the recommended input value. When None, the assumption is that all command defaults are used.

{
  • "platform": "LBT Python",
  • "command": "string",
  • "type": "SuggestedFix",
  • "inputs": null
}

ValidationError

code
required
string (Code) = 6 characters ([0-9]+)

Text with 6 digits for the error code. The first two digits indicate whether the error is a core honeybee error (00) vs. an extension error (any non-zero number). The second two digits indicate the nature of the error (00 is an identifier error, 01 is a geometry error, 02 is an adjacency error). The third two digits are used to give a unique ID to each condition moving upwards from more specific/detailed objects/errors to coarser/more abstract objects/errors. A full list of error codes can be found here: https://docs.pollination.solutions/user-manual/rhino-plugin/troubleshooting/help-with-modeling-error-codes

error_type
required
string (Error Type)

A human-readable version of the error code, typically not more than five words long.

extension_type
required
string (ExtensionTypes)
Enum: "Core" "Radiance" "Energy"

Types of Honeybee/Dragonfly extensions.

element_type
required
string (ObjectTypes)
Enum: "Shade" "Aperture" "Door" "SubFace" "Face" "Room" "SensorGrid" "View" "Modifier" "ModifierSet" "Material" "Construction" "ConstructionSet" "ScheduleTypeLimit" "Schedule" "ProgramType" "HVAC" "SHW" "RoofSpecification" "Room2D" "Story" "Building"

Types of Honeybee objects.

element_id
required
Array of strings (Element Id) [ items [ 1 .. 100 ] characters ^[^,;!\n\t]+$ ]

A list of text strings for the unique object IDs that caused the error. The list typically contains a single item but there are some types errors that stem from multiple objects like mis-matched area adjacencies or overlapping Room geometries. Note that the IDs in this list can be the identifier of a core object like a Room or a Face or it can be for an extension object like a SensorGrid or a Construction.

message
required
string (Message)

Text for the error message with a detailed description of what exactly is invalid about the element.

type
string (Type)
Default: "ValidationError"
Value: "ValidationError"
element_name
Array of strings (Element Name)
Default: null

A list of text strings for the display names of the objects that caused the error.

Array of objects (Parents) [ items ]
Default: null

A list lists where each sub-list corresponds to one of the objects in the element_id property. Each sub-list contains information for the parent objects of the object that caused the error. This can be useful for locating the problematic object in the model. This will contain 1 item for a Face with a parent Room. It will contain 2 for an Aperture that has a parent Face with a parent Room.

Array of objects (Top Parents)
Default: null

A list of top-level parent objects for the specific case of duplicate child-object identifiers, where several top-level parents are involved.

Array of Point3D (object) or LineSegment3D (object) or Face3D (object) (Helper Geometry)
Default: null

An optional list of geometry objects that helps illustrate where exactly issues with invalid geometry exist within the Honeybee object. Examples include the naked and non-manifold line segments for non-solid Room geometries, the points of self-intersection for cases of self-intersecting geometry and out-of-plane vertices for non-planar objects. Oftentimes, zooming directly to these helper geometries will help end users understand invalid situations in their model faster than simple zooming to the invalid Honeybee object in its totality.

Array of objects (Suggested Fixes)
Default: null

An optional list of SuggestedFix objects with recommendations for how to fix the error. Multiple objects can be included to represent different methods for fixing the error.

{
  • "code": "string",
  • "error_type": "string",
  • "extension_type": "Core",
  • "element_type": "Shade",
  • "element_id": [
    ],
  • "message": "string",
  • "type": "ValidationError",
  • "element_name": null,
  • "parents": null,
  • "top_parents": null,
  • "helper_geometry": null,
  • "suggested_fixes": null
}

ValidationParent

parent_type
required
string (ParentTypes)
Enum: "Aperture" "Door" "Face" "Room" "Story" "Building"

Types of Honeybee objects that can be parents.

id
required
string (Id) [ 1 .. 100 ] characters ^[.A-Za-z0-9_-]+$

Text string for the unique ID of the parent object.

type
string (Type)
Default: "ValidationParent"
Value: "ValidationParent"
name
string (Name)
Default: null

Display name of the parent object.

{
  • "parent_type": "Aperture",
  • "id": "string",
  • "type": "ValidationParent",
  • "name": null
}

ValidationReport

app_version
required
string (App Version) ([0-9]+)\.([0-9]+)\.([0-9]+)

Text string for the version of honeybee-core or dragonfly-core that performed the validation.

schema_version
required
string (Schema Version) ([0-9]+)\.([0-9]+)\.([0-9]+)

Text string for the version of honeybee-schema or dragonfly-schema that performed the validation.

valid
required
boolean (Valid)

Boolean to note whether the Model is valid or not.

type
string (Type)
Default: "ValidationReport"
Value: "ValidationReport"
app_name
string (App Name)
Default: "Honeybee"

Text string for the name of the application that performed the validation. This is typically either Honeybee or Dragonfly.

fatal_error
string (Fatal Error)
Default: ""

A text string containing an exception if the Model failed to serialize. It will be an empty string if serialization was successful.

Array of objects (Errors)
Default: null

A list of objects for each error that was discovered in the model. This will be an empty list or None if no errors were found.

{
  • "app_version": "string",
  • "schema_version": "string",
  • "valid": true,
  • "type": "ValidationReport",
  • "app_name": "Honeybee",
  • "fatal_error": "",
  • "errors": null
}