Vla-get-upperrightcorner

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月22日 (月) 17:49時点におけるGizmon (トーク | 投稿記録)による版 (ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-upperrightcorner ''vla-object'' '''' '''' ) ; 機能 : 現在アクティブなビューポートの右上のコーナーを取得す...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-upperrightcorner vla-object ' ' )


機能
現在アクティブなビューポートの右上のコーナーを取得する。


引数
  • vla-object … ViewportのVLAオブジェクト


戻り値
現在のアクティブ ビューポートの右上コーナーを示す 2D 座標


  • MEMO:LowerLeftCorner プロパティと UpperRightCorner プロパティは、画面上でビューポートのグラフィックスの位置を示する。これらのプロパティは次のように定義される。
  • ビューポート 1: LowerLeftCorner = (0, .5), UpperRightCorner = (.5, 1)
  • ビューポート 2: LowerLeftCorner = (.5, .5), UpperRightCorner = (1, 1)
  • ビューポート 3: LowerLeftCorner = (0, 0), UpperRightCorner = (.5, .5)
  • ビューポート 4: LowerLeftCorner = (.5, 0), UpperRightCorner = (1, .5)


サンプル
(vl-load-com)
(defun c:Example_upperrightcorner()
    ;; ビューポートを作成してから 4 つの窓にビューポートを分割し、
    ;; それぞれのウィンドウの右上隅を取得するサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
       
    ;; ビューポートを作成
    (setq newViewport (vla-Add (vla-get-Viewports doc) "TESTVIEWPORT"))
    (vla-put-ActiveViewport doc newViewport)
    
    ;; ビューポートを分割
    (vla-Split newViewport acViewport4)
    
    ;; 新しく分割するビューポートをアクティブ
    (vla-put-ActiveViewport doc newViewport)
    
    ;; ビューポートを反復処理。
    ;; ビューポートごとにそのビューポートをアクティブにして、左下隅の座標を表示します。
    (vlax-for entry (vla-get-Viewports doc)
        (vla-put-GridOn entry :vlax-true)
        (vla-put-ActiveViewport doc entry)
        (setq upperright (vlax-safearray->list (vlax-variant-value (vla-get-upperrightcorner entry))))
        (alert (strcat "このビューポートの右上点は " (rtos (nth 0 upperright) 2) ", " (rtos (nth 1 upperright) 2)))
        (vla-put-GridOn entry :vlax-false)
    )
)

関連事項