Интерфейс bim

Редактировал(а) Bimit Administrator 02.10.2024, 09:47

Основной интерфейс для получения и работы с данными. В данном интерфейсе доступны следующие методы:

  • addAttribute - добавление атрибутов для списка элементов
  • calculateDuty - получение номера дежурной группы
  • createCondition - функция создания условия поиска элементов
  • createCondition - функция создания условия поиска элементов по параметру поиска, оператору сравнения
  • createGroupElements - создание (объединение) элементов в группы с указанием цвета в формате HEX
  • deleteDutyShift - удаление назначенной группы к задаче, название которой содержит указанную строку
  • deleteParam - удаление параметра задачи по параметру идентификатора
  • deleteParams - удаление параметров
  • editParam - редактирование параметра задачи по идентификатору параметра, имени параметра, параметру
  • editTokenExpiredDate - позволяет изменить количество дней, через сколько токен для скачивания файлов станет недействительным
  • getAllElementsByListUuidAndProjectUuid - взятие данных об элементах по их списку идентификаторов, в котором выполняется плагин
  • getAmountDate - получение даты через указанное количество дней
  • getAttachmentDrawing - получение байтового массива с чертежом вложенного к задаче по названию чертежа
  • getAttachmentImage - получение изображения вложенного к задаче по названию изображения
  • getAvatar - получение байтового массива аватара по его имени
  • getCollisionInfo - получение объекта CollisionInfo для выделенной коллизии (коллизии, назначенной к задаче)
  • getCollisionsForReport - функция получения списка коллизий для отчета
  • getCommentFromTaskAttachment - получение текста комментария из sourceData
  • getDate - получение даты из строки
  • getDateTime - получение даты и времени из строки
  • getElement - функция получения полной информации о элементе
  • getElements - функция получения списка элементов с полной информацией
  • getEndDate - получение даты на конец следующего дня
  • getFilesDownloadLinks - получение списка ссылок на скачивание файлов, которые вложены в задачи проекта
  • getFirstEscalationTasks - получение списка просроченных задач
  • getGeometryElement - функция получения полной информации о элементе и дополнительно параметры геометрии
  • getGeometryElementA - специфичная функция получения полной информации о элементе и дополнительно параметры геометрии для расчета коллизий (сторона А, если существует)
  • getGeometryElementB - специфичная функция получения полной информации о элементе и дополнительно параметры геометрии для расчета коллизий (сторона B, если существует)
  • getGeometryElements - функция получения списка элементов с полной информацией и дополнительно параметры геометрии, на вход ей можно подать: условие поиска, сложное условие поиска
  • getGeometryModel - взятие данных о модели по ее идентификатору с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ
  • getGeometryObject - функция получения координат элемента для формирования объемной модели или отрисовки на экране
  • getGeometryObjects - функция получения списка координат элементов для формирования объемной модели или отрисовки на экране
  • getGeometryProject - взятие данных о проекта с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ
  • getHtmlAvatar - получение аватара преобразованного к виду htlm строки (кода) по имени аватара
  • getHtmlDrawing - получение чертежа преобразованного к виду html строки (кода) по имени чертежа
  • getHtmlImage - получение изображения преобразованную к виду html строки (кода) по имени изображения
  • getLateTasks - получение списка всех просроченных задач, либо задач на эскалации
  • getLinkToTask - получение ссылки на проект с параметрами для открытия конкретной задачи
  • getMaintenanceTasks - получение списка задач ТО по списку идентификаторов
  • getModelCollisions - функция получения списка коллизий модели
  • getModelRevisions - взятие всех ревизий модели
  • getOrCreateTaskFromMaintenance - создание или получение задачи на запланированное ТО по идентификатору задачи
  • getOrgGroup - получение группы организации
  • getOrgGroups - получение списка групп организации
  • getParamsToTask - получение списка параметров для задачи по идентификатору задачи
  • getProcessStatuses - получение списка пользовательских статусов для активного рабочего пространства
  • getProfile - получение данных о пользователе по его идентификатору Uuid
  • getProfiles - получение данных о пользователях по их идентификаторам UUID
  • getProject - взятие проекта на котором выполняется плагин
  • getProjectCollisions - функция получения списка коллизий проекта
  • getProjectMaintenanceTasks - получение списка всех задач ТО на проект
  • getProjectModels - взятие всех активных моделей проекта на котором выполняется плагин
  • getProjectTasks - получение списка всех задач проекта
  • getSecondEscalationTasks - получить список задач второй эскалации
  • getStartDate - получение даты на начало следующего дня
  • getTask - получение задачи по её идентификатору
  • getTaskAttachments - получение списка всех вложений к задаче по идентификатору задач
  • getTaskComments - получение списка всех комментариев у задачи по идентификатору задач
  • getTaskForm - получение списка данных формы задачи по идентификатору задачи
  • getTaskParams - получение списка параметров для всех задач рабочего пространства
  • getTaskWorkers - получение списка профилей у задачи по её идентификатору
  • getTasks - получение списка задач
  • getTasksCurrentWorkSpace - получение гладкого списка всех задач указанного рабочего пространства (получение родителей и детей)
  • getTasksTree - получение дерева задач проекта, в котором выполняется плагин (только родители)
  • getTasksTreeCurrentWorkSpace - получение дерева задач указанного рабочего пространства (только родители)
  • getUuidsElementsByProjectUuid - взятие всех идентификаторов элементов из проекта, в котором выполняется плагин
  • getWorkSpacesCurrentProject - получение всех идентификаторов рабочих пространств проекта, в котором выполняется плагин
  • initPluginTaskStatus - инициализация пользовательских статусов в проекте
  • registerProcessStatuses - регистрация списка пользовательских статусов для задач по списку статусов задач плагина
  • saveParamsToTask - сохранение списка пользовательских параметров к задаче, на вход ей можно подать: идентификатор задачи, параметры, показ задачи
  • saveTask - создание и/или сохранение задачи
  • setGroupResponderToTask - назначение группы организации как ответственного на задачу по идентификатору задачи, имени группы
  • setGroupWorkersToTask - назначение группы организации как работника на задачу по идентификатору задачи, списку титулов
  • setPluginStatusToTask - изменение пользовательского статуса задачи по идентификатору задачи, статусу
  • showElements - функция отображения на экране списка элементов (выбор/подсветка на модели)
  • showGroupElements - функция отображения/подсветки на экране ранее созданных групп элементов

