ObjectARX, AutoCAD. Среда программирования библиотеки C++



         

Обработка Наборов Выбора


Функции ObjectARX, которые обрабатывают наборы выбора,  подобны тем в AutoLISP. AcedSSGet () функция обеспечивает большинство общих средств создания набора выборов. Это создает набор выборов способом из трех путей:

§

Подсказка пользователя, чтобы выбрать объекты.

§         Явно определяющий примитивы, чтобы выбрать,  используя набор PICKFIRST или Пересечение, Многоугольник Пересечения, Заграждающую метку, Последнюю{*прошлую*}, Предыдущую, Окно, или опции Window Polygon (как в интерактивном использовании AutoCAD), или,  определяя одиночную точку или заграждающую метку точек.

§         Фильтрация базы данных текущего рисунка,  определяя список атрибутов и условий, которым выбранные примитивы должны соответствовать. Вы можете использовать фильтры с любой из предыдущих опций.

int

acedSSGet (

const char *str,

const void *pt1,

const void *pt2,

const struct resbuf *entmask,

ads_name ss);

Первый параметр к acedSSGet () - строка, которая описывает которые опции выбора использовать, как получено в итоге в следующей таблице.

Selection options for acedSSGet

Selection

 Code Description

NULL

Single-point selection (if pt1 is specified) or user selection (if pt1 is also NULL)

#

 Nongeometric (all, last, previous)

:$

Prompts supplied

.

User p ick

:?

 Other callbacks

A

All

B

Box

C

Crossing

CP

Crossing Polygon

:D

 Duplicates OK

:E

 Everything in aperture

F

 Fence

G

 Groups

I

 Implied

:K

 Keyword callbacks

L

 Last

M

 Multiple

P

 Previous

:S

 Force single object selection only

W

Window

WP

 Window Polygon

X

 Extended search (search whole database)

Следующие два параметра определяют значения точки для уместных опций. (Они должны быть NULL, если они не применяются.) Если четвертый параметр, entmask, - не NULL, это указывает на список значений поля примитива, используемых в фильтрации. Пятый параметр, ss, идентифицирует имя набора выбора.




Содержание  Назад  Вперед