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))) )
関連事項