Skip to content

BH.oM.Base.IBHoMObject

Interface structure

Implemented interfaces and base types

The IBHoMObject is inheriting from the following base type(s) and implements the following interfaces:

Interfaces implementing this interface

The following interfaces are implementing this interface:

Classes implementing this interface

The following classes are implementing this interface:

Properties

Defining properties

The following properties are defined on the interface

Name Type Description Quantity
BHoM_Guid Guid - -
Name string - -
Fragments FragmentSet - -
Tags HashSet<string> - -
CustomData Dictionary<string, object> - -

Derived properties

The following properties are defined as extension methods in one of the BHoM_Engines

Name Type Description Quantity Engine
AdapterIds object Returns the BHoMObject's Id of the provided FragmentType. If more than one matching IdFragment is found, the method returns a List of all Ids of that type.If none is found, null is returned. - Adapter_Engine
CategoryName string Gets Revit category name from BHoMObject. - Revit_Engine
ElementId int Returns integer representation of ElementId of Revit element correspondent to given BHoMObject. This value is stored in RevitIdentifiers fragment. - Revit_Engine
ExplicitBulk ExplicitBulk Queries the material take off information stored as a fragment on the object and return it as an ExplicitBulk element. This could be data extracted from an external package such as Revit and stored in VolumetricMaterialTakeoff fragment attached to a given BHoMObject when pulled. - Matter_Engine
FamilyName string Gets the name of Revit family correspondent to given BHoMObject. This value is stored in RevitIdentifiers fragment. - Revit_Engine
FamilyTypeName string Gets the name of Revit family type correspondent to given BHoMObject. This value is stored in RevitIdentifiers fragment. - Revit_Engine
FindIdentifier Type Tries to find an IAdapterId on the object. - BHoM_Engine
GeometryHash string Returns the geometrical identity of any IBHoMObject, useful for diffing.
The geometrical identity is computed by extracting the geometry of the object via the IGeometry() method.
Then, the hash is computed as a serialised array representing the coordinate of significant points taken on the geometry.
The number of points is reduced to the minimum essential to determine uniquely any geometry.
Additionally, the resulting points are transformed based on the source geometry type, to remove or minimize collisions.
(Any transformation so performed is translational only, in order to support geometrical tolerance, i.e. numerical distance, when comparing GeometryHashes downstream).
- Geometry_Engine
GetAllFragments List<IFragment> Returns all Fragments of an object that inherit from the given parentType, or all of them if no parentType is provided. - BHoM_Engine
GetRevitIdentifiers RevitIdentifiers Retrieves identifiers of the Revit element correspondent to a BHoM object. - Revit_Engine
GetRevitParameters List<RevitParameter> Retrieves parameters that are attached to a BHoM object. If a parameter with given name exists in both collections of pulled parameters and the ones to push, the latter is returned. - Revit_Engine
GSAId int - - GSA_Engine
Hash string Computes a Hash code for the iObject. The hash uniquely represents an object's state, based on its properties and their values. It can be used for comparisons.
You can change how the hash is computed by changing the settings in the ComparisonConfig.
- BHoM_Engine
HostInformation Output<int, string> Returns integer representation of ElementId of Revit element that hosts the element correspondent to given BHoMObject, along with name of the link document, if the host Revit element is linked. This value is stored in RevitHostFragment fragment. - Revit_Engine
Identifier IComparable Queries identifier (BHoM_Guid) of IBHoMObject to be used to identify the object when processing verification results. - Verification_Engine
IGeometry IGeometry - - BHoM_Engine
IGeometry3D IGeometry Queries a three-dimensional geometry out of an IObject, if available. This geometry may be used for downstream tasks such as graphical representation, volume determination, or others. - BHoM_Engine
IGetRevitElementType IBHoMObject Extracts Revit element type representation from a given BHoM object pulled from Revit. - Revit_Engine
LinkDocument string Returns name of the link document containing the Revit element correspondent to given BHoM object. This value is stored in RevitIdentifiers fragment. - Revit_Engine
RenderMesh RenderMesh Returns a RenderMesh of the object, that is a mesh usable for graphical display. - Graphics_Engine
RenderMeshes List<RenderMesh> Returns render meshes of Revit element correspondent to given BHoMObject. This value is stored in RevitRepresentation fragment. - Revit_Engine
RevisionFragment RevisionFragment - - Diffing_Engine
RevitEdges List<ICurve> Returns edges of Revit element correspondent to given BHoMObject. This value is stored in RevitGeometry fragment. - Revit_Engine
RevitMeshes List<Mesh> Returns mesh geometry of Revit element correspondent to given BHoMObject. This value is stored in RevitGeometry fragment. - Revit_Engine
RevitSurfaces List<ISurface> Returns surface geometry of Revit element correspondent to given BHoMObject. This value is stored in RevitGeometry fragment. - Revit_Engine
TaggedName string - - Serialiser_Engine
UniqueId string Retrieves the Revit UniqueId stored on a BHoMObject, if found, otherwise returns null. The UniqueId is stored in the PersistentId property of a RevitIdentifiers fragment. - Revit_Engine
Workset string Returns name of the workset to which the Revit element correspondent to given BHoMObject belongs. This value is stored in RevitIdentifiers fragment. - Revit_Engine

Code and Schema

C# implementation

C#
public interface IBHoMObject : BH.oM.Base.IObject

Assembly: BHoM.dll

The C# interface definition is available on github:

All history and changes of the class can be found by inspection the history.

JSON Schema implementation

The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.

JSON Schema
{
 "$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/BHoM/IBHoMObject.json"
}

The JSON Schema is available on github here: