Работа с фильтрами

Материал из GEOS_WIKI
Перейти к: навигация, поиск

При работе в K3 иногда возникает необходимость ограничить возможность пользователя работать с объектами, позволяя ему выбирать, указывать объекты только установленных типов. При этом создавать объекты можно любого типа

При установленных фильтрах пользователь не сможет оперировать с объектами (удалять их, перемещать и пр.), если они не попадают в условия фильтра.

В данном разделе представлены возможности K3 по работе с фильтрами.

Функции работы с фильтрами

FltrType

Logical FltrType(INT <TypeObject>)

Функция включает фильтр по типу объектов и добавляет в него тип объекта, заданный параметром <TypeObject>. При установленном фильтре возможна работа с объектами (удаление, перемещение и пр.) только выбранных типов.

Для включения фильтра по двум или более типам объектов надо вызвать функцию несколько раз с разными типами объектов <TypeObject>.

Если <TypeObject> равен нулю, то в результате фильтр по типу объектов выключится.

Если <TypeObject> меньше нуля, то сначала фильтр очистится, а затем установится фильтр по типу, равному абсолютному значению <TypeObject>.

Типы объектов <TypeObject>:

1 — точка (Point)
2 — отрезок (Line)
3 — окружность (Circle)
4 — дуга окружности (Arc)
5 — сплайн (Spline)
6 — набор из отрезков, окружностей и дуг окружностей (Frame)
7 — контур (Path)
8 — многогранник (BRep)
9 — группа (Group)
10 — вставка блока (Insert)
11 — размер (Dim)
12 — текст (Text)

Функция возвращает

1 — фильтр успешно установлен
0 — ошибка.


Logical FltrType(String <TypeObject>)

Функция включает фильтр по типу объектов и добавляет в него тип объекта, заданный параметром <TypeObject>. При установленном фильтре возможна работа с объектами (удаление, перемещение и пр.) только выбранных типов.

Для включения фильтра по двум или более типам объектов надо вызвать функцию несколько раз с разными типами объектов <TypeObject>.

Если <TypeObject> — пустая строка, то в результате фильтр по типу объектов выключится.

Типы объектов <TypeObject>:

  • "Text" - текст
  • "Point" - точка
  • "Line" - отрезок
  • "Circle" - окружность
  • "Arc" - дуга окружности
  • "Path" - контур
  • "BRep" - многогранник
  • "Group" - группа
  • "Dim" - размер
  • "Insert" - вставка блока
  • "Spline" - сплайн
  • "Frame" - набор линий
  • "PolyLine" - плоская полилиния
  • "Light" - источник света
  • "Panel" - панель
  • "Note" - выноска с примечанием
  • "Room" - комната (только для приложения "Мебель").

Функция возвращает

1 — фильтр успешно установлен
0 — ошибка.

FltrLayer

logical FltrLayer(INT <Mode>[, STRING <NameLayer>])

Функция включает фильтр по слою с именем <NameLayer> в соответствии с параметром <Mode>. Параметр <Mode> может иметь следующие значения:

0 — Выключить фильтр по слою;
1 — Включить фильтр по заданному слою, предварительно очистив предыдущее его содержимое;
2 — Добавить заданный слой в фильтр по слою.

Фильтр по слою не показывает удаленные слои.

Функция возвращает:

1 — фильтр успешно установлен;
0 — ошибка.

FltrColor

INT FltrColor(INT <Mode>[, INT <Color>])

Функция включает фильтр по цвету в соответствии с параметрами <Mode> и <Color>. Параметр <Mode> может иметь следующие значения:

0 — Выключить фильтр по цвету;
1 — Включить фильтр по заданному цвету, предварительно очистив предыдущий фильтр по цвету;
2 — Добавить заданный цвет в фильтр по цвету.
<Color> — индекс цвета от 0 до 239.

Функция возвращает:

1 — фильтр успешно установлен;
0 — ошибка.

FltrParamObj

LOGICAL FltrParamObj(INT <mode>[, INT <ParamObjCode>])

Функция включает или выключает фильтр по типу параметрического объекта в зависимости от своих параметров.

<mode> = 0 выключить фильтр
<mode> = 1 включить в фильтр заданный типу параметрического объекта, предварительно очистив предыдущий фильтр
<mode> = 2 добавить заданный тип параметрического объекта в фильтр
<ParamObjCode> — тип параметрического объекта:

Типы параметрических объектов ядра системы:

-1 — Не параметрический объект (не имеет CSG)
400 — Прямоугольник
401 — Многоугольник
402 — Штриховка

Типы параметрических объектов мебельного приложения:

60 — длинномер версии 6.0 (не используется)
61 — мебельная панель, начиная с версии 6.3
62 — мебельный профиль, начиная с версии 6.3
63 — служебный мебельный объект: внедряется в мебельные панели для подсветки кромок, крепежей и т.п.
64 — длинномер, начиная с версии 6.5
65 — профиль, начиная с версии 6.5 (измененыпараметры геометрии профиля)
66 — мебельный каркас с версии 7.1
67 — длинномер, начиная с версии 7.1
68 — комплектующий в версии 7.1
69 — деталь крепежа в версии 7.1
70 — группа крепежа в версии 7.1
71 — Линия свободного крепежа
72 — Линия крепежа на торце
73 — Сеточный замок (gridlock)
76 — Линия свободной сверловки

Функция возвращает:

1 в случае успешного завершения или
0 в случае неправильного задания параметров