Двойной клик по блоку. Как заменить редактор на свою команду при условии?

Автор Тема: Двойной клик по блоку. Как заменить редактор на свою команду при условии?  (Прочитано 12695 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Да, вы правы - дело в координатах. А точнее даже в методе SelectAtPickBox, который я взял тут - http://drive-cad-with-code.blogspot.ru/2013/03/update-custom-double-click-action-using.html. Он не работает с пользовательскими системами координат.
Нужно добавить пару строк в тот код, чтобы он работал в любой ПСК.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
и эти строчки:
Код - C# [Выбрать]
  1.             Gem.CoordinateSystem3d cs = ed.CurrentUserCoordinateSystem.CoordinateSystem3d;
  2.               // Transform from  WCS to UCS
  3.             Gem.Matrix3d mat = Gem.Matrix3d.AlignCoordinateSystem(
  4.                 cs.Origin, cs.Xaxis, cs.Yaxis, cs.Zaxis,              
  5.                 Gem.Point3d.Origin, Gem.Vector3d.XAxis, Gem.Vector3d.YAxis, Gem.Vector3d.ZAxis );
  6.             //Get pick box's size on screen
  7.             System.Windows.Point screenPt = ed.PointToScreen(pickBoxCentre.TransformBy(mat), 1);
и сунуть их нужно в самое начало метода...