Изменение положения компонентов КОМПАС-3D v25
ПОСТАНОВКА ЗАДАЧИ
СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ
СТРУКТУРА нового процесса
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
Трансляция
ТРАНСЛЯЦИя
Ротация
Ротация
Ротация
РОТАЦИЯ
РОТАЦИЯ
РОТАЦИЯ
Доработки
Доработки
Доработки
Доработки
Доработки
Доработки
СПАСИБО
42.95M

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
English     Русский Правила