ビューポートのスナップ間隔を設定します。
サポートされているプラットフォーム: 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))) )