Vla-put-snapbasepoint
- 構文
- (vla-put-snapbasepoint vla-object point )
- 機能
- ビューポートのスナップ基点を指定する。
- 引数
-
- vla-object … VLAオブジェクト(PViewport、Viewport)
- point … ビューポートのスナップ基点を表す 2D WCS 座標。
- 戻り値
- nil
- MEMO : アクティブなペーパー空間のビューポートに対して、スナップ基点を変更することはできない。
- このプロパティへの変更は、Update または Regen を実行するまで画面に反映されない。
- 注 : このプロパティの値は、システム変数 SNAPBASE に格納される。
- サンプル
(vl-load-com)
(defun c:Example_SnapBasePoint()
;; モデル空間とペーパー空間ビューポートのスナップ基点を変更するサンプル。
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; ビューポートを作成する
(setq viewportObj (vla-Add (vla-get-Viewports doc) "NewViewport"))
;; スナップ基点を設定
(setq currSnapPnt (vlax-variant-value (vla-get-SnapBasePoint viewportObj)))
(alert (strcat "現在のモデル空間スナップ基点は "
(rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", "
(rtos (vlax-safearray-get-element currSnapPnt 1) 2)))
;; 変更
(setq newSnapPnt (vlax-make-safearray vlax-vbDouble '(0 . 1)))
(vlax-safearray-fill newSnapPnt '(5 5))
(vla-put-SnapBasePoint viewportObj newSnapPnt)
(alert (strcat "現在のモデル空間スナップ基点は "
(rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", "
(rtos (vlax-safearray-get-element currSnapPnt 1) 2)))
;; ビューポートを作成
(setq center (vlax-3d-point 3 3 0)
width 40
height 40)
(vla-put-ActiveSpace doc acPaperSpace)
(setq paperSpace (vla-get-PaperSpace doc))
(setq pviewportObj (vla-AddPViewport paperSpace center width height))
;; ビューポートを作成
(setq currSnapPnt (vlax-variant-value (vla-get-SnapBasePoint pviewportObj)))
(alert (strcat "新しいモデル空間スナップイン ベース ポイントは "
(rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", "
(rtos (vlax-safearray-get-element currSnapPnt 1) 2)))
;; 変更
(setq newSnapPnt (vlax-make-safearray vlax-vbDouble '(0 . 1)))
(vlax-safearray-fill newSnapPnt '(2 2))
(vla-put-SnapBasePoint pviewportObj newSnapPnt)
(alert (strcat "現在のモデル空間スナップ基点は "
(rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", "
(rtos (vlax-safearray-get-element currSnapPnt 1) 2)))
)
関連事項