Skip To Content

esri_webfeaturelayer _downloadAttachment (AutoLISP)

この関数は、サポート対象 Web フィーチャ レイヤーの指定されたフィーチャから指定されたアタッチメント ファイルをダウンロードします。

構文

(esri_webfeaturelayer_downloadAttachment flname ename attachmentName filepath [overwrite])

引数

  • flname | 文字列 | 必須 | ドローイングに含まれる既存の Web フィーチャ レイヤー名。
  • ename | エンティティ名 | 必須 | アタッチメントをダウンロードするフィーチャの AutoCAD エンティティ名。
  • attachmentName | 文字列 | 必須 | ダウンロードするアタッチメントのファイル名。
  • filepath | 文字列 | 必須 | ダウンロードするファイルの保存先ファイル パス。
  • overwrite | true / false | オプション | 指定したファイル パスにある既存ファイルを上書きするかどうかを指定します。 true (T) の場合はファイルが上書きされます。 false (nil) の場合は同じ名前の既存ファイルが上書きされません。

使用例 1

"Damage_to_Residential_Buildings" という名前の Web フィーチャ レイヤーからエンティティを選択するようユーザーに求め、"AutoCAD_drawingFiles.zip" という名前のアタッチメント ファイルを "C:\\CADWork\\Attachments\\Updated_Drawings.zip" という名前のファイルにダウンロードすることを試行します。

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "Damage_to_Residential_Buildings" 
  ename 
  "AutoCAD_drawingFiles.zip" 
  "C:\\CADwork\\Attachments\\Updated_Drawings.zip"
)

使用例の結果 1

指定したパスに AutoCAD_drawings.zip ファイルがダウンロードされます。 C:\\CADWork\\Attachments\\Updated_Drawings.zip と関数は以下を返します。

(T)

使用例 2

"shelters" という名前の Web フィーチャ レイヤーからエンティティを選択するようユーザーに求め、"LandSurface.xml" という名前のアタッチメント ファイルを "C:\\CADWork\\Attachments\\LandSurface.xml" という名前のファイル (レイヤーでアタッチメントがサポートされていない) にダウンロードすることを試行します。

(setq ename (car (entsel)))
(esri_webfeaturelayer_downloadAttachment 
  "shelters" 
  ename
  "LandSurface.xml" 
  "C:\\CADwork\\Attachments\\LandSurface.xml"
)

使用例の結果 2

LandSurface.xml ファイルはダウンロードされず、以下が返されます。

(nil ("Error" . "Layer does not support attachments"))

戻り値

  • 正常に実行された場合、true の値を含むリスト (T) が返されます。
  • 実行に失敗した場合、nil の最初の値を含むリスト、キー値 "Error" を含む関連リスト、文字列としての関連エラー メッセージ (nil ( "Error" . "<message>")) が順番に返されます。

失敗の戻り値が返された理由として、次のようなことが考えられます。

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

    4 つの必須引数のいずれかが指定されていません。

  • (nil ("Error" . "No features found."))

    指定したエンティティは指定した Web フィーチャ レイヤーのフィーチャではありません。

  • (nil ("Error" . "Web feature layer not found."))

    指定された Web フィーチャ レイヤーの値はドローイングの有効な Web フィーチャ レイヤーではありません。

  • (nil ("Error" . "No attachments found on the selected feature."))

    選択したフィーチャにはアタッチメントがありません。

  • (nil ("Error" . "No connected web feature layers found."))

    Web フィーチャ レイヤーへのネットワーク接続が切断されました。

  • (nil ("Error" . "'TargetAttachmentName' does not exist on the selected feature."))

    指定された attachmentName が指定されたフィーチャのアタッチメントとして存在していません。

  • (nil ("Error" . "Layer does not support attachments"))

    指定された Web フィーチャ レイヤーはアタッチメントをサポートしていません。

  • (nil ("Error" . "Enable overwrite to remove existing file"))

    指定されたディレクトリにファイル名が存在します。 既存ファイルの上書きを許可するには上書きオプションを使用してください。

  • (nil ("Error" . "Could not find a part of the path 'C:\\CADwork\\AttachmentsFiles'."))

    指定した downloadPath で指定した引数を確認してください。

  • (nil ("Error" . "Access to the path <downloadPath> is denied."))

    C:\..\\AutoCAD\\.. のルートなどのパスを指定したか、CAD ユーザーにフォルダーへのアクセス権がない場合。


このトピックの内容
  1. 構文
  2. 引数
  3. 使用例 1
  4. 使用例 2
  5. 戻り値