Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочный_материал_ПГК.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
505.34 Кб
Скачать

Функции доступа к примитивам AutoCad

  1. entlast – извлекает последний не удаленный примитив рисунка.

Например, с помощью функции command построено несколько графических примитивов (линий, окружностей и т. д.). Тогда с помощью функций (setq b (entlast)) в переменной b сохранится информация о последнем изображенном примитиве. В дальнейшем переменная b может быть использована для редактирования примитива.

Если необходимо сохранять каждый примитив рисунка, то за каждым вызовом функции command должен следовать вызов функции entlast с сохранением примитивов в различных переменных.

  1. entnext – извлекает либо первый, либо следующий примитив.

(setq b1 (entnext)) – возвращает первый не удаленный примитив.

(setq b2 (entnext b3)) – возвращает примитив, следующий за b3.

  1. entsel – выбор примитива мышью.

(setq b (entsel “Укажите … ”))

  1. entdel – удаление не удаленных примитивов или восстановление удаленных примитивов.

(setq a (entdel b)) – удаление примитива b. Информация об удаленном примитиве сохранена в переменной a.

(entdel a) – восстановление примитива b.

  1. entget – получение списка с характеристиками примитива.

(setq a (entget b))

  1. entmake – создание нового примитива по списку. Список может быть получен функцией entget, видоизменен и использован с функцией entmake.

(entmake a)

  1. entmakex – аналогична функции entmake. Является основным инструментом создания словарей и X-записей.

  1. entmod – модифицирует существующий примитив. Аналогична entmake, но новый примитив не создается.

  1. entupd – перерисовка примитива на экране с учетом изменений, внесенных, например, функцией entmod.

(entupd b)

  1. handent – получение имени примитива или неграфического объекта по его метке. Метка – это текстовая строка с 16-ричной меткой в том виде, как она возвращается функцией entget.

(handent метка)

  1. nentsel

  1. nentselp

Аналогичны функции entsel. Имеются особенности работы при выборе объектов типа «Полилиния» и «Блок».

  1. ssget – формирует набор по запросу или признаку.

Наиболее характерные примеры:

(setq b (ssget)) – создает набор в соответствии с интерактивными действиями пользователя (как при «ручном» черчении в AutoCADе).

(setq b (ssget ‘(20.0 5.0))) – создает набор из всех примитивов, проходящих через указанную точку.

(setq b (ssget “_w” ‘(20.0 5.0) ‘(205.0 292.0))) – создает набор из примитивов, выбираемых рамкой с углами в указанных точках.

(setq b (ssget “_c” ‘(20.0 5.0) ‘(205.0 292.0))) – создает набор из примитивов, выбираемых секущей рамкой с углами в указанных точках.

(setq b (ssget “_x” ‘((0 . “Line”)))) – создает набор из всех примитивов, являющихся объектами типа “Line”.

Для формирования сложных условий применяются точечные пары с DXF-кодом -4. В них используются аналоги логических операторов AND, OR, NOT и операторов сравнения.

(setq b (ssget “_x” ‘((-4 . “<or”) (0 . “Arc”) (0 . “Circle”) (-4 . “or>”)))) –создает набор из примитивов, являющихся объектами типа “Arc” или “Circle”.

(setq b (ssget “_x” ‘((0 . “Line”) ‘(-4 . “>=”) ‘(370 . 100)))) – создает набор из линий, которые имеют значение веса, большее или равное 1,00 мм (в DXF-коде 370 хранятся веса, представленные числами в 100 раз больше).

  1. ssadd – добавляет примитив в набор.

(ssadd a b) – добавляет примитив a в набор b.

  1. ssdel – удаляет примитив из набора.

(ssdel a b) – удаляет примитив a из набора b.

  1. sslength – вычисляет длину набора (количество примитивов).

(setq d (sslength b)) – длина набора b сохранится в переменной d.

  1. ssmemeb – проверка вхождения примитива в набор.

(setq d (ssmemb a b)) – в переменной d сохранится значение примитива a, если он входит в набор b, или nil в противном случае.

  1. ssname – извлечение примитива из набора по порядковому номеру.

(setq d (ssname набор номер))

  1. ssnamex – извлечение примитива из набора по порядковому номеру. При этом выдается дополнительная информация о методах, с помощью которых набор был сформирован.

  1. sssetfirst – включает ручки у примитивов, входящих в набор, и подсвечивает их пунктиром (что означает выбор их для следующей операции редактирования).

(sssetfirst nil набор)

По синтаксису языка, на месте константы nil может стоять другой набор. Однако, начиная с версии AutoCAD 2004, с ним ничего не происходит, поэтому имеет смысл в качестве первого аргумента функции sssetfirst использовать только nil.