Vla-getcorner

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月25日 (月) 13:31時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-getcorner ''vla-object'' ''Point '' ''Prompt '' ) ; 機能 : 矩形のコーナーを取得する。 ; 引数 :* vla-object … Utility...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-getcorner vla-object Point Prompt )


機能
矩形のコーナーを取得する。


引数
  • vla-object … Utility の VLAオブジェクト
  • Point … 矩形の基点を指定する 3D WCS 座標。
  • Prompt … ユーザに入力を求めるときに表示される文字列。


戻り値
矩形のコーナーを示す 3D WCS 座標


  • MEMO : CAD はユーザが矩形のコーナーを入力するのを待って、選択された点の値に対する戻り値を設定する。パラメータ Point は、3D WCS 座標での矩形の基点を指定する。このパラメータは必ず設定すること。パラメータ Prompt は、ユーザ入力を求める際に CAD が表示する文字列を指定する。Prompt はオプション。
  • CAD ユーザは、WCS 座標形式で点を入力して、コーナーを指定できます。GetCorner メソッドは、Point を 3 次元の点として処理します。また、グラフィックス画面上の位置を指定して、コーナーを指定することもできますAutoCAD は、第 2 のコーナーの位置を視覚的に確認できるように、Point から現在のクロスヘア カーソルの位置まで動的にサイズ変更された矩形を描きます。矩形は、WCS の XY 平面に描かれます。ポインティング デバイスを使用すると、GetCorner では Point の Z フィールドは無視され、実行結果の Z フィールドには現在の高度が設定されます。
  • AutoLISP だと、getcorner 関数があるので、そっちも使える。


サンプル
(vl-load-com)
(defun c:Example_GetCorner()
    ;; コーナーを指示して矩形を作図するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; ユーザに句形範囲を指示させる
    (setq basePnt (vlax-3d-point 2 2 0))
    (setq returnPnt (vla-GetCorner (vla-get-Utility doc) basePnt "矩形範囲を指示 : "))
    
    ;; 支持点を表示
    (setq returnPnt (vlax-safearray->list (vlax-variant-value returnPnt)))
    (alert (strcat "指示された範囲は " (rtos (nth 0 returnPnt) 2) ", " (rtos (nth 1 returnPnt) 2) ", " (rtos (nth 2 returnPnt) 2)))
)

関連事項