Управление Viewport

Автор Тема: Управление Viewport  (Прочитано 3489 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Управление Viewport
« : 05-02-2018, 19:45:01 »
Поступила такая задача.
Допустим есть очень протяженный объект от 5 до 120 км. Объект создан в модели и разбит на отдельные листы в листах. (соответственно все с ориентировано по направлению трассы).
А теперь, так сложились обстоятельства, модель линейно сдвигается по двум координатам (параметры сдвига известны) и, как следствие, в листах Viewport ничего не показывает.
Как сделать так:
Зная смещение XY, сместить Viewport (или лучше создать новый - дубликат) на это же расстояние. (учитывая сто во Viewport система координат из модели отображается повернутой).

Поделитесь опытом.
Может ссылками на инфу.
Пока только получить вектор ViewDirection получилось.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Управление Viewport
« Ответ #1 : 05-02-2018, 19:56:36 »
Да вроде бы, навскидку, никаких сложностей с этим быть не должно. С чем конкретно проблемы?

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Управление Viewport
« Ответ #2 : 05-02-2018, 19:56:52 »
Получить вектор смещения, создать Transform смещения и сместить все ViewPort используя этот Transform

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Re: Управление Viewport
« Ответ #3 : 05-02-2018, 20:01:46 »
В идеале Viewport на месте т.к. он уже оформлен как чертеж.
Но надо подвинуть пространство (войдя во Viewport).
Может ссылки какие есть? Почитать? Коды посмотреть.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Управление Viewport
« Ответ #4 : 05-02-2018, 21:01:16 »
Как сделать так:
Зная смещение XY, сместить Viewport (или лучше создать новый - дубликат) на это же расстояние. (учитывая сто во Viewport система координат из модели отображается повернутой).
Может просто ViewTarget нужно трансформировать на XY?
По хорошему нужен пример чертежа и объяснение как вручную (без программирования) добиться нужного результата.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Re: Управление Viewport
« Ответ #5 : 05-02-2018, 21:16:15 »
Фаил прикладываю.
Описание:
- в моделе два отрезка - белый (условно старое положение) и красный (условно новое положение);
- смещение в модели двух отрезков X=300, Y=300;
- в Лист1 создан вьпорт, который показывает белый отрезок, а нужно что бы он в тех же границах показал красный отрезочек.
Другими словами исходную видимую область модели он бы перенес на X=300, Y=300 ед.

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Re: Управление Viewport
« Ответ #6 : 05-02-2018, 21:21:26 »
Код - C# [Выбрать]
  1. Vector3d V = new Vector3d(300, 300, 0);
  2. acVport.TransformBy(Matrix3d.Displacement(V));
  3.  
Данный код просто переносит Viewport - это не то нужно перенести границы отображения.

Отмечено как Решение Александр Ривилис 05-02-2018, 23:12:29

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Управление Viewport
« Ответ #7 : 05-02-2018, 21:30:07 »
До ручного переноса:

После:


Вывод: менять следует ViewCenter

Как-то так наверное:
Код - C# [Выбрать]
  1. Vector2d V = new Vector2d(300, 300);
  2. acVport.ViewCenter = acVport.ViewCenter + V;
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Re: Управление Viewport
« Ответ #8 : 05-02-2018, 21:53:53 »
Решено!
Александр и снова я ваш должник!
Благодарю.

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Управление Viewport
« Ответ #9 : 05-02-2018, 21:55:20 »
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • **
  • Сообщений: 78
  • Карма: 0
Re: Управление Viewport
« Ответ #10 : 06-02-2018, 18:15:20 »
Новенький.
Буду знать.