Как выполнить «Масштабирование по размеру» объектов в видовых экранах netDxf?C#

Место общения программистов C#
Ответить
Anonymous
 Как выполнить «Масштабирование по размеру» объектов в видовых экранах netDxf?

Сообщение Anonymous »

Я работаю с файлом DXF, используя библиотеку netDxf на C#. Файл содержит:
Пространство модели, куда я добавляю 2D-объекты, такие как линии, дуги и круги (экспортированные из Eyeshot).
Три макета (Layout1, Layout2, Layout3). , каждый из которых имеет область просмотра для отображения объектов из пространства модели.
Проблема, с которой я столкнулся, заключается в том, что объекты, добавленные в пространство модели, не отображаются в окнах просмотра, если они расположены далеко от начала координат. Однако объекты, расположенные рядом с началом координат, без проблем видны в окнах просмотра.
Я подозреваю, что проблема возникает из-за того, что область просмотра не настраивает автоматически свой вид в соответствии с объектами. В AutoCAD для видовых экранов существует операция «Масштабировать по размеру» (или «Увеличить масштаб»). Я хочу добиться аналогичной функциональности в netDxf, где область просмотра автоматически масштабируется и центрируется, чтобы соответствовать всем объектам в пространстве модели.
Я прикрепил данные модели на изображении ниже
Объекты модели
Макет, в который добавлена ​​область просмотра
Видовая область в макете
Что я пробовал:
Я проверил, что объекты правильно добавлены в модель. пространство.
Я убедился, что область просмотра связана с правильными слоями и объектами.
Вопрос:
Есть ли в netDxf встроенный метод для выполнения «Масштабирования по размеру» или «Масштабирования» Экстенты» для видовых экранов?
Если нет, существует ли алгоритм или обходной путь для расчета правильного центра и масштаба видового экрана, чтобы они соответствовали всем объектам (независимо от их расстояния от начала координат) в пределах видового экрана?
Будем очень признательны за любые рекомендации или примеры кода.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -viewports
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»