Справочники

getProject - взятие проекта на котором выполняется плагин 

  • bim.getProject() - метод представляет следующую структуру

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор проекта

getUuid()

alias

string

уникальное название английское

getAlias()

title

string

заголовок

getTitle()

description

string

описание

getDescription()

color

string

цвет метки проекта

getColor()

preview

string

ссылка на картинку превью проекта

getPreview()

createDate

date

дата создания

getCreateDate()

editDate

date

дата последнего редактирования

getEditDate()

profileUuid

uuid

идентификатор пользователя автора проекта

getProfileUuid()

Пример использования:

def project = bim.getProject()
def editProjectDate = project.getEditDate()
          console.info(editProjectDate.toString())
// -> “INFO: 2022-01-01 01:01:12.567 +0300”

getProfile  - получение данных о пользователе по его идентификатору Uuid

  • bim.getProfile(Идентификатор пользователя)

Пример использования:

def profile = bim.getProfile(UUID.fromString("ef952aa8-7ddc-11ec-90d6-0242ac120003")
def profileUuid= profile.getUuid()

// console.info(profileUuid.toString())  -> “INFO: ef952aa8-7ddc-11ec-90d6-0242ac120003”

getProjectModels - взятие всех активных моделей проекта на котором выполняется плагин)

  • bim.getProjectModels()

Пример использования:

def listModels = bim.getProjectModels()
for (Model model: listModels ) {
def modelUuid = model.getUuid()

// console.info(modelUuid .toString())  -> “INFO: 4e733308-7ddd-11ec-90d6-0242ac120003”
}

getModelRevisions - взятие всех ревизий модели

  • bim.getModelRevisions(Идентификатор модели)

Пример использования:

