Specifies the snap base point for the viewport.
Supported platforms: Windows only
VBA:
object.SnapBasePoint
Read-only: No
Type: Variant (two-element array of doubles)
A 2D WCS coordinate representing the snap base point for the viewport.
You cannot change the snap base point for the active paper space viewport.
Changes to this property are not reflected in the display until a call to either the Update or Regen method is performed.
VBA:
Sub Example_SnapBasePoint() ' This example changes the snap base point for a ' model space and paper space viewport. ' Create a new model space viewport Dim viewportObj As AcadViewport Set viewportObj = ThisDrawing.Viewports.Add("NewViewport") ' Find the current snap base point Dim currSnapPnt As Variant currSnapPnt = viewportObj.SnapBasePoint MsgBox "The current model space snap base point is " & viewportObj.SnapBasePoint(0) & ", " & viewportObj.SnapBasePoint(1), , "SnapBasePoint Example" ' Change the snap base point Dim newSnapPnt(0 To 1) As Double newSnapPnt(0) = 5#: newSnapPnt(1) = 5# viewportObj.SnapBasePoint = newSnapPnt MsgBox "The new model space snap base point is " & viewportObj.SnapBasePoint(0) & ", " & viewportObj.SnapBasePoint(1), , "SnapBasePoint Example" ' Create a new paper space viewport Dim pviewportObj As AcadPViewport Dim center(0 To 2) As Double Dim width As Double Dim height As Double center(0) = 3: center(1) = 3: center(2) = 0 width = 40 height = 40 ThisDrawing.ActiveSpace = acPaperSpace Set pviewportObj = ThisDrawing.PaperSpace.AddPViewport(center, width, height) ' Find the current snap base point currSnapPnt = pviewportObj.SnapBasePoint MsgBox "The current paper space snap base point is " & pviewportObj.SnapBasePoint(0) & ", " & pviewportObj.SnapBasePoint(1), , "SnapBasePoint Example" ' Change the snap base point newSnapPnt(0) = 2#: newSnapPnt(1) = 2# pviewportObj.SnapBasePoint = newSnapPnt MsgBox "The new paper space snap base point is " & pviewportObj.SnapBasePoint(0) & ", " & pviewportObj.SnapBasePoint(1), , "SnapBasePoint Example" End Sub
Visual LISP:
(vl-load-com) (defun c:Example_SnapBasePoint() ;; This example changes the snap base point for a ;; model space and paper space viewport. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Create a new model space viewport (setq viewportObj (vla-Add (vla-get-Viewports doc) "NewViewport")) ;; Find the current snap base point (setq currSnapPnt (vlax-variant-value (vla-get-SnapBasePoint viewportObj))) (alert (strcat "The current model space snap base point is " (rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", " (rtos (vlax-safearray-get-element currSnapPnt 1) 2))) ;; Change the snap base point (setq newSnapPnt (vlax-make-safearray vlax-vbDouble '(0 . 1))) (vlax-safearray-fill newSnapPnt '(5 5)) (vla-put-SnapBasePoint viewportObj newSnapPnt) (alert (strcat "The new model space snap base point is " (rtos (vlax-safearray-get-element newSnapPnt 0) 2) ", " (rtos (vlax-safearray-get-element newSnapPnt 1) 2))) ;; Create a new paper space viewport (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)) ;; Find the current snap base point (setq currSnapPnt (vlax-variant-value (vla-get-SnapBasePoint pviewportObj))) (alert (strcat "The current paper space snap base point is " (rtos (vlax-safearray-get-element currSnapPnt 0) 2) ", " (rtos (vlax-safearray-get-element currSnapPnt 1) 2))) ;; Change the snap base point (setq newSnapPnt (vlax-make-safearray vlax-vbDouble '(0 . 1))) (vlax-safearray-fill newSnapPnt '(2 2)) (vla-put-SnapBasePoint pviewportObj newSnapPnt) (alert (strcat "The new paper space snap base point is " (rtos (vlax-safearray-get-element newSnapPnt 0) 2) ", " (rtos (vlax-safearray-get-element newSnapPnt 1) 2))) )