Vla-get-lowerleftcorner

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年2月22日 (月) 17:49時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-get-lowerleftcorner 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_LowerLeftCorner()
    ;; ビューポートを作成してから 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 lowerLeft (vlax-safearray->list (vlax-variant-value (vla-get-LowerLeftCorner entry))))
        (alert (strcat "このビューポートの左下点は " (rtos (nth 0 lowerLeft) 2) ", " (rtos (nth 1 lowerLeft) 2)))
        (vla-put-GridOn entry :vlax-false)
    )
)

関連事項