Тема: Отображение блока
Подскажите пожалуйста, кто знает (я что-то запутался), как отображать объект AcDbBlockReference в одной точке с одинаковыми размерами (к примеру как UCS иконку), переопределяя метод worldDraw.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → Отображение блока
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Подскажите пожалуйста, кто знает (я что-то запутался), как отображать объект AcDbBlockReference в одной точке с одинаковыми размерами (к примеру как UCS иконку), переопределяя метод worldDraw.
> Shedever
Ты имеешь в виду чтобы твое изображение было в одном и том же месте экрана и не перемещалось и не масштабировалось при PAN/ZOOM и т.д.? Тогда тебе нужно создать свой примитив (Custom Entity).
мои соображения:
1. переопределяю метод worldDraw в custom entity наследуемый от AcDbBlockReference;
2. в worldDraw мне необходимо так трансформировать координаты, чтобы после вызова родительской версии этого метода объект перерисовался так, как я хочу
Проблемы у меня вызывает второй пункт.
> Shedever
Формируешь матрицу и дергаешь метод transformBy()
вот с формированием матриц у меня и проблемы.
Не могли бы вы мне помочь?
Так. В действительности все оказалось сложнее и срабатывает не всегда.
Все получилось. TransformBy не отрабатывает.
Получилось сделать с помощью setScaleFactors. Можна использовать setBlockTransofrm.
Код привести не смогу по некоторым серьезным причинам. Но идея такова, что я гружу блок из файла (иконка UCS) и отрисовываю ее в соответствии с размерами в пикселях.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → Отображение блока
Форум работает на PunBB, при поддержке Informer Technologies, Inc