Table of Contents

Class Element

Namespace
RvtIO.Model
Assembly
RvtIO.dll

A Revit element: an instance or a type, with its identity, parameters and geometry.

public class Element

Inheritance

Inherited Members

Properties

BoundingBox

The axis-aligned outline the element header stores: [minX, minY, minZ, maxX, maxY, maxZ] in Revit internal units (feet, project coordinates) - the box the application reports. Null when the header stores no outline; the tighter box of the decoded geometry stays on the geometry.

public double[]? BoundingBox { get; set; }

Property Value

double[]?

Category

BuiltInCategory name (e.g. "OST_Walls").

public string? Category { get; set; }

Property Value

string?

CategoryId

Revit BuiltInCategory ID (e.g. -2000011 = OST_Walls).

public int? CategoryId { get; set; }

Property Value

int?

DebugNativeFields

Diagnostic (RVTIO_ALL_FIELDS=1): all named scalar schema fields, "Declaring:Name" -> value.

public Dictionary<string, object>? DebugNativeFields { get; set; }

Property Value

Dictionary<string, object>?

Dimension

Dimension / constraint geometry (reference points + measured value), decoded from 0x091F blocks.

public DimensionData? Dimension { get; set; }

Property Value

DimensionData?

ExplicitHostIds

Explicit hosts stored by InsertableInst.m_explicitHostIds.

public List<int>? ExplicitHostIds { get; set; }

Property Value

List<int>?

ExtraHostIds

Additional hosts stored by InsertableInst.m_extraHostIds.

public List<int>? ExtraHostIds { get; set; }

Property Value

List<int>?

FamilyName

Family/type name resolved from FamId or ELEM_TYPE_PARAM reference.

public string? FamilyName { get; set; }

Property Value

string?

FamilyTypeId

Get the type element ID (from ELEM_TYPE_PARAM). Returns -1 if no type reference found.

[JsonIgnore]
public int FamilyTypeId { get; }

Property Value

int

Geometry

Parsed geometry from GRep block (faces, edges, vertices).

public GeometryData? Geometry { get; set; }

Property Value

GeometryData?

HostId

Host element ID for inserts (doors/windows -> host wall).

public int? HostId { get; set; }

Property Value

int?

Id

The element id.

public int Id { get; set; }

Property Value

int

Layers

CompoundStructure layers (wall/floor/ceiling types). Each layer has thickness, function, material.

public List<MaterialLayer>? Layers { get; set; }

Property Value

List<MaterialLayer>?

Location

Location curve for wall elements (line/arc with start/end/direction).

public LocationCurve? Location { get; set; }

Property Value

LocationCurve?

Name

Element name (first useful string found near this element in the binary stream).

public string? Name { get; set; }

Property Value

string?

Parameters

The parameters of the element.

public List<Parameter> Parameters { get; set; }

Property Value

List<Parameter>

RefStrings

Strings found near referenced elements, grouped by their TypeId.

public Dictionary<string, List<string>>? RefStrings { get; set; }

Property Value

Dictionary<string, List<string>>?

References

IDs of directly referenced elements.

public List<int>? References { get; set; }

Property Value

List<int>?

SerializedHostId

Exact InsertableInst.m_hostId stored in the RVT stream. A value of -1 is significant: the instance is not a host-cutting insert, even when its generic reference graph contains a wall.

public int? SerializedHostId { get; set; }

Property Value

int?

SketchLoops

For a sketch-owning element (the element that references its OST_SketchLines): the closed sketch loops, each an ordered list of [x, y, z] boundary points (feet). Reconstructed from the member sketch lines by shared-endpoint connectivity.

public List<List<double[]>>? SketchLoops { get; set; }

Property Value

List<List<double[]>>?

SuperInstanceId

Owning nested FamilyInstance stored by FamilyInstance.m_superInstanceId.

public int? SuperInstanceId { get; set; }

Property Value

int?

Transform

FamilyInstance placement transform: position + orientation in world coordinates. Origin = [x, y, z] in feet. BasisX/Y/Z = rotation axes (unit vectors).

public InstanceTransform? Transform { get; set; }

Property Value

InstanceTransform?

TypeId

Resolved type element id; nonpositive when unresolved.

public int TypeId { get; set; }

Property Value

int

UniqueId

Revit UniqueId: "{document-GUID}-{elemId:08x}". Constructed from the document GUID extracted from binary data.

public string? UniqueId { get; set; }

Property Value

string?

this[string]

Get parameter value by name, with typed access. Returns null if parameter not found.

public Parameter? this[string paramName] { get; }

Property Value

Parameter?

this[BuiltInParameter]

Get parameter value by BuiltInParameter enum. Returns null if parameter not found.

public Parameter? this[BuiltInParameter bip] { get; }

Property Value

Parameter?

Methods

GetParameters(string)

Find all parameters matching the given name.

public IReadOnlyList<Parameter> GetParameters(string name)

Parameters

name string

Returns

IReadOnlyList<Parameter>

LookupParameter(string)

Find the first parameter with the given name. Matches against Definition.Name (display name).

public Parameter? LookupParameter(string name)

Parameters

name string

Returns

Parameter?

LookupParameter(BuiltInParameter)

Find the first parameter by BuiltInParameter enum value.

public Parameter? LookupParameter(BuiltInParameter bip)

Parameters

bip BuiltInParameter

Returns

Parameter?

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.