Vla-put-target

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月10日 (水) 23:15時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-target ''vla-object'' ''point '' ) ; 機能 : ビューまたはビューポートの目標点を指定する。 ; 引数 :* vla-obj...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-put-target vla-object point )


機能
ビューまたはビューポートの目標点を指定する。


引数
  • vla-object … VLAオブジェクト(PViewport、View、Viewport)
  • point … 目標点を表す 3D WCS 座標


戻り値
nil


  • MEMO:中心から目標点まで視線が描かれる。


サンプル
(vl-load-com)
(defun c:Example_Target()
    ;; ビューポートを作成して、ターゲットを変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))

    ;; ビューポートを作成
    (setq viewportObj (vla-Add (vla-get-Viewports doc) "NewViewport"))
    
    ;; 円を作成
    (setq center (vlax-3d-point 0 0 0)
          radius 1)

    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq circleObj (vla-AddCircle modelSpace center radius))
    
    ;; ターゲットを変更
    (setq currTarget (vlax-variant-value (vla-get-Target viewportObj)))
    (alert (strcat "現在のターゲットは " 
                   (rtos (vlax-safearray-get-element currTarget 0) 2) ", "
                   (rtos (vlax-safearray-get-element currTarget 1) 2) ", "
                   (rtos (vlax-safearray-get-element currTarget 2) 2)))
    
    ;; 変更
    (setq newTarget (vlax-3d-point 2 2 0))
    (vla-put-Target viewportObj newTarget)
    (vla-put-ActiveViewport doc viewportObj)
    (vla-Regen doc acAllViewports)

    (setq currTarget (vlax-variant-value (vla-get-Target viewportObj)))
    (alert (strcat "新しいターゲットは " 
                   (rtos (vlax-safearray-get-element currTarget 0) 2) ", "
                   (rtos (vlax-safearray-get-element currTarget 1) 2) ", "
                   (rtos (vlax-safearray-get-element currTarget 2) 2)))
)

関連事項