Лаба 3 / Лабораторная №3
.docxЦель работы: изучение особенностей работы с наборами примитивов, обработки характеристик примитивов, входящих в набор.
Ход работы
1) Задание: определить и вывести радиусы и координаты центров кругов, входящих в набор, используя код, приведенный выше. Все примитивы на чертеже имеют по умолчанию цвет ByLayer (По слою).
2) Описание используемых функции
Функция ssget – формирует набор по запросу или признаку.
Функция sslength – вычисляет длину набора, т.е. количество содержащихся в нем примитивов.
3) Создали слой «HOLSE». Написали программы определения радиусов и координат центров кругов. Программа приведена в соответствии с рисунком 1.
Рисунок 1 – Программа радиусов и координат центров кругов
Алгоритм добавления точечной пары к списку свойств примитива:
Сформировали точечную пару для красного цвета;
Объединили элементы в список;
Объединили новый список со списком, который содержит;
характеристики примитива.
Программа изменения слоя приведена в соответствии с рисунком 2.
Рисунок 2 – Программа изменения цвета слоя
4) Листинг программы приведён в соответствии с рисунком 3.
Рисунок 3 – Листинг программы
5) Результат работы программы приведён в соответствии с рисунком 4,5,6.
Рисунок 4 – Координаты центров кругов
Рисунок 5 – Координаты центров кругов
Рисунок 6 – Изменения цвета слоя
Вывод: написали программы для определения радиусов и координат центров кругов, программу для изменения цвета слоя.
Ответы на контрольные вопросы
1. Что такое набор?
Ответ: Набор – это временное множество, в которое входят имена основных примитивов рисунка (они собираются по какому-то условию или признаку-фильтру). Имя набора обычно сохраняется в какой-нибудь переменной, чтобы затем можно было извлечь из набора нужные примитивы для анализа или операций редактирования. Наборы уничтожаются при закрытии рисунка.
2. Какими способами формируются наборы?
Ответ: Набор формируется функцией ssget.
3. Какая функция позволяет определить длину набора?
Ответ: Функция sslength – вычисляет длину набора, т.е. количество содержащихся в нем примитивов.
4. Каким образом можно изменить цвет примитива?
Ответ: ПКМ на примитив –> свойства –> colors –> select colors.
5. Что буде получено в результате выполнения следующей функции (ssget “_X” ‘ ((0 . “*LINE”)))?
Ответ: создает набор из всех примитивов рисунка, являющихся объектами типа *LINE (LINE, SPLINE, POLYLINE, LWPOLYLINE);
6. В чем заключаются преимущества работы с наборами?
Ответ: позволяет работать с несколькими примитивами сразу.
7. Как долго может храниться набор?
Ответ: Наборы уничтожаются при закрытии рисунка.
8. Какой DXF-код используется для работы с радиусами?
Ответ: код-10
9. Какая функция позволяет создать набор?
Ответ: ssget выдает стандартный запрос Select objects: (Выберите объекты:) и затем создает набор в соответствии с интерактивными действиями пользователя;
10. Как образуются фильтры со сложными условиями?
Ответ: для формирования сложных условий в фильтрах выбора применяются точечные пары со служебным DXF-кодом -4. В них используются следующие аналоги логических операторов: AND, OR, XOR, NOT. Каждый из этих операторов имеет два вида: открывающей скобки и закрывающей скобки, например: “<AND” и “AND>”. Между такими скобками размещаются проверяемые значения (AND и OR являются многоместными операторами, XOR – двухместным, NOT - одноместным).