Запрет перемещения объекта

Автор Тема: Запрет перемещения объекта  (Прочитано 18745 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Запрет перемещения объекта
« Ответ #15 : 01-02-2014, 20:55:01 »
Всё несколько сложнее, как я понимаю. В матрице одновременно (!!!) может присутствовать три операции:
1) поворот;
2) масштабирование;
3) перенос.
Так что указанной тобой проверки недостаточно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AlexАвтор темы

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Re: Запрет перемещения объекта
« Ответ #16 : 01-02-2014, 21:01:59 »
А не подскажете, где можно посмотреть спецификацию матрицы преобразования?
Она отличается от
(a  b  c  x)       (Sx·cosθ  -Sy·sinθ  0   x)
(d  e  f  y)   =   (Sx·sinθ   Sy·cosθ  0   y)
(g  h  j  z)       (    0       0     Sz   z)
(0  0  0  1)       (    0       0      0   1)
(где (Sx, Sy, Sz) - коэффициенты масштабирования по осям, θ - угол поворота, (x y z) - координаты вектора параллельного переноса)?
Если отличается - тогда, конечно, такой проверки недостаточно.
« Последнее редактирование: 01-02-2014, 21:36:04 от Alex »

Оффлайн AlexАвтор темы

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Re: Запрет перемещения объекта
« Ответ #17 : 01-02-2014, 21:36:38 »
UPD: хотя это, в принципе, не так критично. Вряд ли в моем случае понадобится команда _ROTATE.
Главная задача, в общем-то, уже решена.)

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Запрет перемещения объекта
« Ответ #18 : 01-02-2014, 21:42:57 »
А не подскажете, где можно посмотреть спецификацию матрицы преобразования?
В документации ObjectARX:
ObjectARX Developer Guide > Basic Interaction with AutoCAD > Basic Interaction with AutoCAD > ObjectARX Global Utility Functions > Variables, Types, and Values Defined in ObjectARX > General Types and Definitions > Transformation Matrices
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Запрет перемещения объекта
« Ответ #19 : 01-02-2014, 21:47:13 »
Если отличается - тогда, конечно, такой проверки недостаточно.
Даже если и не отличается, то всё-равно такой проверки недостаточно. Ты же не проверил, что x, y, z не равны 0 и  a, e, j не равны 1.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AlexАвтор темы

  • ADN Club
  • Сообщений: 36
  • Карма: 1
Re: Запрет перемещения объекта
« Ответ #20 : 01-02-2014, 21:59:28 »
Действительно, ошибка.
Просто я как-то и не подумал, как пользователь сможет одновременно применить к блоку не одну, а сразу несколько операций.
Это уже надо какую-то сложную команду писать... А я, наверное, не вполне корректно обрисовал свою задачу: мне нужно не вообще запретить изменения, а просто предотвратить случайные действия пользователя. Ну там, мышкой щелкнуть или еще чего...))
Описание матрицы попробую покурить...

Онлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Запрет перемещения объекта
« Ответ #21 : 02-02-2014, 00:16:45 »
Просто я как-то и не подумал, как пользователь сможет одновременно применить к блоку не одну, а сразу несколько операций.
Например, команда _ALIGN и он случайно этот блок выбрал.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение