Vla-getsubentity32

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月25日 (月) 17:01時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-getsubentity32 ''vla-object'' ''Object '' ''PickedPoint '' ''TransMatrix '' ''ContextData '' ''Prompt '' ) ; 機能 : 64ビットシステ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-getsubentity32 vla-object Object PickedPoint TransMatrix ContextData Prompt )


機能
64ビットシステムで、対話形式でオブジェクトまたはサブ図形を取得する。 (旧式)
  • 64bit 移行期の関数。vla-getsubentity と同じ


引数
  • vla-object … Utility の VLAオブジェクト
  • Object … 選択したオブジェクトまたはサブ図形。図形オブジェクトのいずれかとすることができる。
  • PickedPoint … 選択した点を指定する 3D WCS 座標。
  • TransMatrix … この図形に適用される変換マトリックス。
  • ContextData … 選択したオブジェクトにネストされたオブジェクトすべてのオブジェクト ID の配列。
  • Prompt … ユーザに入力を求めるときに表示される文字列。


戻り値
nil


* MEMO : このメソッドは、グラフィックス画面上の点をクリックすることで、CAD ユーザにオブジェクトの選択を要求する。図形またはサブ図形がクリックされた場合、その図形は最初のパラメータに戻され、2 番目のパラメータには WCS 座標内のクリックした点を含んでいる。図形にクリックする点がない場合、メソッドは失敗する。

  • このメソッドは、たとえ画面が見えない場合やフリーズされている画層の場合でも図形を検索することができる。


サンプル
(vl-load-com)
(defun c:Example_GetSubEntity()
    ;; マウスのクリックで画面上のオブジェクトの選択をユーザーに確認し、
    ;; 選択したオブジェクトに関する情報を返すサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;;選択図形の情報を取得
    (vla-GetSubEntity (vla-get-Utility doc) 'Object 'PickedPoint 'TransMatrix 'ContextData "サブエンティティを選択 : ")
    
    ;; 選択したオブジェクトのプロパティを表示します。
    (if (/= ContextData nil)
        (setq HasContextData " あり ")
        (setq HasContextData " なし ")
    )
    
    (alert (strcat "The object you chose was an: " (vla-get-ObjectName Object)
                   "\nあなたがクリックした点は: " (rtos (vlax-safearray-get-element PickedPoint 0) 2) ", "
                                                  (rtos (vlax-safearray-get-element PickedPoint 1) 2) ", "
	                                          (rtos (vlax-safearray-get-element PickedPoint 2) 2)
                   "\nこの図形にはネスト図形が " HasContextData " でした。"))
)

関連事項