esri_featurelayer_select 関数は、ドローイングおよび必要に応じて指定した選択セットから指定したフィーチャとオプションのサブタイプによってフィルター処理された AutoCAD 選択セットを返します。 この関数は、[コンテンツ] ウィンドウの Web フィーチャ レイヤーまたはドキュメント フィーチャ レイヤーのショートカット メニューにある [フィーチャの選択] ツールの [オブジェクト] オプションに類似しています。
構文
(esri_featurelayer_select flname subtype [select_settings])
引数
- flname | 文字列 | 必須 | ドローイングに含まれる既存の Web フィーチャ レイヤー名またはドキュメント フィーチャ レイヤー名。
- subtype | 文字列 | 必須 | フィーチャ レイヤーのサブタイプ名。すべてのサブタイプ、またはサブタイプなしの場合は空の文字列 ""。
- 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
この例では、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."))
1 つ以上の必須引数が指定されていません。
- (nil ("Error" . "Feature layer not found."))
必須のフィーチャ レイヤー値が無効か不足しています。
- (nil ("Error" . "Sublayer not found."))
必須の subtype 名が無効か不足しています。