ビューポートのスナップ間隔を設定します。
サポートされているプラットフォーム: Windows のみ
VBA:
object.SetSnapSpacing XSpacing, YSpacing
戻り値はありません。
X と Y の間隔の初期値は 1.0000 です。
この設定は、システム変数 SNAPUNIT でもコントロールできます。
VBA:
Sub Example_SetSnapSpacing()
' This example finds the current Snap spacing and changes it.
' Find the current active viewport
Dim viewportObj As AcadViewport
Set viewportObj = ThisDrawing.ActiveViewport
' Turn on Snap mode and reset the viewport.
viewportObj.SnapOn = True
ThisDrawing.ActiveViewport = viewportObj
' Find the current Snap spacing
Dim XSpacing As Double
Dim YSpacing As Double
viewportObj.GetSnapSpacing XSpacing, YSpacing
MsgBox "X =" & XSpacing & ", Y =" & YSpacing, Title:="SetSnapSpacing Example"
' Change the Snap spacing
XSpacing = XSpacing * 0.5
YSpacing = YSpacing * 0.5
viewportObj.SetSnapSpacing XSpacing, YSpacing
ThisDrawing.ActiveViewport = viewportObj
MsgBox "X =" & XSpacing & ", Y =" & YSpacing, Title:="SetSnapSpacing Example"
End Sub
Visual LISP:
(vl-load-com)
(defun c:Example_SetSnapSpacing()
;; This example finds the current Snap spacing, and changes that spacing.
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; Find the current active viewport
(setq viewportObj (vla-get-ActiveViewport doc))
;; Turn on Snap spacing and reset the viewport.
(vla-put-SnapOn viewportObj :vlax-true)
(vla-put-ActiveViewport doc viewportObj)
;; Find the current Snap spacing
(vla-GetSnapSpacing viewportObj 'XSpacing 'YSpacing)
(alert (strcat "X =" (rtos XSpacing 2) ", Y =" (rtos YSpacing 2)))
;; Change the Snap spacing
(vla-SetSnapSpacing viewportObj (* XSpacing 0.5) (* YSpacing 0.5))
(vla-put-ActiveViewport doc viewportObj)
(vla-GetSnapSpacing viewportObj 'XSpacing 'YSpacing)
(alert (strcat "X =" (rtos XSpacing 2) ", Y =" (rtos YSpacing 2)))
)