Разработка интерфейса CAD для корректировки планов сборки #131

Open
opened 2023-12-30 14:19:13 +03:00 by movefasta · 7 comments
movefasta commented 2023-12-30 14:19:13 +03:00 (Migrated from gitlab.com)

Проверка модели

  • #149 - Модель (при импорте либо при нажатии специальной клавиши) проверяется на наличие ошибок геометрии, пересекающихся деталей, неприсвоенных материалов. Появляется предупреждение при их наличии. Поработать с красивостью вывода в консоль.

Подготовка последовательности сборки

  • TODO - (кнопка "Сгенерировать сопряжения") По нажатию автоматически создаются сопряжения между деталями. Достаточно использовать сопряжения типа "совпадение поверхностей" и "соосность", т.к. они могут определиться автоматически. Сопряжения создаются в виде объектов в дереве построения, в которых хранится информация "родитель", "сопрягаемая поверхность родителя", "потомок", "сопрягаемая поверхность потомка", а так же - их взаимное расположение. Для обеспечения наглядности, выделение этого объекта в дереве построения должно приводить к подсветке пар сопрягаемых поверхностей.
  • TODO - (кнопка "Создать сопряжение") И. анализирует созданные связи, удаляет те, что не соответствуют сущности продукта, а так же создает те, что по каким-то причинам не были созданы автоматически. Для создания сопряжений достаточно было бы выделить две грани любого вида и сохранить их взаимное расположение друг относительно друга.
  • #144 #145 - (кнопка "Сгенерировать матрицу связей") И. генерирует матрицу связей. Матрица связей представляет собой матрицу смежности, объединенную с матрицей сопряжений. Матрица связей может учитывать структуру изделия, полученную из CAD-модели. При наличии этой структуры матрица связей должна строиться (или предлагать такую возможность) для каждой отдельно взятой подсборки. При этом в сборку верхнего уровня должны входить подсборки в качестве отдельных компонентов. В том случае, если между двумя компонентами имеется более одной связи, можно отразить это путем увеличения соответствующего числа в матрице связей. Все сгенерированные матрицы (для каждой подсборки - своя) связей должны проверяться на наличие компонентов и их совокупностей, не имеющих связей с окружающими компонентами. При наличии этих компонентов необходимо либо исправить модель, либо создать связь между ними вручную.
  • TODO (кнопка "Формировать подсборки (дерево)") В том случае, если изделие/сборка/подсборка не имеет внутренней структуры, ее возможно определить на основании матрицы связей с помощью кластеризации графа связей. При этом, связи с более высоким весом (что соответствует большему числу связей между элементами) должны с большей вероятностью попасть в один кластер. Производя кластеризацию, инженер получает дерево сборки изделия. Дерево сборки само по себе может быть использовано как основа для плана, для установления конкретной последовательности действий необходимо распределить операции по объединению деталей между рабочими узлами.

Интерфейс задания опций и ограничений

  • #163 - основные опции и ограничения
  • (?) интерфейс для задания ограничений по материалам. Возможно наложить ограничение по материалам. В таком случае, в первую очередь будут выбираться те изделия, которые совпадают по материалам.
  • (?) интерфейс для задания ограничений по форме. Возможно наложить ограничение по деталям одинаковой формы. Элементы одинаковой формы могут быть установлены на одном сборочном этапе
  • (?) При проведении кластеризации возможно наложить ограничения по массе и/или габаритам для отдельных сборочных единиц. В таком случае, в первую очередь из связанных между собой пар деталей должны выбираться те, чьи параметры меньше ограничений.

Формирование сборочных инструкций / планов

Инженер должен проконтролировать правильность разбиения на сборочные единицы. Для этого ему необходимо визуально осмотреть созданные пары элементов. Для этого будет генерироваться документация в верстаке OSHAutodoc. В данном верстаке создаются т.н. "слои", соответствующие сборочным этапам. Слои представляют собой контейнер, внутри которого находятся клоны деталей:

  • После создания дерева сборки возможно создать набор слоев, в которых будут находиться детали, соответствующие каждому этапу сборки.
  • Визуально оценив каждый этап, возможно дополнительно отредактировать их, переместив компоненты из одного слоя в другой. При этом, верстак должен уведомить пользователя, если оказавшаяся в другом слое деталь не имеет никаких связей с лежащими в нем деталями.
  • Распределив детали по слоям, возможно создать документацию, используя механизмы OSHAutodoc по руководствам данного верстака.
  • Проверив полученную последовательность сборки, Инженер экспортирует данный план и всю необходимую дополнительную документацию для использования по назначению.

Выходные данные

  • mesh-модели деталей и подсборок для каждого шага сборки
  • json-файл, описывающий структуру и состав изделия, последовательность сборки и положения деталей в сборке.
