# Interface ModelProject

Project root node. Iterating yields all ModelProduct instances in the hierarchy via depth-first traversal.

interface ModelProject {
aggregates: readonly ModelProduct[];
className: string;
description?: string;
globalId: string;
name?: string;
propertySets: Record<string, T8PropertySet<T8Unit>>;
quantitySets: Record<string, T8QuantitySet<T8Unit>>;
"[iterator]"(): Iterator<ModelProduct>;
}

##### Index

### Properties

aggregates
className
description?
globalId
name?
propertySets
quantitySets

### Methods

[iterator]

## Properties

### `Readonly` aggregates

aggregates: readonly ModelProduct[]

Top-level products (typically a single `IfcSite`).

### `Readonly` className

className: string

Full IFC class name (typically `'IfcProject'`).

### `Optional` `Readonly` description

description?: string

### `Readonly` globalId

globalId: string

### `Optional` `Readonly` name

name?: string

### `Readonly` propertySets

propertySets: Record<string, T8PropertySet<T8Unit>>

### `Readonly` quantitySets

quantitySets: Record<string, T8QuantitySet<T8Unit>>

## Methods

### [iterator]

- "[iterator]"(): Iterator<ModelProduct>

  Depth-first iterator over all products in the project hierarchy.

  #### Returns Iterator<ModelProduct>