Table of Contents

Class RevitFileInfo

Namespace
RvtIO.Model
Assembly
RvtIO.dll

Everything the reader decodes from one Revit file.

public class RevitFileInfo

Inheritance

Inherited Members

Properties

ClassSchemas

Tf class schema registry from Formats/Latest. Maps class name -> field list.

public Dictionary<string, ClassSchema>? ClassSchemas { get; set; }

Property Value

Dictionary<string, ClassSchema>?

Elements

All elements of the file.

public List<Element> Elements { get; set; }

Property Value

List<Element>

Metadata

The basic file information.

public FileMetadata Metadata { get; set; }

Property Value

FileMetadata

ParameterDefinitions

Shared parameter-definition table, keyed by parameter definition id (negative for built-in params, positive for user/shared params). Every RvtIO.Model.Parameter on an element references an entry here by its RvtIO.Model.Parameter.Id; only the per-element RvtIO.Model.Parameter.Value is stored inline. Populated by RvtIO.Model.RevitFileInfo.BuildParameterDefinitionTable before serialization to avoid repeating definitions across millions of params.

public Dictionary<int, ParameterDefinition>? ParameterDefinitions { get; set; }

Property Value

Dictionary<int, ParameterDefinition>?

ProjectInfo

The project information.

public ProjectInfo ProjectInfo { get; set; }

Property Value

ProjectInfo

SharedTransform

Shared-coordinates / true-north placement, when the project is rotated or offset from its internal origin. 12 doubles [basisX(3), basisY(3), basisZ(3), origin(3)] in feet - maps project-internal coords to shared coords, exactly like a GInstance transform. Applied to the IFCSITE placement so every element inherits it. Null = axis-aligned.

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

Property Value

double[]?

SiteElevationFeet

Elevation (feet) of the project base point in shared coordinates; 0 when unknown.

public double SiteElevationFeet { get; set; }

Property Value

double

SiteLatitudeRadians

Latitude and longitude (radians) of the GeoSite of the active project location; null when the file has no readable active location.

public double? SiteLatitudeRadians { get; set; }

Property Value

double?

SiteLongitudeRadians

See RvtIO.Model.RevitFileInfo.SiteLatitudeRadians.

public double? SiteLongitudeRadians { get; set; }

Property Value

double?

SitePlaceName

The place name of the GeoSite of the active project location (GeoSite.m_placeName, such as "Boston, MA"); null when the file has no readable active location or the site names no place.

public string? SitePlaceName { get; set; }

Property Value

string?

TransmissionData

The transmission data, null when the file has none.

public TransmissionInfo? TransmissionData { get; set; }

Property Value

TransmissionInfo?

Methods

BuildParameterDefinitionTable()

Build the shared RvtIO.Model.RevitFileInfo.ParameterDefinitions table from all element parameters. The invariant fields of each parameter (name, storage type, read-only flag, ForgeId, unit symbol, GUID) are de-duplicated by definition id.

public void BuildParameterDefinitionTable()