Интерфейс bim
Версия 52.1 от Bimit Administrator на 10.02.2022, 15:49
Основной интерфейс для получения и работы с данными. В данном интерфейсе доступны следующие методы:
- getProject - взятие проекта на котором выполняется плагин
- getProfile - получение данных о пользователе по его идентификатору Uuid
- getProjectModels - взятие всех активных моделей проекта на котором выполняется плагин
- getModelRevisions - взятие всех ревизий модели
- getProjectTasks - получение списка всех задач проекта
- getTaskComments - получение списка всех комментариев у задачи по идентификатору задача
- getTaskAttachments - получение списка всех вложений к задаче по идентификатору задача
- getElements - функция получения списка элементов с полной информацией, на вход ей можно подать: условие поиска, сложное условие поиска
- getElements - функция получения списка элементов с полной информацией
- getElement - функция получения полной информации о элементе
- getGeometryElement - функция получения полной информации о элементе и дополнительно параметры геометрии
- getGeometryElements - функция получения списка элементов с полной информацией и дополнительно параметры геометрии, на вход ей можно подать: условие поиска, сложное условие поиска
- getGeometryElements - функция получения списка элементов с полной информацией и дополнительно параметры геометрии
- getGeometryProject - взятие данных о проекта с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ
- getGeometryModel - взятие данных о модели по ее идентификатору с добавленными данными по геометрии модели: границы и размеры границ по осям OX,OY,OZ
- getGeometryElementA
- getGeometryElementB
- showElements
- createGroupElements
- showGroupElements
- createCondition
- getProjectCollisions
- getModelCollisions
- bim.getProject() - метод представляет следующую структуру
Пример использования:
def project = bim.getProject()
def editProjectDate = project.getEditDate()
console.info(editProjectDate.toString())
// -> “INFO: 2022-01-01 01:01:12.567 +0300”
def editProjectDate = project.getEditDate()
console.info(editProjectDate.toString())
// -> “INFO: 2022-01-01 01:01:12.567 +0300”
- 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”
def profileUuid= profile.getUuid()
// console.info(profileUuid.toString()) -> “INFO: ef952aa8-7ddc-11ec-90d6-0242ac120003”
- bim.getProjectModels()
Пример использования:
def listModels = bim.getProjectModels()
for (Model model: listModels ) {
def modelUuid = model.getUuid()
// console.info(modelUuid .toString()) -> “INFO: 4e733308-7ddd-11ec-90d6-0242ac120003”
}
for (Model model: listModels ) {
def modelUuid = model.getUuid()
// console.info(modelUuid .toString()) -> “INFO: 4e733308-7ddd-11ec-90d6-0242ac120003”
}
- 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”
}
for (ModelRevision modelRevision: listModelRevisions ) {
def modelRevisionUuid= modelRevision.getUuid()
// console.info(modelRevisionUuid .toString()) -> “INFO: 697ba2b6-7ddd-11ec-90d6-0242ac120003”
}
- getProjectTasks() метод, который возвращает структуру списка задач, каждая задача представляет из себя следующую структуру:
Пример использования
def listTasks = bim.getProjectTasks()
for (Task task: listTasks ) {
def taskUuid= task.getUuid()
// console.info(taskUuid .toString()) -> “INFO: c73df7aa-7ddd-11ec-90d6-0242ac120003”
}
for (Task task: listTasks ) {
def taskUuid= task.getUuid()
// console.info(taskUuid .toString()) -> “INFO: c73df7aa-7ddd-11ec-90d6-0242ac120003”
}
- getTaskComments(UUID taskUuid)
Пример использования
def listComments = bim.getTaskComments(c73df7aa-7ddd-11ec-90d6-0242ac120003)
for (Comment comment: listComments ) {
def authorUuid= comment.setAuthorUuid()
for (Comment comment: listComments ) {
def authorUuid= comment.setAuthorUuid()
- getTaskAttachments(UUID taskUuid)
Пример использования:
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”
}
for (Attachment attachment: listAttachments ) {
def createDate= attachment.setCreateDate()
// console.info(createDate.toString()) -> “INFO: 2022-01-21 10:01:12.567 +0300”
}
- bim.getElements(Условие поиска)
Пример использования:
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 listWalls = bim.getElements (conditionWall )
for (Element element: listWalls ) {
def globalId = element.getGlobalId()
// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
}
- bim.getElements(Список идентификаторов элементов)
Пример использования:
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”
}
elements.add(UUID.randomUuid())
def listElements = bim.getElements(elements)
for (Element element: listElements ) {
def globalId = element.getGlobalId()
// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
}
- bim.getElement(Идентификатор элемента)
Пример использования:
def element = bim.getElement(UUID.fromString(“e5a114d0-7de1-11ec-90d6-0242ac120003”)
def globalId = element.getGlobalId()
// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def globalId = element.getGlobalId()
// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
- bim.getGeometryElement(Идентификатор элемента)
Структура границ Bounds:
Пример использования:
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”
def globalId = geometryElement .getGlobalId()
// console.info(globalId) -> “INFO: 0Dtdg2chjBhhgnQ7zCqZkk”
def volumeElement = geometryElement .getVolume()
// console.info(volumeElement.toString()) -> “INFO: 0.1”
- 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 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”
}
- bim.getGeometryElements(Список идентификаторов элементов)
Пример использования:
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”
}
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
Структура границ Bounds:
Пример использования:
def geometryProject = bim.getGeometryProject()
def bounds = geometryProject.getBounds()
def bounds = geometryProject.getBounds()
- getGeometryModel
Структура границ Bounds:
Пример использования:
def geometryModel = bim.getGeometryModel(UUID.fromString(“ac178efe-7e8d-11ec-90d6-0242ac120003”)
def bounds = geometryModel.getBounds()
def bounds = geometryModel.getBounds()