IBimDataModelPart

IBimDataModelPart – интерфейс объекта-посредника для чтения и записи файлов модели. Наследуется от IBimDataPart.

export interface IBimDataModelPart extends IBimDataPart {
  update(buffer: ArrayBuffer): Promise<void>;
  mergeWith(dataPartId: string): Promise<void>;
  getAllTessellations(): Promise<Map<string, BimDataTessellation>>;
  getTessellations(versionFrom: bigint, versionTo: bigint): Promise<Map<string, BimDataTessellation>>;
  getAllElements(): Promise<BimDataElement[]>;
  getElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;
  getDiffElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;
  getElementTessellations(versionFrom: bigint, versionTo: bigint): Promise<Map<string, BimDataTessellation>>;
  getElementProperties(elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;
  getAllVersions(): Promise<bigint[]>;
  getLatestVersion(): Promise<bigint>;
}

Методы

update()

Метод выполняет слияние файла модели с другим файлом, переданным в бинарном виде.

  update(buffer: ArrayBuffer): Promise<void>;

где:
buffer – массив данных файла модели (.bm файла).

mergeWith()

Метод дополняет текущий файл модели данными, взятыми из существующего файла модели. Выполняется слияние двух файлов модели, меняется только текущий файл.

  mergeWith(sourceFileId: string): Promise<void>;

где:
sourceFileId – идентификатор файла модели для слияния (.bm файла).

getAllTessellations()

Метод возвращает список всех тесселяций элементов модели.

  getAllTessellations(): Promise<Map<string, BimDataTessellation>>;

Возвращает словарь тесселяций, где ключом является уникальный идентификатор тесселяции. Подробнее: BimDataTessellation.

getTessellations()

Метод возвращает тесселяции, версии которых находятся в указанном диапазоне. При наличии нескольких версий, возвращается тесселяция максимально возможной версии в указанном диапазоне.

  getTessellations(versionFrom: bigint, versionTo: bigint): Promise<Map<string, BimDataTessellation>>;

где:
versionFrom – начальное значение версии модели для поиска.
versionTo – конечное значение версии модели для поиска. Должно быть больше или равно versionFrom.
Возвращает словарь тесселяций, где ключом является уникальный идентификатор тесселяции. Подробнее: BimDataTessellation.

getAllElements()

Метод возвращает список всех элементов модели.

  getAllElements(): Promise<BimDataElement[]>;

Подробнее: BimDataElement.

getElements()

Метод возвращает список элементов модели, версии которых находятся в указанном диапазоне. При наличии нескольких версий, возвращается элемент максимально возможной версии в указанном диапазоне.

  getElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;

где:
versionFrom – начальное значение версии модели для поиска.
versionTo – конечное значение версии модели для поиска. Должно быть больше или равно versionFrom.
Подробнее: BimDataElement.

getDiffElements()

Метод вычисляет разницу двух версий модели и возвращает список изменившихся элементов.

  getDiffElements(versionFrom: bigint, versionTo: bigint): Promise<BimDataElement[]>;

где:
versionFrom – начальное значение версии модели для поиска.
versionTo – конечное значение версии модели для поиска. Может быть меньше versionFrom.
Подробнее: BimDataElement.
Тип изменения элемента указан в свойстве BimDataElement.objectState. Подробнее: BimDataNodeState.

getElementTessellations()

Метод возвращает тесселяции элементов модели, версии которых находятся в указанном диапазоне. При наличии нескольких версий элемента, возвращается тесселляция элемента максимально возможной версии, если диапазон задан в порядке возрастания, или минимально возможной версии, если диапазон задан в порядке убывания версий.
Иными словами, метод возвращает тесселляции, необходимые для перестроения элементов модели при переключении версий с versionFrom на versionTo.

  getElementTessellations(versionFrom: bigint, versionTo: bigint): Promise<Map<string, BimDataTessellation>>;

где:
versionFrom – начальное значение версии модели для поиска.
versionTo – конечное значение версии модели для поиска. Может быть меньше versionFrom.
Возвращает словарь тесселяций, где ключом является уникальный идентификатор тесселяции. Подробнее: BimDataTessellation.

getElementProperties()

Метод возвращает список свойств элемента модели указанной версии.

  getElementProperties(elementId: string, version: bigint): Promise<BimDataElementPropertySet[]>;

где:
elementId – идентификатор элемента модели.
version – версия модели.
Подробнее: BimDataElementPropertySet.

getAllVersions()

Метод возвращает список всех версий модели.

  getAllVersions(): Promise<bigint[]>;

getLatestVersion()

Метод возвращает последнюю версию модели.

  getLatestVersion(): Promise<bigint>;