Похожие презентации:
c2daysDrag
1. Изменение положения компонентов КОМПАС-3D v25
ИЗМЕНЕНИЕ ПОЛОЖЕНИЯКОМПОНЕНТОВ
КОМПАС-3D V25
2. ПОСТАНОВКА ЗАДАЧИ
Требования заказчикатрансформация в соответствии с заданными сопряжениями
точная трансформация
групповая трансформация
трансформация путем изменения значения сопряжения
анимирование наложенных сопряжений
• определение столкновения между компонентами
2026
Изменение положения компонентов КОМПАС-3D v25
2
3. СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
Команда Переместить компонент2026
Изменение положения компонентов КОМПАС-3D v25
3
4. СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
Команда Повернуть компонент2026
Изменение положения компонентов КОМПАС-3D v25
4
5. СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
Незакрытые требованияНельзя задать точное положение компонента
Можно переместить только один компонент за раз
Нет возможности изменения и анимирования сопряжения
Есть контроль соударений, но нет функции продолжения перемещения при остановке
2026
Изменение положения компонентов КОМПАС-3D v25
5
6. СТРУКТУРА нового процесса
СТРУКТУРА НОВОГО ПРОЦЕССА2026
Изменение положения компонентов КОМПАС-3D v25
6
7. Трансляция
ТРАНСЛЯЦИЯНовые сценарии трансляции
Динамические сценарии – непрерывное изменение положения компонента в процессе
взаимодействия с многократным пересчётом положения
Разовые сценарии – однократное вычисление нового положения компонента по завершённому
действию
2026
Изменение положения компонентов КОМПАС-3D v25
7
8. Трансляция
ТРАНСЛЯЦИЯМанипулятор
Манипулятор – инструмент интерактивного управления положением объекта
Взаимодействие через примитивы
Положение определяется через задание ЛСК
2026
Изменение положения компонентов КОМПАС-3D v25
8
9. Трансляция
ТРАНСЛЯЦИЯДинамические сценарии
2026
Изменение положения компонентов КОМПАС-3D v25
9
10. Трансляция
ТРАНСЛЯЦИЯОдиночные сценарии
2026
Изменение положения компонентов КОМПАС-3D v25
10
11. Трансляция
ТРАНСЛЯЦИЯДраггинг вдоль плоскости
Подготовка:
GCM_FUNC(GCM_result) GCM_PrepareReposition(GCM_system gSys, GCM_geom movGeom,
const MbPlacement3D & projPlane, const MbCartPoint3D
& curPnt)
Вызов:
GCM_FUNC(GCM_result) GCM_SolveReposition(GCM_system gSys,
const MbCartPoint3D &
curPos)
Выполняет трансляцию объекта вдоль заданной плоскости экрана по позиции курсора, т.к. чтобы
точка перетаскивания компонента оказалась под курсором
При отсутствии трансляционных степеней свобод может выполнить ротацию, если есть
возможность
Предназначен для динамических репозиций
Если перемещение невозможно, положение объекта не меняется
2026
Изменение положения компонентов КОМПАС-3D v25
11
12. Трансляция
ТРАНСЛЯЦИЯФормирование данных в старой команде
2026
Изменение положения компонентов КОМПАС-3D v25
12
13. Трансляция
ТРАНСЛЯЦИЯСхема работы новой команды
2026
Изменение положения компонентов КОМПАС-3D v25
13
14. Трансляция
ТРАНСЛЯЦИЯФормирование данных в новой команде. Перетаскивание за
сферу
2026
Изменение положения компонентов КОМПАС-3D v25
14
15. Трансляция
ТРАНСЛЯЦИЯФормирование данных в новой команде. Перетаскивание за
сферу
2026
Изменение положения компонентов КОМПАС-3D v25
15
16. Трансляция
ТРАНСЛЯЦИЯПроблемы трансляции вдоль плоскости. Погрешности в
вычислениях
2026
Изменение положения компонентов КОМПАС-3D v25
16
17. ТРАНСЛЯЦИя
ТРАНСЛЯЦИЯПроблемы трансляции вдоль плоскости. Некорректная
трансляция компонента с сопряжениями вдоль вектора
2026
Изменение положения компонентов КОМПАС-3D v25
17
18. Ротация
РОТАЦИЯДинамические сценарии ротации
2026
Изменение положения компонентов КОМПАС-3D v25
18
19. Ротация
РОТАЦИЯОдиночный сценарии ротации
2026
Изменение положения компонентов КОМПАС-3D v25
19
20. Ротация
РОТАЦИЯПроизвольная ротация
Вызов:
GCM_FUNC(GCM_result) GCM_SolveReposition(GCM_system gSys, GCM_geom g,
const MbPlacement3D & newPos,
GCM_reposition movType)
Находит решение для произвольного newPos по принципу близости решения к заказу
Поведение на границе неопределенно. Если в навязанном положении решений не существует,
то solver находит решение, как можно ближе к границе, однако в силу не определенности оно
может отклоняться
2026
Изменение положения компонентов КОМПАС-3D v25
20
21. РОТАЦИЯ
Ротация вокруг заданной осиПодготовка:
GCM_FUNC(GCM_result) GCM_PrepareReposition(GCM_system gSys, GCM_geom rotGeom,
const MbCartPoint3D & org, const
MbVector3D & axis)
Вызов:
GCM_FUNC(GCM_result) GCM_SolveReposition(GCM_system gSys, double alpha )
Выполняет поворот вокруг заданной оси по переданному абсолютному значению угла
Предназначен для динамических репозиций
Формирование данных:
В способе На угол ось и угол задаются пользователем напрямую
В способе По координатам ось и угол вычисляются по ротационным составляющим ЛСК до
ротации и вспомогательной ЛСК(по манипулятору)
2026
Изменение положения компонентов КОМПАС-3D v25
21
22. РОТАЦИЯ
Проблемы. Недопустимость трансляции2026
Изменение положения компонентов КОМПАС-3D v25
22
23. РОТАЦИЯ
Проблемы. Инвариантность оси вращения2026
Изменение положения компонентов КОМПАС-3D v25
23
24. Доработки
ДОРАБОТКИНовая функция для динамических репозиций
Вызов:
GCM_FUNC(GCM_result) GCM_DynamicReposition(GCM_system gSys, GCM_geom rotGeom,
const MbPlacement3D & manip, const
GCM_dragging & mode)
Предназначен для драггинга манипулятором, что упрощает интеграцию манипулятора в новый
функционал
Не требует этапа подготовки. Функция осуществляет подготовку самостоятельно
Вызов универсальный. Может быть использован для разных типов репозиции
Предоставляет возможность для гибкой настройки поведения драггинга
Помимо этого, уже в рамках нового вызова, был реализован новый тип трансляции GCM_drag_motion::GCM_DRAGGING_Translation :
Позволяет осуществить трансляции вдоль произвольного вектора
Решает ранее озвученные проблемы трансляции вдоль плоскости
2026
Изменение положения компонентов КОМПАС-3D v25
24
25. Доработки
ДОРАБОТКИВыбор настроек. GCM_drag_control
2026
Изменение положения компонентов КОМПАС-3D v25
25
26. Доработки
ДОРАБОТКИВыбор настроек. GCM_drag_influence::Expanded
2026
Изменение положения компонентов КОМПАС-3D v25
26
27. Доработки
ДОРАБОТКИВыбор настроек. GCM_drag_influence::Relaxed
2026
Изменение положения компонентов КОМПАС-3D v25
27
28. Доработки
ДОРАБОТКИГрупповое перемещение
Требования:
Группа компонентов должна менять положение, как геометрически жесткое целое. То есть
компоненты должны сохранять взаимное положение
Существующие функции драггинга должны работать с группой объектов
Кластер – множество объектов, которые при репозициях ведут себя как геометрически жесткое
целое при репозиции, как геометрически-жесткое целое
В рамках доработок решателя добавлен функционал, позволяющий со стороны приложения
перемещать компонент в кластер группы. А также добавлена поддержка работы с кластерами
функций репозиций
Схема создания кластера в КОМПАСе:
По базовому компоненту создается геометрия – ЛСК , которая и будет кластером
Кластер регистрируется в решателе
Компоненты перемещаются в кластер через новый функционал
2026
Изменение положения компонентов КОМПАС-3D v25
28
29. Доработки
ДОРАБОТКИГрупповое перемещение
2026
Изменение положения компонентов КОМПАС-3D v25
29
30. СПАСИБО
Смирнов Дмитрий Евгеньевичsmirnov_de@ascon.ru
Пинчук Всеволод Романович
pinchuk_vr@ascon.ru