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)))
)