Как стать автором
Обновить

Комментарии 5

Спасибо за статью! Познавательно.
Очень интересно выполнен фильтр для SelectObjects, в родном Акадовском АПИ его, кстати, не хватало (а именно выбор по рамке).

Если позволите, вопрос: для работы SelectObjects нужно чтобы выбранные объекты были в видимой области активного ViewPort? Или не обязательно? Просто когда ковырялся на через Net API автокада, очень долго не мог понять почему в результате работы родного автокадовского метода не все объекты попадают в конечный результат.
Чтобы понятно проиллюстрирую на примере: видимая область находится в координатах (0,0) — (10,10). Будет ли выделен объект с координатами (-1,-1) если назначить прямоугольную область выделения (-5,-5) — (10,10)?
PS. Извиняюсь за сумбурность, с утра не очень голова работает :)
Будет, фильтрация по ObjectFilter не зависит от видимой области.
Хм. А менеджер объектов (McObjectManager который) как я понимаю работает с активным документом? Или он работает с текущей базой?
Он сам по себе, это сервис.
Документ для поиска задается в ObjectFilter, листы и блоки также рассматриваются как документы.
Т.е. можно искать в блоке, или в листе, или во всем чертеже. Можно даже не в текущем.

в принципе McObjectManager даже не нужен, можно написать вот так:
List objects = ObjectFilter.Create(false).SetCurentDocument().AddType(DbCircle.TypeID).GetObjects();
Хм. Вот чего так не хватало в автокаде. Очень мощная штука! Отличное решение, в свободное время попробую.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий