此函数将返回按来自工程图的指定要素图层和可选子类型过滤的 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 名称无效或缺失。