## Проверка модели - #149 - Модель (при импорте либо при нажатии специальной клавиши) проверяется на наличие ошибок геометрии, пересекающихся деталей, неприсвоенных материалов. Появляется предупреждение при их наличии. Поработать с красивостью вывода в консоль. ## Подготовка последовательности сборки - TODO - (кнопка "Сгенерировать сопряжения") По нажатию автоматически создаются сопряжения между деталями. Достаточно использовать сопряжения типа "совпадение поверхностей" и "соосность", т.к. они могут определиться автоматически. Сопряжения создаются в виде объектов в дереве построения, в которых хранится информация "родитель", "сопрягаемая поверхность родителя", "потомок", "сопрягаемая поверхность потомка", а так же - их взаимное расположение. Для обеспечения наглядности, выделение этого объекта в дереве построения должно приводить к подсветке пар сопрягаемых поверхностей. - TODO - (кнопка "Создать сопряжение") И. анализирует созданные связи, удаляет те, что не соответствуют сущности продукта, а так же создает те, что по каким-то причинам не были созданы автоматически. Для создания сопряжений достаточно было бы выделить две грани любого вида и сохранить их взаимное расположение друг относительно друга. - #144 #145 - (кнопка "Сгенерировать матрицу связей") И. генерирует матрицу связей. Матрица связей представляет собой матрицу смежности, объединенную с матрицей сопряжений. Матрица связей может учитывать структуру изделия, полученную из CAD-модели. При наличии этой структуры матрица связей должна строиться (или предлагать такую возможность) для каждой отдельно взятой подсборки. При этом в сборку верхнего уровня должны входить подсборки в качестве отдельных компонентов. В том случае, если между двумя компонентами имеется более одной связи, можно отразить это путем увеличения соответствующего числа в матрице связей. Все сгенерированные матрицы (для каждой подсборки - своя) связей должны проверяться на наличие компонентов и их совокупностей, не имеющих связей с окружающими компонентами. При наличии этих компонентов необходимо либо исправить модель, либо создать связь между ними вручную. - TODO (кнопка "Формировать подсборки (дерево)") В том случае, если изделие/сборка/подсборка не имеет внутренней структуры, ее возможно определить на основании матрицы связей с помощью кластеризации графа связей. При этом, связи с более высоким весом (что соответствует большему числу связей между элементами) должны с большей вероятностью попасть в один кластер. Производя кластеризацию, инженер получает дерево сборки изделия. Дерево сборки само по себе может быть использовано как основа для плана, для установления конкретной последовательности действий необходимо распределить операции по объединению деталей между рабочими узлами. ## Интерфейс задания опций и ограничений - #163 - основные опции и ограничения - (?) интерфейс для задания ограничений по материалам. Возможно наложить ограничение по материалам. В таком случае, в первую очередь будут выбираться те изделия, которые совпадают по материалам. - (?) интерфейс для задания ограничений по форме. Возможно наложить ограничение по деталям одинаковой формы. Элементы одинаковой формы могут быть установлены на одном сборочном этапе - (?) При проведении кластеризации возможно наложить ограничения по массе и/или габаритам для отдельных сборочных единиц. В таком случае, в первую очередь из связанных между собой пар деталей должны выбираться те, чьи параметры меньше ограничений. ## Формирование сборочных инструкций / планов Инженер должен проконтролировать правильность разбиения на сборочные единицы. Для этого ему необходимо визуально осмотреть созданные пары элементов. Для этого будет генерироваться документация в верстаке OSHAutodoc. В данном верстаке создаются т.н. "слои", соответствующие сборочным этапам. Слои представляют собой контейнер, внутри которого находятся клоны деталей: - После создания дерева сборки возможно создать набор слоев, в которых будут находиться детали, соответствующие каждому этапу сборки. - Визуально оценив каждый этап, возможно дополнительно отредактировать их, переместив компоненты из одного слоя в другой. При этом, верстак должен уведомить пользователя, если оказавшаяся в другом слое деталь не имеет никаких связей с лежащими в нем деталями. - Распределив детали по слоям, возможно создать документацию, используя механизмы OSHAutodoc по руководствам данного верстака. - Проверив полученную последовательность сборки, Инженер экспортирует данный план и всю необходимую дополнительную документацию для использования по назначению. ## Выходные данные - mesh-модели деталей и подсборок для каждого шага сборки - json-файл, описывающий структуру и состав изделия, последовательность сборки и положения деталей в сборке.
movefasta commented 2024-05-09 19:30:47 +03:00 (Migrated from gitlab.com)

marked this issue as related to #149

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

marked this issue as related to #154

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

marked this issue as related to #163

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

changed the description

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

changed the description

changed the description
movefasta commented 2024-05-09 19:43:40 +03:00 (Migrated from gitlab.com)

changed the description

changed the description
movefasta commented 2024-05-10 11:14:34 +03:00 (Migrated from gitlab.com)

assigned to @ius.mark.alex

assigned to @ius.mark.alex
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#131
No description provided.