Skip To Content

esri_featurelayer_select (AutoLISP)

此函数将返回按来自工程图的指定要素图层和可选子类型过滤的 AutoCAD 选择集和(可选)指定选择集。 该函数类似于选择要素工具的对象选项,该工具位于 Esri 内容窗格的 Web 要素图层或文档要素图层的快捷菜单上。

语法

(esri_featurelayer_select flname subtype [select_settings])

参数

  • flname | 字符串 | 必填 | 工程图中现有 web 要素图层或文档要素图层名称。
  • subtype | 字符串 | 必填 | 要素图层的子类型名称;对于所有子类型或者如果没有任何子类型,则为空字符串 ""。
  • select_settings | 关联列表 | 可选 | 以点对形式显示的可选设置列表,用于通过属性查询和预选限制选择集。

    相关标注值类型值描述必填或可选
    "SSET"

    AutoCAD 选择集对象

    AutoLISP 选择集对象。 AutoCAD AutoLISP 函数 (ssget) 可用于提示用户为此函数选择实体。 如果省略了选择集,则指定子类型的要素图层的所有要素将包含在返回的选择集中,所有 AutoCAD 选择集也是如此。 建议在使用用于所有选择集的资源后将其释放。 要执行此操作,可在使用后将选择集设置为 nil

    可选

    "ATTRIBUTEQUERY"

    字符串

    使用单个字段名称将返回值限制为该字段的 where 子句。 如果还提供了 flname,则 where 子句字符串中包含的字段名称必须存在于该要素类定义中。

    可选

示例用法 1

尝试为当前工程图中属于 Shelters 要素图层的所有实体创建选择集:

(esri_featurelayer_select "Shelters" "")

结果示例用法 1

将返回属于 Shelters 要素图层的所有实体的选择集:

<Selection set: 2e>

示例用法 2

尝试在 capacity 字段值大于 400 的当前工程图中为属于 Shelters 要素图层子类型 1 的所有实体创建选择集:

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

结果示例用法 2

返回 capacity 字段值大于 400 的当前工程图中属于 Shelters 要素图层子类型 1 的所有实体的选择集:

<Selection set: 30>

返回值

  • 如果成功,则返回 AutoCAD 选择集对象。
  • 如果失败,则该函数将返回一个列表,其中第一个值为 nil,然后是一个包含键值 "Error" 的关联列表以及字符串形式的关联错误消息:(nil ( "Error" . "<message>"))

失败的返回值

出于以下任一原因,可能出现失败的返回值:

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

    未提供一个或多个必填参数。

  • (nil ("Error" . "No feature layer specified."))

    必填要素图层值无效或缺失。

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

    必填 subtype 名称无效或缺失。

另请参阅

(esri_featurelayer_selectspecial)