Вариант программки в ObjectARX (2010-1014) для выделения элементов относительно существующих прямолинейных и/или криволинейных контуров:
- PSI_SEL_ALL_IN - выбрать элементы внутри границ. У блоков и текстов учитываются только точки вставки.
- PSI_SEL_ALL_OUT - выбрать элементы вне границы. У блоков и текстов учитываются только точки вставки.
- PSI_SEL_IN - выбрать элементы, попадающие в границы. У блоков и текстов учитываются только точки вставки.
- PSI_SEL_OUT - выбрать элементы вне границ и пересекающие границы. У блоков и текстов учитываются только точки вставки.
- PSI_SEL_ON_LINE - выбрать элементы на линиях в пределах выбранного допуска. У блоков и текстов учитываются только точки вставки. Допуск позволяет находить элементы, попадающие вокруг указанных линий в зону, шириной в допуск в каждую сторону.
- PSI_SEL_ON_LINE_3D - выбрать элементы на линиях с учетом 3D в пределах выбранного допуска. У блоков и текстов учитываются только точки вставки. Допуск позволяет находить элементы, попадающие вокруг указанных линий в зону, шириной в допуск в каждую сторону и по высоте.
- PSI_SEL_INTERSECT - выбрать элементы, пересекающие линии. У блоков и текстов учитываются габариты.
- PSI_SEL_INTERSECT_3D - выбрать элементы, пересекающие линии с учетом 3D. У блоков и текстов учитываются габариты.
Обрабатывается предварительный выбор элементов - поиск только из выбранного. Если нет предварительного выбора, то обрабатывается весь файл.
Можно указать несколько существующих контуров, несколько линейных элементов для выбора.
Контуры могут состоять из наборов существующих прямолинейных и/или криволинейных элементов, включая дуговые сегменты полилиний.
Первые шесть команд не учитывают габариты блоков и текстов, а только их точки вставки. Сделано так, исходя из того, что блоки и тексты характеризуются в первую очередь точками вставок. Во-вторых, чтобы не дублировался выбор блоков и текстов, габариты которых попадают на границы.
Две команды на пересечение _INTERSECT_ учитывают габариты блоков и текстов.
Если элементы внутри контуров примыкают к контурам, то считается, что эти элемент полностью внутри контуров. Сделано так для возможности удобного выбора линейных штриховок.
В PSI_SEL_2010-2014.zip: для 32-разрядных машин под 2010-2012 в x86_2010,
- для 32-разрядных машин под 2010-2012 в x86_2010.
- для 64-разрядных машин под 2010-2012 в x86_64_2010.
- для 32-разрядных машин под 2013-2014 в x86_2013.
- для 64-разрядных машин под 2013-2014 в x86_64_2013.
Тулпалетка для команд выделения элементов - Select_Cont_PSI.xtp, и иконки для нее в папке Select_Cont_PSI.
Выбираете папку с нужной версией Автокада и машины. Загружаете файл psi_sel.arx как обычное приложение - через Сервис-Приложения (Tools-Load application). Для работы в одном сеансе можно затащить файл arx из Проводника мышкой в окно Автокада.
PSI_SEL - выделение по контурам 23.1а
8 команд поиска элементов внутри, вне, на, пересекающих существующие контуры