(entlast). Функция используется для вызова последнего неудаленного примитива, добавленного в базу данных явным образом или с помощью функции command. При этой операции возвращается имя примитива.
(entnext
(setq e1 entnext) присваивает идентификатор e1 первому примитиву графической базы данных,
(setq e2 (entnext e1)) присваивает е2 примитиву, следующему за e1.
(entdel
(entdel e1) удаляет из чертежа примитив e1,
(entdel e1) восстанавливает удаленный примитив e1.
Операция восстановления примитива может быть осуществлена на любом этапе выполнения и редактирования чертежа. В этом ее отличие от механизма действия команды undo, которая последовательно, от конца к началу, отменяет результаты действий оператора. Функция же entdel восстанавливает любой примитив, если он был именован.
(entget
(entget (entlast))
возвратит список, подобный приведенному в разделе 6.1.
(entmake
Перед созданием нового примитива функция проверяет, cyществуют ли в чертеже указанный слой, тип линий и цвет и при необходимости организует новый слой с указанным цветом. Что касается типа линий, то он должен быть загружен в чертеж отдельной командой. Точно так же анализируются имена блоков, текстовых и размерных стилей, если таковые указываются в списке. Все они должны уже существовать в чертеже или создаваться предварительно программным путем.
Дополнительные сведения об этих и других функциях обработки примитивов можно почерпнуть в [5, 6].
6.4. Наборы примитивов
На примере программы
(ssget
которая формирует набор примитивов, определяемый аргументами. Будучи введенной без аргументов, функция предлагает оператору осуществить выбор примитивов вручную. Аргумент
(ssget) предлагает пользователю свободный выбор объектов и включает их в набор.
(ssget "P") организует набор из всех примитивов, принадлежащих предыдущему выбору.
(ssget “L”) создает набор, включающий в себя последний созданный объект, видимый на чертеже.
(ssget pt1) создает набор из всех примитивов, проходящих через точку pt1.
(ssget “W” pt1 pt2) создает набор из примитивов, находящихся внутри окна с диагональными углами в точках pt1 и pt2.
(ssget “С” pt1 pt2) - то же, но определяющей является секущая рамка.
(ssget “X”) создает набор из всех примитивов, сохраненных в графической базе чертежа.
(ssget “X” список__фильтров) создает набор из всех объектов чертежа, удовлетворяющих списку фильтров.
(ssget список_фильтров) предлагает пользователю свободный выбор, но в набор включает лишь те объекты, которые удовлетворяют списку фильтров.
Организацию списка фильтров можно проследить на следующем примере:
(ssget “X” ‘((0 . “CIRCLE”) (-4 . “>=”) (40 . 2.0)))
Функция создает набор из всех окружностей, имеющихся в чертеже, радиус которых равен или превышает 2.0.