Добавить в верстак проверки #149

Closed
opened 2024-03-29 15:11:24 +03:00 by movefasta · 23 comments
movefasta commented 2024-03-29 15:11:24 +03:00 (Migrated from gitlab.com)
  • Проверка имён на читабельность (конвертация в юникод)
  • Проверка на пересечения.
  • Добавить возможность отметить детали, которым можно пересекаться, аттрибутом "Allow Intersect" или реализовать пересечение в рамках какого-то допуска
  • Одна деталь хранит только один материал

Для обратной связи также реализовать в интерфейсе (см. ниже комментарий):

  • Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек)
  • Анализ сборки на предмет наличия геометрических коллизий между объектами (телами)
  • Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело)
- [x] Проверка имён на читабельность (конвертация в юникод) - [x] Проверка на пересечения. - [x] Добавить возможность отметить детали, которым можно пересекаться, аттрибутом "Allow Intersect" или реализовать пересечение в рамках какого-то допуска - [x] Одна деталь хранит только один материал Для обратной связи также реализовать в интерфейсе (см. ниже комментарий): - [x] Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек) - [x] Анализ сборки на предмет наличия геометрических коллизий между объектами (телами) - [x] Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело)
movefasta commented 2024-03-29 15:11:24 +03:00 (Migrated from gitlab.com)

assigned to @ius.mark.alex

assigned to @ius.mark.alex
movefasta commented 2024-03-29 15:47:24 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
movefasta commented 2024-04-14 22:06:39 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
movefasta commented 2024-04-14 22:07:57 +03:00 (Migrated from gitlab.com)
  1. Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек). Если какие-то из деталей не имеют смежных деталей, то данная сборка не может быть стабильной по-умолчанию и остальные проверки не имеют смысла. Функция «CheckObjectHasTouchesUseCase» выдаёт информацию о найденных деталях такого типа и инженер-конструктор может перепроектировать конструкцию, чтобы данная проверка завершалась успешно. Сообщение обратной связи передаётся в формате «{ "error": "The object has no intersections: Box001 Box002 Box003 Box010 Box012 Box033"}», где перечислены фигуры, не имеющие других смежных фигур. Исходный код опубликован в репозитории проекта 021e5862ff/geometric_feasibility_predicate/main.py (L670)
  2. Анализ сборки на предмет наличия геометрических коллизий между объектами (телами). Вычисление матрицы смежности по сборке изделия не гарантирует, что смежные тела не имеют коллизий друг с другом, потому что алгоритм вычисления выявляет только минимальные расстояния между поверхностями фигур, не обращая внимания на пересечения фигур. Проверка коллизий позволяет исключить ситуацию, когда фигуры делят друг с другом один и тот же объём. Функция «IntersectionComputedUseCase» позволяет вывести фигуры, имеющие коллизии с другими фигурами и их площадь поверхности. Сообщение обратной связи передаётся в формате «{ "status": false, "recalculations": [ {"area": 399.99999999999994, "connect": "Box001 Box002 Box003 Box010 Box012 Box033" }]}», где поле status сигнализирует об ошибке при выполнении запроса, а список записей вида {area, connect} показывает перечень коллизий с указанием фигур и площади поверхности. Исходный код опубликован в репозитории проекта 021e5862ff/geometric_feasibility_predicate/main.py (L624)
  3. Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело). В сборках могут присутствовать объекты, не представляющие интерес в контексте работы модули планирования последовательности сборки, которые добавлены в проект по ошибке – например, грани или точки. В ходе запуска функции «IsAllObjectSolidsCheckUseCase» производится проверка модели на наличие таких объектов. Сообщение обратной связи передаётся в формате {"error": "Is not solid objects: Face002"}, где перечислены объекты, не относящиеся к типу Solid. Исходный код опубликован в репозитории проекта 021e5862ff/geometric_feasibility_predicate/main.py (L661)
  4. Анализ сборки на стабильность. В ходе работы модуля генерации последовательности сборки формируются разнообразные модели подсборок в формате URDF (Universal Robot Description Format, поддерживается большинством популярных симуляторов), каждая из которых проверяется на стабильность. Проверка стабильности осуществляется функцией «StabilityCheckUseCase». Исходный код размещён по ссылке 021e5862ff/stability_process_predicate/main.py (L11)
1. Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек). Если какие-то из деталей не имеют смежных деталей, то данная сборка не может быть стабильной по-умолчанию и остальные проверки не имеют смысла. Функция «CheckObjectHasTouchesUseCase» выдаёт информацию о найденных деталях такого типа и инженер-конструктор может перепроектировать конструкцию, чтобы данная проверка завершалась успешно. Сообщение обратной связи передаётся в формате «{ "error": "The object has no intersections: Box001 Box002 Box003 Box010 Box012 Box033"}», где перечислены фигуры, не имеющие других смежных фигур. Исходный код опубликован в репозитории проекта https://gitlab.com/robossembler/framework/-/blob/021e5862ffe85155fb56aaa365e85a7f6e72a508/geometric_feasibility_predicate/main.py#L670 2. Анализ сборки на предмет наличия геометрических коллизий между объектами (телами). Вычисление матрицы смежности по сборке изделия не гарантирует, что смежные тела не имеют коллизий друг с другом, потому что алгоритм вычисления выявляет только минимальные расстояния между поверхностями фигур, не обращая внимания на пересечения фигур. Проверка коллизий позволяет исключить ситуацию, когда фигуры делят друг с другом один и тот же объём. Функция «IntersectionComputedUseCase» позволяет вывести фигуры, имеющие коллизии с другими фигурами и их площадь поверхности. Сообщение обратной связи передаётся в формате «{ "status": false, "recalculations": [ {"area": 399.99999999999994, "connect": "Box001 Box002 Box003 Box010 Box012 Box033" }]}», где поле status сигнализирует об ошибке при выполнении запроса, а список записей вида {area, connect} показывает перечень коллизий с указанием фигур и площади поверхности. Исходный код опубликован в репозитории проекта https://gitlab.com/robossembler/framework/-/blob/021e5862ffe85155fb56aaa365e85a7f6e72a508/geometric_feasibility_predicate/main.py#L624 3. Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело). В сборках могут присутствовать объекты, не представляющие интерес в контексте работы модули планирования последовательности сборки, которые добавлены в проект по ошибке – например, грани или точки. В ходе запуска функции «IsAllObjectSolidsCheckUseCase» производится проверка модели на наличие таких объектов. Сообщение обратной связи передаётся в формате {"error": "Is not solid objects: Face002"}, где перечислены объекты, не относящиеся к типу Solid. Исходный код опубликован в репозитории проекта https://gitlab.com/robossembler/framework/-/blob/021e5862ffe85155fb56aaa365e85a7f6e72a508/geometric_feasibility_predicate/main.py#L661 4. Анализ сборки на стабильность. В ходе работы модуля генерации последовательности сборки формируются разнообразные модели подсборок в формате URDF (Universal Robot Description Format, поддерживается большинством популярных симуляторов), каждая из которых проверяется на стабильность. Проверка стабильности осуществляется функцией «StabilityCheckUseCase». Исходный код размещён по ссылке https://gitlab.com/robossembler/framework/-/blob/021e5862ffe85155fb56aaa365e85a7f6e72a508/stability_process_predicate/main.py#L11
movefasta commented 2024-04-14 22:08:45 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
movefasta commented 2024-04-14 22:09:51 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
ius.mark.alex commented 2024-05-05 14:48:02 +03:00 (Migrated from gitlab.com)

marked the checklist item Проверка имён на читабельность (конвертация в юникод) as completed

marked the checklist item **Проверка имён на читабельность (конвертация в юникод)** as completed
ius.mark.alex commented 2024-05-05 14:52:54 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
ius.mark.alex commented 2024-05-05 14:52:57 +03:00 (Migrated from gitlab.com)

marked the checklist item Проверка на пересечения. as completed

marked the checklist item **Проверка на пересечения.** as completed
ius.mark.alex commented 2024-05-05 17:16:59 +03:00 (Migrated from gitlab.com)

marked the checklist item Анализ сборки на предмет наличия геометрических коллизий между объектами (телами) as completed

marked the checklist item **Анализ сборки на предмет наличия геометрических коллизий между объектами (телами)** as completed
ius.mark.alex commented 2024-05-05 17:17:00 +03:00 (Migrated from gitlab.com)

marked the checklist item Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело) as completed

marked the checklist item **Анализ сборки на предмет соответствия фигур типу Solid (твёрдое/сплошное тело)** as completed
movefasta commented 2024-05-09 19:30:47 +03:00 (Migrated from gitlab.com)

marked this issue as related to #131

marked this issue as related to #131
movefasta commented 2024-05-09 19:38:56 +03:00 (Migrated from gitlab.com)

mentioned in issue #131

mentioned in issue #131
ius.mark.alex commented 2024-05-10 05:40:19 +03:00 (Migrated from gitlab.com)

marked the checklist item Добавить возможность отметить детали, которым можно пересекаться, аттрибутом "Allow Intersect" или реализовать пересечение в рамках какого-то допуска as completed

marked the checklist item **Добавить возможность отметить детали, которым можно пересекаться, аттрибутом "Allow Intersect" или реализовать пересечение в рамках какого-то допуска** as completed
ius.mark.alex commented 2024-05-10 05:40:25 +03:00 (Migrated from gitlab.com)

marked the checklist item Одна деталь хранит только один материал as completed

marked the checklist item **Одна деталь хранит только один материал** as completed
ius.mark.alex commented 2024-05-10 05:40:31 +03:00 (Migrated from gitlab.com)

marked the checklist item Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек) as completed

marked the checklist item **Анализ сборки на предмет наличия объектов (фигур), которые не имеют смежных твёрдых тел (Solid в терминологии предметной области геометрического ядра OpenCascade), заданных с помощью геометрических примитивов (граней, ребёр и точек)** as completed
movefasta commented 2024-05-10 11:31:10 +03:00 (Migrated from gitlab.com)

mentioned in issue #154

mentioned in issue #154
ius.mark.alex commented 2024-05-10 11:32:23 +03:00 (Migrated from gitlab.com)

created branch 149 to address this issue

created branch [`149`](/robossembler/framework/-/compare/master...149) to address this issue
ius.mark.alex commented 2024-05-10 11:32:40 +03:00 (Migrated from gitlab.com)

mentioned in merge request !99

mentioned in merge request !99
ius.mark.alex commented 2024-05-10 11:33:22 +03:00 (Migrated from gitlab.com)

created branch 149-2 to address this issue

created branch [`149-2`](/robossembler/framework/-/compare/master...149-2) to address this issue
ius.mark.alex commented 2024-05-10 11:34:14 +03:00 (Migrated from gitlab.com)

mentioned in merge request !100

mentioned in merge request !100
movefasta (Migrated from gitlab.com) closed this issue 2024-05-10 11:41:25 +03:00
movefasta commented 2024-05-10 11:55:33 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
movefasta commented 2024-06-19 17:05:36 +03:00 (Migrated from gitlab.com)

mentioned in merge request !101

mentioned in merge request !101
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: robossembler/framework#149
No description provided.