Работа с фильтрами
При работе в 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 — Линия свободной сверловки
Типы параметрических объектов приложения Ship:
- 1000 — уголок катанный
- 1001 — полособульб
- 1002 — кница
- 1003 — бракета (фланец внутри габарита)
- 1004 — полоса
- 1006 — лист
- 1007 — бракета (фланец за габаритом)
- 1010 — Z-профиль
- 1011 — B-профиль
Функция возвращает:
- 1 в случае успешного завершения или
- 0 в случае неправильного задания параметров