def listModelRevisions = bim.getModelRevisions(UUID.fromString("4e733308-7ddd-11ec-90d6-0242ac120003")
for (ModelRevision modelRevision: listModelRevisions ) {
    def modelRevisionUuid= modelRevision.getUuid()

//  console.info(modelRevisionUuid .toString())  -> “INFO: 697ba2b6-7ddd-11ec-90d6-0242ac120003”
}

getProjectTasks - получение списка всех задач проекта

  • getProjectTasks() метод, который возвращает структуру списка задач, каждая задача представляет из себя следующую структуру:

Поле  

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор задачи

getUuid()

title

string

заголовок задачи

getTitle()

name

string

наименование задачи

getName()

description

string

описание задачи

getDescription()

responderUuid

uuid

идентификатор пользователя на которого назначена задача

getResponderUuid()

creatorUuid

uuid

идентификатор пользователя создавшего задачу

getCreatorUuid()

priority

Enum:

LOW, NORMAL, HIGH

приоритет задачи

getPriority()

taskType

Enum:

TASK, BUG, IMPROVEMENT

тип задачи

getTaskType()

createDate

date-time

дата создания задачи

getCreateDate()

completeStatus

Enum:

 NEW, DISCUSS, PROGRESS, READY, CLOSED

статус задачи

getCompleteStatus()

worldX

double

координаты метки привязанной к задаче

getWorldX()

worldY

double

координаты метки привязанной к задаче

getWorldY()

worldZ

double

координаты метки привязанной к задаче

getWorldZ()

entityId

string

идентификатор элемента если есть

getEntityId()

Пример использования

def listTasks = bim.getProjectTasks()
for (Task task: listTasks ) {
    def taskUuid= task.getUuid()

   // console.info(taskUuid .toString())  -> “INFO: c73df7aa-7ddd-11ec-90d6-0242ac120003”
}

getTaskComments - получение списка всех комментариев у задачи по идентификатору задача

  • bim.getTaskComments(UUID taskUuid)

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

createDate

date-time

дата создания комментария

getCreateDate()

text

string

комментарий

getText()

authorUuid

uuid

автор комментария

getAuthorUuid()

Пример использования

def listComments = bim.getTaskComments(c73df7aa-7ddd-11ec-90d6-0242ac120003)
for (Comment comment: listComments ) {
    def authorUuid= comment.setAuthorUuid()

getTaskAttachments - получение списка всех вложений к задаче по идентификатору задача

  • bim.getTaskAttachments(UUID taskUuid)

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор вложения

getUuid()

file

string

ссылка на файл вложения

getFile()

name

string

наименование вложения

getName()

camera

string

опции камеры вложения (например скриншота)

getCamera()

createDate

date-time

дата создания вложения

getCreateDate()

contentType

string

тип вложения

getContentType()

creatorUuid

uuid

идентификатор автора вложения

getCreatorUuid()

Пример использования:

def listAttachments = bim.getTaskAttachments(c73df7aa-7ddd-11ec-90d6-0242ac120003)
for (Attachment attachment: listAttachments ) {
    def createDate= attachment.setCreateDate()

// console.info(createDate.toString())  -> “INFO: 2022-01-21 10:01:12.567 +0300”
}

getElements - функция получения списка элементов с полной информацией

  • bim.getElements(Условие поиска)
  • bim.getElements(Список идентификаторов элементов)

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

string

идентификатор элемента

getUuid()

globalId

string

глобальный идентификатор элемента

getGlobalId()

name

string

наименование элемента

getName()

longName

string

полное наименование элемента

getLongName()

elementClass

string

идентификатор класса элемента

getElementClass()

stringValue

string

значение элемента для атрибутных элементов в строковом виде

getStringValue()

doubleValue

double

значение элемента для атрибутных элементов в численном виде, если преобразование возможно, иначе будет 0

getDoubleValue()

project

string

идентификатор проекта

getProject()

children

массив

массив и элементов, дети, атрибуты, группы атрибутов

getChildren()

elementClassName

string

наименование класса элемента ifc

getElementClassName()

elementClassTitle

string

наименование класса элемента

getElementClassTitle()

Примеры использования:

def conditionWall = bim.createCondition("class", "eq", "IfcWall")
def listWalls = bim.getElements (conditionWall )
for (Element element: listWalls ) {
def globalId = element.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
}
def elements = new HashSet<UUID>()
elements.add(UUID.randomUuid())
def listElements = bim.getElements(elements)
for (Element element: listElements ) {
def globalId = element.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
}

getElement - функция получения полной информации о элементе

  • bim.getElement(Идентификатор элемента)
  • bim.getElement(Идентификатор элемента как текст)

Примеры использования:

def element = bim.getElement(UUID.fromString("e5a114d0-7de1-11ec-90d6-0242ac120003"))
def globalId = element.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def element = bim.getElement("e5a114d0-7de1-11ec-90d6-0242ac120003")
def globalId = element.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”

getGeometryElement - функция получения полной информации о элементе и дополнительно параметры геометрии

  • bim.getGeometryElement(Идентификатор элемента)
  • bim.getGeometryElement(Идентификатор элемента как текст)

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор элемента

getUuid()

globalId

string

глобальный идентификатор элемента

getGlobalId()

name

string

наименование элемента

getName()

longName

string

полное наименование элемента

getLongName()

elementClass

uuid

идентификатор класса элемента

getElementClass()

stringValue

string

значение элемента для атрибутных элементов в строковом виде

getStringValue()

doubleValue

double

значение элемента для атрибутных элементов в численном виде, если преобразование возможно, иначе будет 0

getDoubleValue()

project

uuid

идентификатор проекта

getProject()

children

массив

массив и элементов, дети, атрибуты, группы атрибутов

getChildren()

elementClassName

string

наименование класса элемента ifc

getElementClassName()

elementClassTitle

string

наименование класса элемента

getElementClassTitle()

area

double

площадь поверхности элемента

getArea()

volume

double

объем элемента

getVolume()

areaX

double

площадь элемента вдоль оси OX

getAreaX()

areaY

double

площадь элемента вдоль оси OY

getAreaY()

areaZ

double

площадь элемента вдоль оси OZ

getAreaZ()

largeArea

double

максимальная площадь элемента из осей

getLargeArea()

largeDirect

string

направление максимальной поверхности

getLargeDirect()

boundSizeX

double

расстояние границ вдоль оси OX

getBoundSizeX()

boundSizeY

double

расстояние границ вдоль оси OY

getBoundSizeY()

boundSizeZ

double

расстояние границ вдоль оси OZ

getBoundSizeZ()

bounds

Bounds 

структура границ

getBounds()

Структура границ Bounds:

min

 

вектор координат x, y, z минимальной точки границы

 

max

 

вектор координат x, y, z максимальной точки границы

 

Пример использования:

def geometryElement = bim.getGeometryElement(UUID.fromString("e5a114d0-7de1-11ec-90d6-0242ac120003")
def globalId = geometryElement .getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def volumeElement = geometryElement .getVolume()

// console.info(volumeElement.toString()) -> “INFO: 0.1”

getGeometryElements - функция получения списка элементов с полной информацией и дополнительно параметры геометрии

  • bim.getGeometryElements(Условие поиска)
  • bim.getGeometryElements(Список идентификаторов элементов)

Примеры использования:

def conditionWall = bim.createCondition("class", "eq", "IfcWall")
def listWalls = bim.getGeometryElements (conditionWall )
for (Element geometryElement: listWalls ) {
def globalId = geometryElement.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def volumeElement = geometryElement .getVolume()

// console.info(volumeElement.toString()) -> “INFO: 0.1”
}
def elements = new HashSet<UUID>()
elements.add(UUID.randomUuid())
def listElements = bim.getGeometryElements(elements)
for (Element geometryElement: listElements ) {
def globalId = geometryElement.getGlobalId()

// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def volumeElement = geometryElement .getVolume()

// console.info(volumeElement.toString()) -> “INFO: 0.1”
}

getGeometryProject - взятие данных о проекта с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ

  • bim.getGeometryProject()

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор проекта

getUuid()

alias

string

уникальное название английское

getAlias()

title

string

заголовок

getTitle()

description

string

описание

getDescription()

color

string

цвет метки проекта

getColor()

preview

string

ссылка на картинку превью проекта

getPreview()

createDate

date

дата создания

getCreateDate()

editDate

date

дата последнего редактирования

getEditDate()

profileUuid

uuid

идентификатор пользователя автора проекта

getProfileUuid()

boundSizeX

double

длина проектной модели вдоль оси ОХ

getBoundSizeX()

boundSizeY

double

длина проектной модели вдоль оси ОY

getBoundSizeY()

boundSizeZ

double

длина проектной модели вдоль оси ОZ

getBoundSizeZ()

bounds

Bounds

структура границы проектной модели

getBounds()

Структура границ Bounds:

min

 

вектор координат x, y, z минимальной точки границы

 

max

 

вектор координат x, y, z максимальной точки границы

 

Пример использования:

def geometryProject = bim.getGeometryProject()
def bounds = geometryProject.getBounds()

getGeometryModel - взятие данных о модели по ее идентификатору с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ

  • bim.getGeometryModel()

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор модели

getUuid()

name

string

наименование модели

getName()

title

string

заголовок модели

getTitle()

archived

boolean

флаг актиности модели

getArchived()

offsetX

double

смещение модели по оси X

getOffsetX()

offsetY

double

смещение модели по оси Y

getOffsetY()

offsetZ

double

смещение модели по оси Z

getOffsetZ()

eulerX

double

Эйлеровский поворот модели вокруг оси OX

getEulerX()

eulerY

double

Эйлеровский поворот модели вокруг оси OY

getEulerY()

eulerZ

double

Эйлеровский поворот модели вокруг оси OZ

getEulerZ()

sortOrder

int32

порядок сортировки модели в своем уровне

getSortOrder()

realOffsetX

double

смещение модели по оси X с учетом родительского смещения

getRealOffsetX()

realOffsetY

double

смещение модели по оси Y с учетом родительского смещения

getRealOffsetY()

realOffsetZ

double

смещение модели по оси Z с учетом родительского смещения

getRealOffsetZ()

realEulerX

double

Эйлеровский поворот модели вокруг оси OX с учетом родительского поворота

getRealEulerX()

realEulerY

double

Эйлеровский поворот модели вокруг оси OY с учетом родительского поворота

getRealEulerY()

realEulerZ

double

Эйлеровский поворот модели вокруг оси OZ с учетом родительского поворота

getRealEulerZ()

model

массив Model

подмодели

getModel()

boundSizeX

double

длина проектной модели вдоль оси ОХ

getBoundSizeX()

boundSizeY

double

длина проектной модели вдоль оси ОY

getBoundSizeY()

boundSizeZ

double

длина проектной модели вдоль оси ОZ

getBoundSizeZ()

bounds

Bounds

структура границы проектной модели

getBounds()

Структура границ Bounds:

min

 

вектор координат x, y, z минимальной точки границы

 

max

 

вектор координат x, y, z максимальной точки границы

 

Пример использования:

def geometryModel = bim.getGeometryModel(UUID.fromString("ac178efe-7e8d-11ec-90d6-0242ac120003")
def bounds = geometryModel.getBounds()

getGeometryElementA - специфичная функция получения полной информации о элементе и дополнительно параметры геометрии для расчета коллизий (сторона А, если существует)

  • bim.getGeometryElementA()

Пример использования:

def geometryElement = bim.getGeometryElementA()
def globalId = geometryElement .getGlobalId()

// console.info(globalId) -> “INFO: 16BLvbdfv9tvbtZs9KMly$”
def volumeElement = geometryElement .getVolume()

// console.info(volumeElement.toString()) -> “INFO: 1.34”

getGeometryElementB - специфичная функция получения полной информации о элементе и дополнительно параметры геометрии для расчета коллизий (сторона B, если существует)

  • bim.getGeometryElementB()

Пример использования:

def geometryElement = bim.getGeometryElementB()
def globalId = geometryElement .getGlobalId()

// console.info(globalId) -> “INFO: 16BLvbdfv9tvbtZs9KMly$”
def volumeElement = geometryElement .getVolume()

// console.info(volumeElement.toString()) -> “INFO: 1.01”

bim.getGeometryObject(uuid) - функция получения координат элемента для формирования объемной модели или отрисовки на экране

  • bim.getGeometryObject(Идентификатор элемента)

showElements - функция отображения на экране списка элементов (выбор/подсветка на модели)

  • bim.showElements(Условие поиска)
  • bim.showElements(список глобальных идентификаторов элементов)
  • bim.showElements(список идентификаторов элементов)
  • bim.showElements(список элементов)
  • bim.showElements(элемент1,элемент2,...)
  • bim.showElement(элемент) - показ одного элемента

Примеры использования:

def conditionWall = bim.createCondition("class", "eq", "IfcWall")
def conditionDoor = bim.createCondition("class", "eq", "IfcDoor")
bim.showElements(conditionWall  | conditionDoor )
bim.showElements(["dhb487dbcsndb","salndhkjfnjkenkjsd","sdfsdfadsdfsad"])
bim.showElements([UUID.fromString("ac178efe-7e8d-11ec-90d6-0242ac120003",UUID.fromString("e5a114d0-7de1-11ec-90d6-0242ac120003"])
def elementCondition = bim.createCondition("attribute","width", "gt", "1000")
def elements = bim.getElements(elementCondition)
bim.showElements(elements)

createGroupElements - создание (объединение) элементов в группы с указанием цвета в формате HEX

  • bim.createGroupElements (Цвет, Условие поиска)
  • bim.createGroupElements (Цвет, список элементов)
  • bim.createGroupElements (Цвет, список идентификаторов элементов)

Примеры использования:

def conditionDoor = bim.createCondition("class", "eq", "IfcDoor")
bim.createGroupElements("#FF9933", conditionDoor )
def conditionDoor = bim.createCondition("class", "eq", "IfcDoor")
def elements = bim.getElements(conditionDoor)
bim.createGroupElements("#FF9933", elements)
bim.createGroupElements("#FF9933", ["dhb487dbcsndb","salndhkjfnjkenkjsd","sdfsdfadsdfsad"] )

showGroupElements - функция отображения/подсветки на экране ранее созданных групп элементов

  • bim.showGroupElements()

Пример использования:

bim.showGroupElements()

createCondition - функция создания условия поиска элементов

Примеры использования:

def conditionWall = bim.createCondition("class", "eq", "IfcWall")
def conditionDoor = bim.createCondition("class", "eq", "IfcDoor")
bim.showElements(conditionWall  | conditionDoor )
def elementCondition = bim.createCondition("attribute","width", "gt", "1000")
bim.showElements(elementCondition)
def elementCondition = bim.createCondition("attribute","BaseQuantities","width", "gt", "1000")
bim.showElements(elementCondition)

getProjectCollisions - функция получения списка коллизий проекта

  • bim.getProjectCollisions()
  • bim.getProjectCollisions(Статус коллизии)

Поле

Тип данных поля

Описание поля

Метод взятия данных поля

uuid

uuid

идентификатор коллизии

getUuid()

status

Enum:

NEW, WORK, SOLVED, ALLOWED

статус коллизии

getStatus()

elementBUuid

uuid

идентифкатор элемента сторона 2 если есть

getElementBUuid()

elementAUuid

uuid

идентифкатор элемента сторона 1 если есть

getElementAUuid()

modelAUuid

uuid

идентифкатор модели сторона 1 если есть

getModelAUuid()

modelBUuid

uuid

идентифкатор модели сторона 2 если есть

getModelBUuid()

globalIdA

string

глобальный идентификатор элемента сторона 1 если есть

getGlobalIdA()

globalIdB

string

глобальный идентификатор элемента сторона 2 если есть

getGlobalIdB()

createDate

date-time

дата формирование коллизии

getCreateDate()

shortDescription

string

краткое описание коллизии

getShortDescription()

description

string

описание коллизии

getDescription()

finder

string

идентификатор расчетного механизма, по которому получена коллизия

getFinder()

type

string

тип коллизии

getType()

value

string

значение коллизии

getValue()

note

string

заметка по коллизии

getNote()

lastUpdateDate

date-time

дата последнего изменниея по коллизии

getLastUpdateDate()

isAcceptable

boolean

флаг приемлемости коллизии

getIsAcceptable()

Примеры использования:

def listCollisions = bim.getProjectCollisions()
for (def collsion: listCollisions ) {
def globalAId = collsion.getGlobalAId()

// console.info(globalAId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def globalBId = collsion.getGlobalBId()

// console.info(globalBId) -> “INFO: js89njhsihd9ffsd3kmll9hln0”
}
def listCollisions = bim.getProjectCollisions("NEW")
for (def collsion: listCollisions ) {
def globalAId = collsion.getGlobalAId()

// console.info(globalAId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def globalBId = collsion.getGlobalBId()

// console.info(globalBId) -> “INFO: js89njhsihd9ffsd3kmll9hln0”
}

getModelCollisions - функция получения списка коллизий модели

  • bim.getModelCollisions(Идентификатор модели)
  • bim.getModelCollisions(Идентификатор модели, Статус коллизии) (см.Статусы коллизий)

Примеры использования:

def listCollisions = bim.getModelCollisions(UUID.fromString("ac178efe-7e8d-11ec-90d6-0242ac120003")
for (def collsion: listCollisions ) {
def globalAId = collsion.getGlobalAId()

// console.info(globalAId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def globalBId = collsion.getGlobalBId()

// console.info(globalBId) -> “INFO: js89njhsihd9ffsd3kmll9hln0”
}
def listCollisions = bim.getModelCollisions(UUID.fromString("ac178efe-7e8d-11ec-90d6-0242ac120003", "NEW")
for (def collsion: listCollisions ) {
def globalAId = collsion.getGlobalAId()

// console.info(globalAId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def globalBId = collsion.getGlobalBId()

// console.info(globalBId) -> “INFO: js89njhsihd9ffsd3kmll9hln0”
}

getCollisionsForReport() - функция получения списка коллизий для отчета.

  • bim.getCollisionsForReport()
    list - список коллизий. Обязательное поле. Получить данный лист необходимо

Пример использования:

def collisionList = bim.getCollisionsForReport()
 def param = [:]
 param.add("pageSize", 3)
 param.add("fontSize", 12)
 file.collisionsToPdf(template, collisionList, param)

getFilesDownloadLinks - получение списка ссылок на скачивание файлов, которые вложены в задачи проекта

  • bim.getFilesDownloadLinks() - Данный метод предназначен для получения списка ссылок на скачивания файлов из задач по проекту.
    Ссылка действительна в течении одного дня. Изменить данное время можно командой editTokenExpiredDate (см. ниже). Данный метод рекомендуется использовать при формировании отчетов.

Пример использования:

def tasks = bim.getProjectTasks()
    def taskAttachments = []
   for(def task : tasks) {
        taskAttachments.push(bim.getTaskAttachments(task.uuid))
   }
   
    def uuids = []
   for (def attachments : taskAttachments) {
       for (def attachment : attachments) {
           if (attachment != null)
                uuids.push(attachment.uuid)
       }
   }
    def downloadLinks = bim.getFilesDownloadLinks(uuids)
    console.info(downloadLinks) ->  INFO [
6201ced9-b873-4a7d-8266-537f1566c543.docx,
687ac450-75e2-42f6-9fbe-7c608912c079.png
]

editTokenExpiredDate - позволяет изменить количество дней, через сколько токен для скачивания файлов станет недействительным

  • bim.editTokenExpiredDate(UUID tokenUuid, int day)

Пример использования:

UUID uuid = UUID.fromString("94e8e236-510b-4325-8b3a-15e317924bb2")
     bim.editTokenExpiredDate (uuid, 2)

getTaskForm - получение списка данных формы задачи по идентификатору задачи 

  • bim.getTaskForm(UUID taskUuid) 

Пример использования:

getTaskWorkers - получение списка профилей у задачи по её идентификатору 

  • bim.getTaskWorkers(UUID taskUuid) 

Пример использования:

getAttachmentImage - получение изображения вложенного к задаче по названию изображения 

  • bim.getAttachmentImage(String imageName) 

Пример использования:

getAttachmentDrawing - получение байтового массива с чертежом вложенного к задаче по названию чертежа 

  • bim.getAttachmentDrawing(String drawingName) 

Пример использования:

getAvatar - получение байтового массива аватара по его имени 

  • bim.getAvatar(String avatarName) 

Пример использования:

getHtmlAvatar - получение аватара преобразованного к виду htlm строки (кода) по имени аватара 

  • bim.getHtmlAvatar(String avatarName) 

Пример использования:

getHtmlImage - получение изображения преобразованную к виду html строки (кода) по имени изображения 

  • bim.getHtmlImage(String imageName) 

Пример использования:

getHtmlDrawing - получение чертежа преобразованного к виду html строки (кода) по имени чертежа 

  • bim.getHtmlDrawing(String drawingName) 

Пример использования:

getGeometryObjects - функция получения списка координат элементов для формирования объемной модели или отрисовки на экране

  • bim.getGeometryObjects(LogicGroup logicGroup)  - функция получения списка координат элементов для формирования объемной модели или отрисовки на экране, на вход ей можно подать: условие поиска, сложное условие поиска
  • bim.getGeometryObjects(Collection<Object> elements)  - функция получения списка координат элементов для формирования объемной модели или отрисовки на экране

Пример использования:

createCondition - функция создания условия поиска элементов по параметру поиска, оператору сравнения 

  • bim.createCondition(String axis, String operators)) 

Пример использования:

registerProcessStatuses - регистрация списка пользовательских статусов для задач по списку статусов задач плагина 

  • bim.registerProcessStatuses(List<PluginTaskStatus> statusList) 

Пример использования:

getProcessStatuses - получение списка пользовательских статусов для активного рабочего пространства 

  • bim.getProcessStatuses() 

Пример использования:

saveParamsToTask - сохранение списка пользовательских параметров к задаче 

  • bim.saveParamsToTask(UUID taskUuid, Map<String, Object> params, boolean showInTask)  - сохранение списка пользовательских параметров к задаче, на вход ей можно подать: идентификатор задачи, параметры, показ задачи
  • bim.saveParamsToTask(UUID taskUuid, String name, Object value, boolean showInTask)  - сохранение пользовательского параметра к задаче, на вход ей можно подать: идентификатор задачи, имя задачи, какое-то значение, показ задачи

Пример использования:

getParamsToTask - получение списка параметров для задачи по идентификатору задачи 

  • bim.getParamsToTask(UUID taskUuid) 

Пример использования:

getTaskParams - получение списка параметров для всех задач рабочего пространства 

  • bim.getTaskParams() 

Пример использования:

editParam - редактирование параметра задачи по идентификатору параметра, имени параметра, параметру 

  • bim.editParam(UUID paramUuid, String name, Object param) 

Пример использования:

deleteParam - удаление параметра задачи по параметру идентификатора

  • bim.deleteParam(UUID paramUuid) 

Пример использования:

deleteParams - удаление параметров

  • bim.deleteParams(UUID taskUuid)  - удаление параметров у задачи по идентификатору задачи
  • bim.deleteParams(List<PluginTaskParam> params)  - удаление списка параметров

Пример использования:

setPluginStatusToTask - изменение пользовательского статуса задачи по идентификатору задачи, статусу

  • bim.setPluginStatusToTask(UUID taskUuid, String status) 

Пример использования:

deleteDutyShift - удаление назначенной группы к задаче, название которой содержит указанную строку

  • bim.deleteDutyShift(Task task, String groupName) 

Пример использования:

getOrgGroups - получение списка групп организации

  • bim.getOrgGroups()  - получение списка групп организации
  • bim.getOrgGroups(List<UUID> orgGroups)  - получение списка групп организации по идентификаторам

Пример использования:

getOrgGroup - получение группы организации

  • bim.getOrgGroup(UUID orgGroup)  - получение группы организации по её идентификатору
  • bim.getOrgGroup(String groupName)  - получение группы организации по её названию

Пример использования:

getOrCreateTaskFromMaintenance - создание или получение задачи на запланированное ТО по идентификатору задачи

  • bim.getOrCreateTaskFromMaintenance(UUID maintenanceTask) 

Пример использования:

getMaintenanceTasks - получение списка задач ТО по списку идентификаторов

  • bim.getMaintenanceTasks(List<UUID> taskUuids) 

Пример использования:

setGroupWorkersToTask - назначение группы организации как работника на задачу по идентификатору задачи, списку титулов

  • bim.setGroupWorkersToTask(UUID taskUuid, List<String> titles) 

Пример использования:

setGroupResponderToTask - назначение группы организации как ответственного на задачу по идентификатору задачи, имени группы

  • bim.setGroupResponderToTask(UUID taskUuid, String groupName) 

Пример использования:

getFirstEscalationTasks - получение списка просроченных задач

  • bim.getFirstEscalationTasks() 

Пример использования:

getSecondEscalationTasks - получить список задач второй эскалации

  • bim.getSecondEscalationTasks() 

Пример использования:

getStartDate - получение даты на начало следующего дня

  • bim.getStartDate() 

Пример использования:

getEndDate - получение даты на конец следующего дня

  • bim.getEndDate() 

Пример использования:

getAmountDate - получение даты через указанное количество дней

  • bim.getAmountDate(int day) 

Пример использования:

getDate - получение даты из строки

  • bim.getDate(String dateStr)  - получение даты из строки
  • bim.getDate(String dateStr, String formatStr)  - получение даты из строки по заданному формату

Пример использования:

getDateTime - получение даты и времени из строки

  • bim.getDateTime(String dateStr) 

Пример использования:

saveTask - создание и/или сохранение задачи

  • bim.saveTask(Task task) 

Пример использования:

calculateDuty - получение номера дежурной группы

  • bim.calculateDuty()  - получение номера дежурной группы на следующий день
  • bim.calculateDuty(String groupName)  - получение номера дежурной группы на следующий день по имени группы
  • bim.calculateDuty(MaintenanceTask mTask)  - получение номера дежурной группы  на дату проведени ТО по задаче обслуживания
  • bim.calculateDuty(String groupName, MaintenanceTask mTask)  - получение номера группы на дату проведени ТО по имени группы, задаче обслуживания

Пример использования:

initPluginTaskStatus - инициализация пользовательских статусов в проекте

  • bim.initPluginTaskStatus() 

Пример использования:

addAttribute - добавление атрибутов для списка элементов

  • bim.addAttribute(Collection<Object> elements, String groupName, String attributeName, Object value, String unit, String power) 

Пример использования:

getUuidsElementsByProjectUuid - взятие всех идентификаторов элементов из проекта, в котором выполняется плагин

  • bim.getUuidsElementsByProjectUuid()

Пример использования:

 

getAllElementsByListUuidAndProjectUuid - взятие данных об элементах по их списку идентификаторов, в котором выполняется плагин

  • bim.getAllElementsByListUuidAndProjectUuid(Collection<UUID> listUuidElements)

Пример использования:

 

getWorkSpacesCurrentProject - получение всех идентификаторов рабочих пространств проекта, в котором выполняется плагин

  • bim.getWorkSpacesCurrentProject()

Пример использования:

 

getTasksCurrentWorkSpace - получение гладкого списка всех задач указанного рабочего пространства (получение родителей и детей)

  • bim.getTasksCurrentWorkSpace(UUID workSpaceUuid)

Пример использования:

 

getTasksTreeCurrentWorkSpace - получение дерева задач указанного рабочего пространства (только родители)

  • bim.getTasksTreeCurrentWorkSpace(UUID workSpaceUuid)

Пример использования:

 

getTasksTree - получение дерева задач проекта, в котором выполняется плагин (только родители)

  • bim.getTasksTree()

Пример использования:

 

getProfiles - получение данных о пользователях по их идентификаторам UUID

  • bim.getProfiles(List<UUID> profilesUuid)

Пример использования:

 

getTask - получение задачи по её идентификатору

  • bim.getTask(UUID taskUuid)

Пример использования:

 

getTasks - получение списка задач

  • bim.getTasks(List<UUID> taskUuids) - получение списка задач по их списку идентификаторов
  • bim.getTasks(String startDate, String endDate) - получение списка всех задач на заданный период

Пример использования:

 
 

getLateTasks - получение списка всех просроченных задач, либо задач на эскалации

  • bim.getLateTasks()

Пример использования:

 

getProjectMaintenanceTasks - получение списка всех задач ТО на проект

  • bim.getProjectMaintenanceTasks()

Пример использования:

 

getLinkToTask - получение ссылки на проект с параметрами для открытия конкретной задачи

  • bim.getLinkToTask(UUID taskUuid)

Пример использования:

 

getCollisionInfo - получение объекта CollisionInfo для выделенной коллизии (коллизии, назначенной к задаче)

  • bim.getCollisionInfo(UUID collisionUuid)

Пример использования:

 

getCommentFromTaskAttachment - получение текста комментария из sourceData

  • bim.getCommentFromTaskAttachment(String sourceData)

Пример использования:

 

СПРАВОЧНИКИ

Операторы сравнения 

eqРавно
noteqНе равно
contСодержит
notcontНе содержит
gtБольше
gteqБольше или равно
ltМеньше
lteqМеньше или равно
exИмеет значение ex
notexНе имеет значение notex

Параметры поиска 

modelпоиск по названию модели в структуре проекта
floorпоиск по названию этажа
classпоиск по названию ifc класса (ifc тип)
zoneпоиск по названию зоны, объединяющей элементы
layerпоиск по названию слоя объединяющего элементы
attributeпоиск по значению атрибута
geometryпараметры поиска по значению рассчитанной геометрии, на текущий момент доступно только площадь(ключ атрибута =”area”) и объем(ключ атрибута =”volume”)

Статусы коллизий 

NEWзапрос коллизий в статусе новые
WORKколлизии в работе
SOLVEDрешенные коллизии
ALLOWEDдопустимые коллизии

PowerType 

EXA1.0e18d
PETA1.0e15d
TERA1.0e12d
GIGA1.0e9d
MEGA1.0e6d
KILO1.0e3d
HECTO1.0e2d
DECA1.0e1d
DECI1.0e-1d
CENTI1.0e-2d
MILLI1.0e-3d
MICRO1.0e-6d
NANO1.0e-9d
PICO1.0e-12d
FEMTO1.0e-15d
ATTO1.0e-18d

UnitType 

ABSORBEDDOSEUNITgray
AMOUNTOFSUBSTANCEUNITmole
AREAUNITsquare_metre
DOSEEQUIVALENTUNITsievert
ELECTRICCAPACITANCEUNITfarad
ELECTRICCHARGEUNITcoulomb
ELECTRICCONDUCTANCEUNITsiemens
ELECTRICCURRENTUNITampere
ELECTRICVOLTAGEUNITohm
ELECTRICVOLTAGEUNITvolt
ENERGYUNITjoule
FORCEUNITnewton
FREQUENCYUNIThertz
ILLUMINANCEUNITlux
INDUCTANCEUNIThenry
LENGTHUNITmetre
LUMINOUSFLUXUNITlumen
LUMINOUSINTENSITYUNITcandela
MAGNETICFLUXDENSITYUNITtesla
MAGNETICFLUXUNITweber
MASSUNITgram
PLANEANGLEUNITradian
POWERUNITwatt
PRESSUREUNITpascal
RADIOACTIVITYUNITbecquerel
SOLIDANGLEUNITsteradian
THERMODYNAMICTEMPERATUREUNITdegree_celsius
THERMODYNAMICTEMPERATUREUNITkelvin
TIMEUNITsecond
VOLUMEUNITcubic_metre
USERDEFINEDuserdefined
LINKUNITlink