Быстрый перебор объектов в модели

Автор Тема: Быстрый перебор объектов в модели  (Прочитано 2477 раз)

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

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

Оффлайн Константин ААвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Добрый день.
Делаю плагин для AutoCAD.

Задача следующая:
Имеется набор чертежей в пространстве модели.
Плагин будет раскидывать чертежи (рамки) по отдельным файлам dwg, и публиковать в pdf.

Рассматриваю, такую логику, выбираем рамки, создаем копию документа по кол-ву рамок, в каждом документе удаляем все объекты кроме соответствующей рамки и объектов в её границах, и так в каждом документе.
Проблема в следующем:
Перебор всех объектов (Entity), с проверкой координат (в нашей рамке объект или нет), (удаляем все что за границами рамки), занимает много времени.

Может у Вас есть идеи, или может есть способ программного выделения области (дабы не перебирать все объекты а получить набор выделения)?
Благодарю!

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Быстрый перебор объектов в модели
« Ответ #1 : 02-02-2018, 15:16:00 »
Рассматриваю, такую логику, выбираем рамки, создаем копию документа по кол-ву рамок, в каждом документе удаляем все объекты кроме соответствующей рамки и объектов в её границах, и так в каждом документе.
Не понял зачем так. Достаточно для каждой рамки отобрать всё что внутри неё и использовать метод Database.Wblock для создания нового файла, в котором только объекты внутри рамки.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Константин ААвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Re: Быстрый перебор объектов в модели
« Ответ #2 : 02-02-2018, 15:21:09 »
Достаточно для каждой рамки отобрать всё что внутри неё
Процесс отбора объектов и занимает относительно много времени, ибо набор объектов неизвестен, приходиться проходить по всем объектам пространства модели и проверять координаты.

Отмечено как Решение Константин А 02-02-2018, 20:52:29

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Быстрый перебор объектов в модели
« Ответ #3 : 02-02-2018, 15:24:39 »
Можно воспользоваться Editor.SelectWindow или Editor.SelectCrossingWindow, указав диагональные точки рамки. При этом точки должны быть видны на экране.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Константин ААвтор темы

  • ADN OPEN
  • Сообщений: 5
  • Карма: 0
Re: Быстрый перебор объектов в модели
« Ответ #4 : 02-02-2018, 19:54:59 »
Можно воспользоваться Editor.SelectWindow или Editor.SelectCrossingWindow, указав диагональные точки рамки. При этом точки должны быть видны на экране.
То что нужно.
Благодарю!