Skip to main content

T8Product <TEntityType, TUnit>

Represents a building product (element) in the T8 Client Model. Products represent physical or logical building components (walls, doors, spaces, etc.).

@example
const model = readT8ClientModel(buffer);
const wall = model.products.find(p => p.className === 'IfcWall');
console.log(`Wall: ${wall.name}`);
console.log(`Type: ${wall.className}`);
console.log(`Properties:`, wall.propertySets);
console.log(`Contains ${wall.contains.length} elements`);

Hierarchy

Index

Constructors

constructor

  • new T8Product<TEntityType, TUnit>(localId: number, globalId: string, className: string, data: Record<string, string | number | boolean>, propertySets?: Record<string, T8PropertySet<TUnit>>, computedPropertySets?: Record<string, T8PropertySet<TUnit>>, quantities?: Record<string, T8QuantitySet<TUnit>>, name?: undefined | string, description?: undefined | string, tag?: string): T8Product<TEntityType, TUnit>
  • Type parameters

    Parameters

    • localId: number

      Local numerical identifier within the model

    • globalId: string

      Global unique identifier (GUID)

    • className: string

      Class name (e.g., 'IfcWall', 'IfcDoor')

    • data: Record<string, string | number | boolean>

      Custom data values attached to this product

    • propertySets: Record<string, T8PropertySet<TUnit>> = ...

      Property sets (e.g., Pset_WallCommon)

    • computedPropertySets: Record<string, T8PropertySet<TUnit>> = ...

      Computed property sets (e.g., Pset_Twinfinity_Aggregates)

    • quantities: Record<string, T8QuantitySet<TUnit>> = ...

      Quantity sets (e.g., Qto_WallBaseQuantities)

    • name: undefined | string = undefined

      Optional name of the product

    • description: undefined | string = undefined

      Optional description of the product

    • optionaltag: string

      Optional tag identifier

    Returns T8Product<TEntityType, TUnit>

Properties

publicreadonlyaggregates

aggregates: readonly T8Product<TEntityType, TUnit>[] = ...

Products that are aggregated by this product

publicclassName

className: string

Class name (e.g., 'IfcWall', 'IfcDoor')

publiccomputedPropertySets

computedPropertySets: Record<string, T8PropertySet<TUnit>> = ...

Computed property sets (e.g., Pset_Twinfinity_Aggregates)

publicreadonlycontains

contains: readonly T8Product<TEntityType, TUnit>[] = ...

Products that are contained within this product (spatial containment)

publicdata

data: Record<string, string | number | boolean>

Custom data values attached to this product

publicoptionaldefinedByType

definedByType?: TEntityType

The entity type (class) this product is an instance of

publicdescription

description: undefined | string = undefined

Optional description of the product

facility

facility: undefined | T8Product<TEntityType, TUnit>

facilityPart

facilityPart: undefined | T8Product<TEntityType, TUnit>

publicglobalId

globalId: string

Global unique identifier (GUID)

publiclocalId

localId: number

Local numerical identifier within the model

publicname

name: undefined | string = undefined

Optional name of the product

parent

parent: undefined | T8Product<TEntityType, TUnit>

publicpropertySets

propertySets: Record<string, T8PropertySet<TUnit>> = ...

Property sets (e.g., Pset_WallCommon)

publicquantities

quantities: Record<string, T8QuantitySet<TUnit>> = ...

Quantity sets (e.g., Qto_WallBaseQuantities)

site

site: undefined | T8Product<TEntityType, TUnit>

publicoptionaltag

tag?: string

Optional tag identifier

Accessors

children

  • get children(): Iterable<T8Product<TEntityType, TUnit>, any, any>
  • Returns Iterable<T8Product<TEntityType, TUnit>, any, any>

class

hasGeometry

  • get hasGeometry(): boolean
  • Returns boolean

hasStructuredRelationships

  • get hasStructuredRelationships(): boolean
  • Returns boolean

meshes

polylines

quantitySets

publictype

  • get type(): undefined | TEntityType
  • Returns undefined | TEntityType

Methods

publicstaticconnect

publicstaticcreate