Skip To Content

esri_featurelayer_select (AutoLISP)

Функция esri_featurelayer_select возвращает набор выборки AutoCAD, отфильтрованный по указанному векторному слою и дополнительному подтипу из чертежа и, при необходимости, указанному набору выборки. Эта функция аналогична опции Объекты инструмента Выбрать объекты в контекстном меню векторного веб-слоя или векторного слоя документа на панели Ресурсы.

Синтаксис

(esri_featurelayer_select flname subtype [select_settings])

Аргументы

  • flname | string | обязательный | Имя существующего векторного веб-слоя или векторного слоя документа на чертеже.
  • subtype | string | обязательный | Имя подтипа векторного слоя или пустая строка "" для всех подтипов или в случае, если нет подтипов.
  • select_settings | связанный список | дополнительный | Список дополнительных настроек в виде пар значений, разделенных точкой, для ограничения набора выборки, установленной атрибутивным запросом и предварительным выбором.

    Связанная надписьТип значенияОписание значенияОбязательные или дополнительные
    "SSET"

    Объект набора выборки AutoCAD

    Объект набора выборки AutoLISP . Функцию AutoCAD AutoLISP (ssget) можно использовать, чтобы предложить пользователю выбрать элементы для этой функции. Если набор выборки не указан, все объекты векторного слоя указанного подтипа будут включены в возвращенный набор выборки, как и все наборы выборки AutoCAD. Рекомендуется освобождать ресурсы, используемые всеми наборами выборки, после их использования. Для этого установите наборы выборки на nil после использования.

    Дополнительный

    "ATTRIBUTEQUERY"

    string

    Условие where с одним именем поля для ограничения возвращаемого значения этого поля. Если также указано значение flname, имя поля, включенное в строку условие WHERE, должно существовать в этом определении класса объектов.

    Дополнительный

Примечание:

Не рекомендуется пытаться управлять большим количеством наборов выборки одновременно. В приложении не может одновременно быть открыто более 128 наборов выборки. (В вашей системе этот предел может быть ниже.) При достижении предела дополнительные наборы выборки создаваться не будут AutoCAD. Одновременно открывайте минимальное количество наборов и устанавливайте ненужные наборы выборки на nil как можно скорее. Если будет достигнуто максимальное количество наборов выборки, вы не сможете создать больше.

Пример использования 1

В этом примере создается набор выборки для всех объектов, принадлежащих векторному слою Shelters в текущем чертеже:

(esri_featurelayer_select "Shelters" "")

Пример использования результата 1

Возвратится набор выборки всех объектов, принадлежащих к векторному слою Shelters:

<Selection set: 2e>

Пример использования 2

В этом примере создается набор выборки всех элементов, принадлежащих подтипу 1 векторного слоя Shelters текущего чертежа, если значения поля capacity превышают 400:

(esri_featurelayer_select "Shelters" "1"
  (list (cons "ATTRIBUTEQUERY" "capacity > 400"))
)

Пример использования результата 2

Возвращается набор выборки для всех элементов, принадлежащих подтипу 1 векторного слоя Shelters в текущем чертеже, для которых значения поля capacity больше 400:

<Selection set: 30>

Возвращаемые значения

Ниже перечислены возможные возвращаемые значения:

  • В случае успеха возвращается объект набора выборки AutoCAD.
  • В случае неудачи, возвращает список с первым значением nil, а затем связанный список, содержащий значение ключа "Error" и соответствующее сообщение об ошибке в виде строки: (nil ( "Error" . "<message>"))

Не удалось возвратить значения

Неудачное возвращение значения может произойти по любой из следующих причин:

  • (nil ("Error" . "Missing required argument."))

    Не указан один или несколько обязательных аргументов.

  • (nil ("Error" . "Feature layer not found."))

    Обязательное значение векторного слоя недопустимо или отсутствует.

  • (nil ("Error" . "Sublayer not found."))

    Обязательное имя subtype не допустимо или отсутствует.

См. также

esri_featurelayer_selectspecial