Формирование и анализ примитива. Операции над примитивом


Графический примитив – это функционально определенный простейший объект графической БД чертежа.
Объекты, с которыми работают программы на языке AutoLisp делятся на:
1) отдельные примитивы, созданные программой или графическим редактором;
2) наборы примитивов.
Все они м.б. обозначены с помощью переменных. Примитивы бывают простыми (линия, окружность, строка,…) и составные (вставки блоков, полилинии,….).
Составные примитивы делятся на субпримитивы.
(ENTNEXT [<примитив>])
выбор следующего примитива.
<примитив> – внутрипрограммное имя примитива. Результат: если примитив не указан, то возвращается первый из примитивов чертежа, который не удален; если указан простой примитив, то возвращается следующий за ним. Если указан составной примитив, то возвращается 1-ый субпримитив указанного примитива. Если указан субпримитив, то возвращается субпримитив, следующий за ним. Если указанный примитив отсутствует, то возвращается NIL
(SETQ N1 (ENTNEXT)) переменной N1 присваивается 1-ый примитив рисунка.
(SETQ N2 (ENTNEXT N1)) переменной N2 присваивается следующий за N1 примитив.
(ENTLAST) функция выбора последнего неудаленного примитива.
Субпримитив не применяется.
(ENTSEL [<подсказка>]) функция выбора примитива на экране. Выбор производится указанием курсора. Если <подсказка> отсутствует, выводится сообщение “Select object”. Результат возвращается в виде 2-х элементов:
1) внутрипрограммное имя примитива;
2) точка, в которой было произведено указание
(SETQ S1(ENDSEL “Please choose on entitg:”))
(SETQ NAME(CAR S1))
(SETQ POINT(CADR S1))
(ENTDEL <имя примитива>) удаление примитива
Результат действия функции следующий:
1) Примитив, который был в графической БД чертежа удаляется
2) Примитив, который был в графической БД чертежа восстанавливается в чертеже, если был удален в текущем сеансе. Субпримитивы так не удаляются.
(REDRAW <имя примитива>) управление отображением примитива. Позволяет восстановить изображение примитива после очистки экрана.
(REDRAW <имя примитива><режим>)
<режим>:
1 – примитив перерисовывается
2 – примитив стирается
3 – примитив отсвечивается
4 – подсветка примитива снимается
(SETQ S1 (ENTSEL))
(REDRAW S1 3) подсветка
(REDRAW S1 4) снять подсветку