Vla-getkeyword

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月24日 (日) 23:10時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-getkeyword ''vla-object'' '''' '''' '''' ) ; 機能 : ユーザからキーワード文字列を取得する。 ; 引数 :* vla-object...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-getkeyword vla-object ' ' ' )


機能
ユーザからキーワード文字列を取得する。


引数
  • vla-object … Utility の VLAオブジェクト
  • Prompt … ユーザに入力を求めるときに表示される文字列。


戻り値
nil


  • MEMO : CAD は、ユーザがキーワードを入力するのを待って、入力されたキーワードを戻り値を設定する。パラメータ Prompt は、ユーザ入力を求める際に CAD が表示する文字列を指定する。Prompt はオプション。戻り値の最大長は、511 文字。
  • ユーザは、キーボードからキーワードを入力する。このメソッドが受け取るキーワードのリストは、あらかじめ InitializeUserInput メソッドを呼び出して設定しておく。
  • InitializeUserInput メソッドの呼び出し時に指定されなかった文字列をユーザが入力した場合、エラー メッセージが表示され、やり直しを求める(プロンプト文字列が指定されている場合には、それを再び表示する)。ユーザがただ [Enter] を押しただけの場合は、InitializeUserInput メソッドの呼び出しで、NULL 入力が認められていない場合を除いて、GetKeyword メソッドは空の文字列(" ")を返す。


サンプル
(vl-load-com)
(defun c:Example_GetKeyword()
    ;; Getkeyword を使用して、ユーザーが入力したキーワードを返す。
    ;; InitializeUserInput は、有効なキーワードを設定する。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; キーワードの設定
    (setq kwordList "Width Height Depth")
    (vla-InitializeUserInput (vla-get-Utility doc) 1 kwordList)

    ;; 任意のキーワードを入力するユーザーに確認する。ユーザーが"W"、"H"または"D"を入力するかどうかに応じて、
    ;; 「幅」、「高さ」または returnString 変数の「深さ」を返す。
    (setq returnString (vla-GetKeyword (vla-get-Utility doc) "\nキーワードを入力 [Height/Width/Depth]: "))
    (alert (strcat "お前の入力は " returnString))
)

関連事項